R 中的 GLM 是使用 Fisher Scoring 估计的。想到了多类别 logit 的两种方法:比例优势模型和对数线性模型或多项回归。
比例赔率模型是一种特殊类型的累积链接模型,在MASS 包中实现。它不是用 Fisher 评分估计的,因此默认的 glm.fit work-horse 将无法估计这样的模型。然而,有趣的是,累积链接模型是 GLM,并且在 McCullogh 和 Nelder 的同名文本中进行了讨论。负二项式 GLM 也存在类似问题:它们是严格意义上的链接函数和概率模型的 GLM,但需要专门的估计例程。至于 R 函数 glm,不应将其视为每种 GLM 的详尽估计器。
nnet 有一个对数线性模型估计器的实现。它符合他们使用 soft-max entropy 的更复杂的神经网络估计器,这是一个等效的公式(有理论可以证明这一点)。事实证明,如果您愿意,可以估计默认 R 中 glm 的对数线性模型。关键在于看到逻辑回归和泊松回归之间的联系。将计数模型的交互项(对数相对率的差异)识别为结果的逻辑模型中的一阶项(对数优势比),您可以通过在边缘上“调节”来估计相同的参数和相同的 SE用于多类别结果的 $K \times 2$ 列联表。 A related SE question on that background is here
以使用 MASS 包中的 VA 肺癌数据为例:
> summary(multinom(cell ~ factor(treat), data=VA))
# weights: 12 (6 variable)
initial value 189.922327
iter 10 value 182.240520
final value 182.240516
converged
Call:
multinom(formula = cell ~ factor(treat), data = VA)
Coefficients:
(Intercept) factor(treat)2
2 6.931413e-01 -0.7985009
3 -5.108233e-01 0.4054654
4 -9.538147e-06 -0.5108138
Std. Errors:
(Intercept) factor(treat)2
2 0.3162274 0.4533822
3 0.4216358 0.5322897
4 0.3651485 0.5163978
Residual Deviance: 364.481
AIC: 376.481
相比:
> VA.tab <- table(VA[, c('cell', 'treat')])
> summary(glm(Freq ~ cell * treat, data=VA.tab, family=poisson))
Call:
glm(formula = Freq ~ cell * treat, family = poisson, data = VA.tab)
Deviance Residuals:
[1] 0 0 0 0 0 0 0 0
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) 2.708e+00 2.582e-01 10.488 <2e-16 ***
cell2 6.931e-01 3.162e-01 2.192 0.0284 *
cell3 -5.108e-01 4.216e-01 -1.212 0.2257
cell4 -1.571e-15 3.651e-01 0.000 1.0000
treat2 2.877e-01 3.416e-01 0.842 0.3996
cell2:treat2 -7.985e-01 4.534e-01 -1.761 0.0782 .
cell3:treat2 4.055e-01 5.323e-01 0.762 0.4462
cell4:treat2 -5.108e-01 5.164e-01 -0.989 0.3226
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Dispersion parameter for poisson family taken to be 1)
Null deviance: 1.5371e+01 on 7 degrees of freedom
Residual deviance: 4.4409e-15 on 0 degrees of freedom
AIC: 53.066
Number of Fisher Scoring iterations: 3
将第一个模型中的交互参数和主要级别与第二个模型进行比较。也比较截距。 AIC 是不同的,因为对数线性模型是一个概率模型,即使是表格的边缘也受模型中其他参数的影响,但在预测和推理方面,这两种方法产生相同的结果。
简而言之,技巧问题! glm 处理多类别逻辑回归,它只需要对这些模型的构成有更深入的了解。