Una posible explicación serían las no linealidades en la relación entre su resultado y el predictor.
Aquí hay un pequeño ejemplo. Utilizamos un predictor que es uniforme en [−1,1] . Sin embargo, el resultado no depende linealmente del predictor, sino del cuadrado del predictor: VERDADERO es más probable tanto para x≈−1 como para x ≈ 1 , pero menos probable para x ≈ 0 . En este caso, un modelo lineal resultará insignificante, pero cortar el predictor en intervalos lo hace significativo.
> 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
Sin embargo, esto no significa que discretizar el predictor sea el mejor enfoque. (Casi nunca lo es). Mucho mejor modelar la no linealidad utilizando splines o similares.