可以使用广义线性模型估计多项模型吗?

时间:2017-02-07 16:50:47

标签: r logistic-regression glm

在对分类数据进行分析时,我们经常使用逻辑回归来估计二项式结果与一个或多个协变量之间的关系。

我知道这是一种广义线性模型(GLM)。在R中,这是使用glm函数使用参数family=binomial实现的。另一方面,在分类数据分析中是多项式模型。这些不是GLM吗?并且无法使用glm函数在R中估算它们吗?

(在此post for Multinomial Logistic Regression。作者使用外部包mlogit,似乎也过时了)

为什么GLM类限于二分类结果?是因为多类分类可以被视为多个二元分类模型吗?

1 个答案:

答案 0 :(得分:17)

R中的GLM用Fisher评分估算。我想到了两种多类别logit的方法:比例赔率模型和对数线性模型或多项回归。

比例赔率模型是一种特殊类型的累积链接模型,在MASS包中实现。这不是用Fisher评分来估算的,因此默认的glm.fit工作马将无法估计这样的模型。然而,有趣的是,累积链接模型 GLM,并且在McCullogh和Nelder的同名文本中进行了讨论。在负二项GLM中发现了类似的问题:它们是严格意义上的链接函数GLM和概率模型,但需要专门的估计程序。就R函数glm而言,不应将其视为每种类型GLM的详尽估算。

nnet具有对数线性模型估计器的实现。它符合使用软 - 最大熵的更复杂的神经网络估计,这是一个等价的公式(理论就是为了表明这一点)。事实证明,如果你热衷于可以估计默认R为glm的对数线性模型。关键在于看到后勤和泊松回归之间的联系。认识到计数模型的相互作用项(对数相对速率的差异)作为结果的逻辑模型中的一阶项(对数优势比),您可以通过"调节&#估计相同的参数和相同的SE。 34;在多类别结果的$ 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处理多类别逻辑回归,只需要更好地理解这些模型的构成。