hxd*_*011 12 r glm logistic-regression
在分类数据的分析中,我们经常使用逻辑回归来估计二项式结果与一个或多个协变量之间的关系.
我知道这是一种广义线性模型(GLM).在R中,这是glm
使用参数的函数实现的family=binomial
.另一方面,在分类数据分析中是多项式模型.这些不是GLM吗?并且不能用R glm
函数估计它们吗?
(在这篇关于多项Logistic回归的文章中.作者使用外部包mlogit
,看起来也过时了)
为什么GLM类限于二分类结果?是因为多类分类可以被视为多个二元分类模型吗?
Ada*_*amO 18
R中的GLM用Fisher Scoring估算.我想到了两种多类别logit的方法:比例赔率模型和对数线性模型或多项回归.
比例赔率模型是一种特殊类型的累积链接模型,并在MASS
包中实现.用Fisher评分估算不到,所以默认的glm.fit
工作马不能估计这样的模型.然而有趣的是,累积链接模型是 GLM,并且由McCullogh和Nelder在同名文本中进行了讨论.在负二项GLM中发现了类似的问题:它们是严格意义上的链接函数GLM和概率模型,但需要专门的估计程序.就R函数而言glm
,不应将其视为每种类型GLM的详尽估计.
nnet
具有对数线性模型估计器的实现.它符合使用软 - 最大熵的更复杂的神经网络估计,这是一个等价的公式(理论就是为了表明这一点).事实证明,如果你热衷的话,可以使用默认的R 来估计对数线性模型glm
.关键在于看到后勤和泊松回归之间的联系.认识到计数模型的相互作用项(对数相对速率的差异)作为结果的逻辑模型中的一阶项(对数比值比),您可以通过边际上的"调节"来估计相同的参数和相同的SE $ K\times 2 $列联表中的多类别结果.这方面的相关SE问题就在这里
以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
Run Code Online (Sandbox Code Playgroud)
相比:
> 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
Run Code Online (Sandbox Code Playgroud)
比较交互参数和主要级别,以便在一个模型中处理第二个模型.比较截距.AIC是不同的,因为对数线性模型是甚至表的边缘的概率模型,其以模型中的其他参数为条件,但是在预测和推断方面,这两种方法产生相同的结果.
总之,技巧问题!glm
处理多类别逻辑回归,只需要更好地理解这些模型的构成.