我正在使用 R 运行一些逻辑回归。我的变量是连续的,但我使用 cut 来存储数据。这些变量的某些特定桶总是导致因变量等于 1。正如预期的那样,该桶的系数估计值非常高,但 p 值也很高。在这两个桶中大约有大约 90 个观测值,总共大约有 800 个观测值,所以我认为这不是样本量的问题。此外,该变量不应与其他变量相关,这自然会降低它们的 p 值。
对于高 p 值还有其他合理的解释吗?
例子:
myData <- read.csv("application.csv", header = TRUE)
myData$FICO <- cut(myData$FICO, c(0, 660, 680, 700, 720, 740, 780, Inf), right = FALSE)
myData$CLTV <- cut(myData$CLTV, c(0, 70, 80, 90, 95, 100, 125, Inf), right = FALSE)
fit <- glm(Denied ~ CLTV + FICO, data = myData, family=binomial())
结果是这样的:
Deviance Residuals:
Min 1Q Median 3Q Max
-1.53831 -0.77944 -0.62487 0.00027 2.09771
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -1.33630 0.23250 -5.747 9.06e-09 ***
CLTV(70,80] -0.54961 0.34864 -1.576 0.114930
CLTV(80,90] -0.51413 0.31230 -1.646 0.099715 .
CLTV(90,95] -0.74648 0.37221 -2.006 0.044904 *
CLTV(95,100] 0.38370 0.37709 1.018 0.308906
CLTV(100,125] -0.01554 0.25187 -0.062 0.950792
CLTV(125,Inf] 18.49557 443.55550 0.042 0.966739
FICO[0,660) 19.64884 3956.18034 0.005 0.996037
FICO[660,680) 1.77008 0.47653 3.715 0.000204 ***
FICO[680,700) 0.98575 0.30859 3.194 0.001402 **
FICO[700,720) 1.31767 0.27166 4.850 1.23e-06 ***
FICO[720,740) 0.62720 0.29819 2.103 0.035434 *
FICO[740,780) 0.31605 0.23369 1.352 0.176236
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 1037.43 on 810 degrees of freedom
Residual deviance: 803.88 on 798 degrees of freedom
AIC: 829.88
Number of Fisher Scoring iterations: 16
[0, 660) 范围内的 FICO 和 (125, Inf] 范围内的 CLTV 确实总是导致 Denial = 1,因此它们的系数非常大,但为什么它们也“无关紧要”?