对变量进行分类会将其从不重要变为重要

机器算法验证 回归 物流 统计学意义 多元分析
2022-01-30 19:57:41

我有一个数值变量,结果在多元逻辑回归模型中并不显着。但是,当我将其分类时,它突然变得很重要。这对我来说非常违反直觉:在对变量进行分类时,我们会放弃一些信息。

怎么会这样?

2个回答

一种可能的解释是您的结果与预测变量之间的关系存在非线性。

这是一个小例子。我们使用一致的预测器[1,1]. 然而,结果不是线性地取决于预测变量,而是取决于预测变量的平方:两者都更可能为真x1x1, 但不太可能x0. 在这种情况下,线性模型将变得无关紧要,但将预测变量切割成区间使其变得重要。

> 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

然而,这并不意味着离散化预测变量是最好的方法。(几乎从来没有。)使用建模非线性要好得多或类似的。

一种可能的方式是,如果关系明显是非线性的。无法判断(鉴于缺乏细节)这是否真的解释了正在发生的事情。

你可以自己检查。首先,您可以为变量本身添加变量图,还可以在模型的因子版本中绘制拟合效果。如果解释是正确的,那么两者都应该看到明显的非线性模式。