我有一个数值变量,该变量在多元逻辑回归模型中并不重要。但是,当我将其分类时,突然变得很重要。这对我来说是非常违反直觉的:对变量进行分类时,我们会给出一些信息。
怎么会这样?
我有一个数值变量,该变量在多元逻辑回归模型中并不重要。但是,当我将其分类时,突然变得很重要。这对我来说是非常违反直觉的:对变量进行分类时,我们会给出一些信息。
怎么会这样?
Answers:
一种可能的解释是结果与预测变量之间的非线性关系。
> 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
但是,这并不意味着离散化预测变量是最好的方法。(几乎从来没有。)使用样条曲线或类似方法对非线性建模要好得多。
一种可能的方式是关系是否明显是非线性的。鉴于缺乏细节,不可能说出这是否真的解释了正在发生的事情。
您可以自己检查。首先,您可以为变量本身添加一个变量图,也可以在模型的因子版本中绘制拟合的效果。如果解释正确,那么两者都应该看到明显的非线性模式。