Одне з можливих пояснень - нелінійності у взаємозв'язку між вашим результатом та прогноктором.
Ось невеликий приклад. Ми використовуємо предиктор, який є рівномірним на [−1,1] . Результат, однак, залежить не лінійно від прогноктора, а від площі прогноктора: ІСТИНА є більш імовірною для обох x ≈ - 1 і x ≈ 1 , але менш вірогідна для x ≈ 0 . У цьому випадку лінійна модель вийде незначною, але розрізання прогноктора на інтервали робить його значущим.
> set.seed(1)
> nn <- 1e3
> xx <- runif(nn,-1,1)
> yy <- runif(nn)<1/(1+exp(-xx^2))
>
> library(lmtest)
>
> model_0 <- glm(yy~1,family="binomial")
> model_1 <- glm(yy~xx,family="binomial")
> lrtest(model_1,model_0)
Likelihood ratio test
Model 1: yy ~ xx
Model 2: yy ~ 1
#Df LogLik Df Chisq Pr(>Chisq)
1 2 -676.72
2 1 -677.22 -1 0.9914 0.3194
>
> xx_cut <- cut(xx,c(-1,-0.3,0.3,1))
> model_2 <- glm(yy~xx_cut,family="binomial")
> lrtest(model_2,model_0)
Likelihood ratio test
Model 1: yy ~ xx_cut
Model 2: yy ~ 1
#Df LogLik Df Chisq Pr(>Chisq)
1 3 -673.65
2 1 -677.22 -2 7.1362 0.02821 *
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Однак це не означає, що розсуд передбачувача - найкращий підхід. (Це майже ніколи не буває.) Набагато краще моделювати нелінійність за допомогою сплайнів чи подібних.