当我简单地复制一个观察子集并使用扩展数据构建相同的逻辑回归模型时,协变量的系数会发生变化。如果我复制整个数据集,它们保持不变。
这让我很困惑,因为所有协变量都是分类的,所以当我复制一个子集时,我没有提供任何新信息。重复一组具有协变量组合的观察结果;结果没有改变。
例如,我修改了本教程中使用的 UCLA 逻辑回归数据集,并创建了一个所有协变量都是离散变量的数据集。这为我提供了您可以在此处看到的数据集(csv 文件)
当我对其进行逻辑回归时,我得到:
dff <- read.table('d:/temp/ucla-factored.csv',sep=',',header=TRUE)
dff$rank <- factor(dff$rank)
mylogit <- glm(admit ~ gre + gpa + rank, data = dff, family='binomial')
summary(mylogit)
Call:
glm(formula = admit ~ gre + gpa + rank, family = "binomial",
data = dff)
Deviance Residuals:
Min 1Q Median 3Q Max
-1.5149 -0.8971 -0.6672 1.1441 2.0587
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -0.7025 0.4144 -1.695 0.090046 .
gregre2 0.4024 0.3404 1.182 0.237190
gregre3 0.6130 0.3571 1.717 0.086038 .
gpagpa2 0.3115 0.3121 0.998 0.318350
gpagpa3 0.8551 0.3428 2.495 0.012609 *
rankrank2 -0.6866 0.3166 -2.169 0.030101 *
rankrank3 -1.3850 0.3439 -4.027 5.65e-05 ***
rankrank4 -1.6000 0.4170 -3.837 0.000124 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 499.98 on 399 degrees of freedom
Residual deviance: 459.80 on 392 degrees of freedom
AIC: 475.8
Number of Fisher Scoring iterations: 4
然后我选择 gpa 是 gpa2 的行并将它们复制并附加到数据集,在这里给我 csv 文件
使用此扩展数据集的逻辑回归给出:
dffbig <- read.table('d:/temp/ucla-factoredbig.csv',sep=',',header=TRUE)
dffbig$rank <- factor(dffbig$rank)
mylogitbig <- glm(admit ~ gre + gpa + rank, data = dffbig, family='binomial')
summary(mylogitbig)
Call:
glm(formula = admit ~ gre + gpa + rank, family = "binomial",
data = dffbig)
Deviance Residuals:
Min 1Q Median 3Q Max
-1.4775 -0.8931 -0.6533 1.1939 2.1207
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -0.8668 0.3786 -2.290 0.0220 *
gregre2 0.5278 0.2814 1.875 0.0607 .
gregre3 0.7013 0.2964 2.366 0.0180 *
gpagpa2 0.2992 0.2877 1.040 0.2985
gpagpa3 0.8481 0.3364 2.521 0.0117 *
rankrank2 -0.5478 0.2600 -2.107 0.0351 *
rankrank3 -1.3187 0.2873 -4.589 4.45e-06 ***
rankrank4 -1.5695 0.3460 -4.536 5.74e-06 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 727.61 on 587 degrees of freedom
Residual deviance: 672.97 on 580 degrees of freedom
AIC: 688.97
Number of Fisher Scoring iterations: 4
为什么?只要结果没有不同,为什么观察相同的模式会改变模型的估计参数?
背景:这与我仅使用现有逻辑回归模型创建合成数据集的努力有关。当所有变量都是分类变量时,我应该能够提出所有可能的输入组合并生成输入数据,但是当合成数据反馈到逻辑回归时,事情并没有按预期进行,因为逻辑回归似乎不仅仅包括离散变量组合的分布。