R语言使用二进制回归将序数数据建模为多元GLM

用于分析序数数据的最常见模型是 逻辑模型 。

本质上,您将结果视为连续潜在变量的分类表现。

 此结果的预测变量仅以一种方式对其产生影响,因此 为每个预测变量获得一个回归系数。但是该模型有几个截距,它们代表将变量切分以创建观察到的分类表现的点。

就像在普通回归模型中一样,每个预测变量都会以一种方式影响结果,这就是比例赔率假设或约束。或者,可以让每个预测变量在每个切入点对结果产生不同的影响。

如何使用单变量GLM软件对此建模?UCLA idre页面上有关于多元随机系数模型的文章。在这里很重要,因为他们使用nlme(单变量线性混合模型软件)对多元结果进行建模。基本思想是将数据堆叠起来,使其成为一种重复测量,但是找到一种向软件发出信号的信号,即结果是不同的,从而对预测变量要求不同的截距和斜率。

因此,我们要做的是将数据从宽转换为长,将其建模为常规二项式,但是我们需要告诉模型为每个级别估计不同的截距。为此,我使用具有unstructured工作相关性结构的通用估计方程(GEE)。3

示范

数据集。

我使用SURENESS变量。它有6个级别。使用DAYGENDER变量对其进行建模。

下一步是将顺序结果转换为代表每个阈值的5个结果

完成此操作后,我们准备对这5个新的结果变量进行转换。

让我们看看没有选择最高响应类别的人:

这个人选择了SURENESSVAL中的a 。她的前三个分数是1,她的最后两个分数是0,因为4小于4-5阈值和5-6阈值。

下一步是为阈值创建虚拟变量。这些变量将用于表示模型中的截距。

请注意,我将虚拟变量乘以-1。在序数回归中,这样做使解释更容易。总之,它确保正系数增加了从较低类别(例如3)移至较高类别(4)或对较高响应类别做出响应的几率。

现在,我们准备运行模型。我们使用GEE。相关结构为unstructured

接下来,我使用标准序数回归估算模型:

可以看到结果非常接近。

但是,使用估计glm()不能建立一个人的结果之间的依存关系的估计会产生不同的结果。

估计值和标准误均不足。

我们可以轻松地放宽pom.bin模型中的比例赔率约束。让我们通过放宽对预测变量的约束来运行某些人所说的偏比例赔率模型day2。我们通过估计阈值虚拟变量和day2预测变量之间的相互作用来做到这一点。

我还使用名义参数运行了相同的模型进行比较day2

结果是可比较的。

现在,我们可以将比例比例赔率二进制模型与比例赔率二进制模型进行比较,以测试day2变量的约束条件。geepack允许anova()对两种模型进行Wald测试:

两种模型之间的差异在统计上均不显着,表明day2变量的比例约束已足够。

我们可以使用或使用函数ordinal进行比较pom.ordnpom.ord建模anova(),从而进行相同的测试nomimal_test()。两者都是似然比检验,比上述GEE的Wald检验更充分。

这两个测试收敛到相同的结果,并且在比较GEE模型的Wald测试中也给出了相同的p值。然而,Wald- χ 2χ2 测试统计数据略高。


完成此操作后,使用序数数据包当然要容易得多。但是,将模型视为二进制可能会有一些好处,但是所有这些都是出于好奇而非必要。由于某种原因,我仍未弄清楚,当一个人尝试使用fitted()函数从模型中获得预测的概率时,它仅返回一组拟合的概率。理想情况下,它应该为每个阈值返回拟合概率。使用geepack,可以直接获得每个级别的预测概率。但是,这种优势是微不足道的。


而且,如果熟悉最大似然估计,则可以简单地对似然函数进行编程。

上面的例子在比例赔率情况下的语法为:

结果非常相似,对于比较模型的更确定的方式,我们总是可以比较对数似然:


  1. Agresti,A。(2013)。分类数据分析。Wiley-Interscience。 

可下载资源

​非常感谢您阅读本文,如需帮助请联系我们!


关于作者

Kaizong Ye拓端研究室(TRL)的研究员。

本文借鉴了作者最近为《R语言数据分析挖掘必知必会 》课堂做的准备。


随时关注您喜欢的主题

在wechat上关注我们

最新洞察

技术干货

Leave A Reply

电子邮件地址不会被公开。

 
QQ在线咨询
售前咨询热线
15121130882
售后咨询热线
0571-63341498
error: Content is protected
%d 博主赞过: