我可以使用glm算法进行多项式逻辑回归吗?


14

我在项目中使用Spotfire(S ++)进行统计分析,并且必须对大型数据集运行多项逻辑回归。我知道最好的算法应该是mlogit,但不幸的是,这在s ++中不可用。但是,我可以选择使用glm算法进行回归。我想在这里澄清两件事:

1.我的理解是否正确,glm也可以用于运行多项式逻辑回归?

  1. 如果对上一个问题的回答是“是”,那么应在glm算法中使用哪些参数?

谢谢,

Answers:


9

是的,使用Poisson GLM(对数线性模型)可以拟合多项式模型。因此,多项逻辑或对数线性泊松模型是等效的。

您需要将随机数yij视为具有均值泊松随机变量,并指定以下对数线性模型μij

log⁡(μij)=o+pi+cj+xiβj

要获得多项式logit模型,参数为:

每个多项式观察的参数,例如个人或小组。这样可以确保多项式分母的精确再现,并实际上建立了泊松和多项式模型的等价性。它们在多项式似然中是固定的,但在泊松似然中是随机的。pi

每个响应类别的参数。这样,每个响应类别的计数可能会有所不同,并且边距可能会不一致。cj

您真正感兴趣的是交互项,它们表示对响应对数奇数的影响。xiβjxij

对数奇数可以简单地通过。观察值i相对于响应类别属于响应类别j的对数赔率是对数比。log⁡(μij/μik)=(cj−ck)+xi(βj−βk)k

然后,在多项式logit模型的参数(在拉丁字母表示)可以在相应的数-线性模型中的参数之间的差异来获得,即和b Ĵ = β Ĵ - β ķ。aj=αj−αkbj=βj−βk


谢谢Momo。这真的很有帮助。我的软件为我提供了在运行GLM徽标时选择“系列”作为“位置”和“链接”作为“日志”的选项。所以我认为这正是这里所需要的。
— 拉格芬德拉

7

是的,您可以,实际上,这正是R包GLMNET用于多项逻辑回归的功能。将对数似然函数编写为:

LogL=∑i∑cniclog⁡(pic)

其中表示观测值,c表示多项式类别n i c是类别c中观测i的观测值。观测值由其唯一的协变量组合定义-或者,我们也可以允许重复项,并设置每个n i c = 1,以便获得分类的“二进制”数据(.....不知道二进制的复数是什么。 ..)。对于逻辑回归,概率定义为:icnicicnic=1

pic=exp⁡(xiTβc)∑c′exp⁡(xiTβc′)

(β1,…,βC)

pic=exp⁡(xiTβc)exp⁡(xiTβc)+A where ∂A∂βc=0
pic′=Bexp⁡(xiTβc)+A where ∂B∂βc=0

βcWii,c=nicpic(1−pic)(XTWX)−1XTWY


w ^ķ

β

pXpkp
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.