R 多项式模型可以用广义线性模型估计吗?
在分类数据分析中,我们经常使用逻辑回归来估计二项结果和一个或多个协变量之间的关系 我知道这是一种广义线性模型(GLM)。在R中,这是通过R 多项式模型可以用广义线性模型估计吗?,r,logistic-regression,glm,R,Logistic Regression,Glm,在分类数据分析中,我们经常使用逻辑回归来估计二项结果和一个或多个协变量之间的关系 我知道这是一种广义线性模型(GLM)。在R中,这是通过glm函数使用参数family=binomial实现的。另一方面,在分类数据分析中是多项式模型。这些不是GLM吗?难道不能用glm函数在R中估计它们吗 (在本文中,作者使用了一个外部包mlogit,它似乎也过时了) 为什么GLM类别仅限于二分法结果?是否因为多类分类可以被视为多个二元分类模型 用Fisher评分法估计R中的GLM。我们想到了两种多类别逻辑的方法:
glm
函数使用参数family=binomial
实现的。另一方面,在分类数据分析中是多项式模型。这些不是GLM吗?难道不能用glm
函数在R中估计它们吗
(在本文中,作者使用了一个外部包mlogit
,它似乎也过时了)
为什么GLM类别仅限于二分法结果?是否因为多类分类可以被视为多个二元分类模型 用Fisher评分法估计R中的GLM。我们想到了两种多类别逻辑的方法:比例优势模型和对数线性模型或多项式回归 比例赔率模型是一种特殊类型的累积链接模型,在
MASS
包中实现。它不是通过Fisher评分来估计的,因此默认的glm.fit
工作马将无法估计这样的模型。然而,有趣的是,累积链接模型是GLM,并由McCullogh和Nelder在同名文本中进行了讨论。负二项式GLM也存在类似的问题:它们是严格意义上的链接函数和概率模型的GLM,但需要专门的估计例程。对于R函数glm
,不应将其视为每种类型glm的穷举估计量
nnet
具有对数线性模型估计器的实现。它与他们使用软最大熵的更复杂的神经网络估计器相一致,软最大熵是一个等价的公式(理论证明了这一点)。事实证明,如果您愿意,您可以使用默认R中的glm
估计对数线性模型。关键在于看到逻辑回归和泊松回归之间的联系。将计数模型的交互项(对数相对比率的差异)视为结果(对数优势比)的逻辑模型中的一阶项,您可以通过对多类别结果的$K\times 2$列联表的边缘进行“条件化”来估计相同的参数和相同的SEs
以以下使用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
>VA.tab摘要(glm(频率~cell*treat,数据=VA.tab,族=poisson))
电话:
glm(公式=频率~单元*treat,族=泊松,数据=VA.tab)
偏差残差:
[1] 0 0 0 0 0 0 0 0
系数:
估计标准误差z值Pr(>z)
(截取)2.708e+00 2.582e-01 10.488关于R如何工作、某些函数为什么存在以及其他函数为什么不存在等问题在这里不属于主题。请注意,因为这不是一个编程问题,它也会脱离主题,不应该迁移到那里。(事实上,鉴于下面@AdamO的出色回答,其中包含大量统计内容,我正在考虑撤回我的投票。)@gung我建议对该问题进行编辑,使其更加相关。这很好,@AdamO,但OP最好能修改问题的实质内容。@hxd1011 gung是对的。你的问题几乎是统计性的。你能编辑它使它不是关于R,而是关于什么构成GLMs吗?你可以问一下同名的R函数,但你最终还是搞不清楚多类别logit模型是不是GLMs。代码演示的回答很好,让我能够以不同的方式看待事物,永远不知道possion和多类别分类之间的联系!这里,cell
和treat
都是分类的;注意到人们可以将nnet
的多项表述为GLM,泊松回归的类比是否自然延伸到因子变量为数值变量的情况?@fuglede no b/c仅适用于OR does或(x,y)=或(y,x)。这反映在交互项中:x:y=y:x。当x是连续值时,对数线性模型中的关联度量是不同的,Hm,浏览相同的东西,我遇到的第6.2.5节似乎建议,如果互动保持在一种特定的形式,你可以做一些事情。如果一个人使用单独的逻辑/二项模型来模拟结果的概率为1/所有其他类别,2/所有其他类别,等等,然后我们会重新调整这些系数,使结果属于每一类的总概率总和为1,这不等于多项式分布吗?