- formula:以因变量为3个水平数为例(p1、p2、p3):
- logit(p1/1-p1)=-a_1+b_1*x_1+~~+b_p*x_p,
- logit((p1+p2)/1-(p1+p2))=-a_2+b_1*x_1+~~+b_p*x_p
- notes:系数不变,截距在变。
- 计算概率:
- p1=exp(-a_1+b_1*x_1+~~+b_p*x_p)/(1+exp(-a_1+b_1*x_1+~~+b_p*x_p)),
- p2=exp(-a_2+b_1*x_1+~~+b_p*x_p)/(1+exp(-a_2+b_1*x_1+~~+b_p*x_p))-p1,
- p3=1-p1-p2;
等号左边计算的是累积概率,右边的回归截距是不同的,但所有的自变量及其系数都是相同的,下面是计算概率的公式。
下面是SAS中经常使用的语句:
- proc genmod data=temp rorder=data;
- class sex area;
- model purchase=area consume
- /dist=multinomial
- link=cumlogit
- aggregate;
- output out=a predicted=p1;
- run;
2)dist=multinomial和link=cumlogit指定分布形式和连接函数,这个固定的,不需要改;
3)aggregate:报告数据的离散(或集中)信息,广义线性模型均需要提供数据离散信息(devience/df是否等于1),如果有问题可以通过scale调整,也可以贝叶斯的方法处理。
SAS logistic语句也可以实现这种方法,不过genmod使用的更频繁。
可以看出该模型对数据有很严格的要求(系数不变,截距在变),经常在使用这种模型的时候,也会将这种分类视为无序分类从而使用其他模型处理。例如无序logistic模型等。