gpt4 book ai didi

r - R中的多项逻辑多级模型

转载 作者:行者123 更新时间:2023-12-03 10:37:46 28 4
gpt4 key购买 nike

问题:我需要估计一组多项逻辑多级模型,但找不到合适的 R 包。估计此类模型的最佳 R 包是什么? STATA 13 最近将此功能添加到他们的多级混合效应模型中——因此估计此类模型的技术似乎是可用的。

详情:许多研究问题需要估计结果变量是分类的多项逻辑回归模型。例如,生物学家可能有兴趣调查哪种树木(例如松树、枫树、橡树)受酸雨的影响最大。市场研究人员可能会对客户年龄与在 Target、Safeway 或 Walmart 购物的频率之间是否存在关系感兴趣。这些案例的共同点是结果变量是分类的(无序的),多项逻辑回归是首选的估计方法。就我而言,我正在调查人类迁移类型的差异,结果变量 (mig) 编码为 0=未迁移,1=内部迁移,2=国际迁移。这是我的数据集的简化版本:

migDat=data.frame(hhID=1:21,mig=rep(0:2,times=7),age=ceiling(runif(21,15,90)),stateID=rep(letters[1:3],each=7),pollution=rep(c("high","low","moderate"),each=7),stringsAsFactors=F)

hhID mig age stateID pollution
1 1 0 47 a high
2 2 1 53 a high
3 3 2 17 a high
4 4 0 73 a high
5 5 1 24 a high
6 6 2 80 a high
7 7 0 18 a high
8 8 1 33 b low
9 9 2 90 b low
10 10 0 49 b low
11 11 1 42 b low
12 12 2 44 b low
13 13 0 82 b low
14 14 1 70 b low
15 15 2 71 c moderate
16 16 0 18 c moderate
17 17 1 18 c moderate
18 18 2 39 c moderate
19 19 0 35 c moderate
20 20 1 74 c moderate
21 21 2 86 c moderate

我的目标是估计年龄(自变量)对(1)内部迁移与不迁移,(2)国际迁移与不迁移,(3)内部迁移与国际迁移的几率的影响。另一个复杂因素是我的数据在不同的聚合级别上运行(例如,污染在州一级运行),我也有兴趣预测空气污染(污染)对开展特定类型运动的几率的影响。

笨重的解决方案:人们可以通过将每个模型的数据集减少到只有两种迁移类型来估计一组单​​独的逻辑回归模型(例如,模型 1:只有案例编码 mig=0 和 mig=1;模型 2:只有案例编码 mig=0 和mig=2;模型 3:仅编码为 mig=1 和 mig=2) 的情况。这种简单的多级逻辑回归模型可以用 lme4 进行估计,但这种方法不太理想,因为它没有适本地考虑省略案例的影响。第二种解决方案是使用 R2MLwiN 包在 MLWiN 中通过 R 运行多项逻辑多级模型。但由于 MLWiN 不是开源的并且生成的对象难以使用,我宁愿避免使用此选项。根据全面的互联网搜索,似乎对此类模型有一些需求,但我不知道有一个好的 R 包。因此,如果一些运行过此类模型的专家可以提供建议,并且如果有多个包可能表明一些优点/缺点,那就太好了。我确信这些信息对于多个 R 用户来说将是一个非常有用的资源。谢谢!!

最好的,
拉斐尔

最佳答案

通常有两种方法可以用 J 组拟合分类变量的多项模型: (1) 同时估计 J-1 对比; (2) 为每个对比估计一个单独的 logit 模型。

这两种方法产生相同的结果吗? 不,但结果通常相似

哪种方法更好? 同时拟合更精确(见下文解释原因)

那么为什么有人会使用单独的 logit 模型呢? (1) lme4包没有同时拟合多项模型的例程,也没有其他多级 R 包可以做到这一点。因此,如果有人想在 R 中估计多级多项式模型,那么单独的 logit 模型是目前唯一实用的解决方案。 (2) 正如一些强大的统计学家所说的 (Begg and Gray, 1984; Allison, 1984, p. 46-47),单独的 logit模型更加灵活,因为它们允许为每个对比独立指定模型方程。

使用单独的 logit 模型是否合法? 是的,有一些免责声明。这种方法称为“Begg 和 Gray Approximation”。 Begg 和 Gray (1984, p. 16) 表明这种“个性化方法非常有效”。但是,存在一些效率损失,并且 Begg 和 Gray 近似会产生更大的标准误差(Agresti 2002,第 274 页)。因此,使用这种方法更难获得显着的结果,结果可以被认为是保守的。当引用类别很大时,这种效率损失最小(Begg 和 Gray,1984;Agresti 2002)。使用 Begg 和 Gray 近似(非多级)的 R 包包括 mlogitBMA (塞维科娃和拉夫特里,2012 年)。

为什么一系列单独的 logit 模型不精确?
在我最初的示例中,我们有一个变量 (migration),它可以有三个值 A (无迁移),B (内部迁移),C (国际移民)。只有一个预测变量x (年龄),多项模型被参数化为一系列二项式对比,如下所示(Long and Cheng,2004 p. 277):

Eq. 1:  Ln(Pr(B|x)/Pr(A|x)) = b0,B|A + b1,B|A (x) 
Eq. 2: Ln(Pr(C|x)/Pr(A|x)) = b0,C|A + b1,C|A (x)
Eq. 3: Ln(Pr(B|x)/Pr(C|x)) = b0,B|C + b1,B|C (x)

对于这些对比,以下等式必须成立:
Eq. 4: Ln(Pr(B|x)/Pr(A|x)) + Ln(Pr(C|x)/Pr(A|x)) = Ln(Pr(B|x)/Pr(C|x))
Eq. 5: b0,B|A + b0,C|A = b0,B|C
Eq. 6: b1,B|A + b1,C|A = b1,B|C

问题是这些方程(方程 4-6)在实践中并不完全成立,因为系数是根据稍微不同的样本估计的,因为只使用了两个对比组的案例,而省略了第三组的案例。同时估计多项式对比的程序确保方程。 4-6 保持 (Long 和 Cheng, 2004 p. 277)。我不知道这种“同时”模型求解是如何工作的——也许有人可以提供解释?同时拟合多级多项模型的软件包括 MLwiN(Steele 2013,第 4 页)和 STATA(xlmlogit 命令,Pope,2014)。

引用文献:

Agresti, A. (2002)。分类数据分析(第 2 版)。新泽西州霍博肯:约翰威利父子公司。

艾莉森,P. D. (1984)。事件历史分析。加利福尼亚州千橡市:Sage Publications。

Begg, C. B. 和 Gray, R. (1984)。使用个性化回归计算多分类逻辑回归参数。生物计量学,71(1),11-18。

Long, S. J. 和 Cheng, S. (2004)。分类结果的回归模型。在 M. Hardy & A. Bryman (Eds.),数据分析手册 (pp. 258-285)。伦敦:SAGE Publications, Ltd.

教皇,R.(2014 年)。聚光灯下:了解 Stata 的新 xlmlogit 命令。统计新闻,29(2),2-3。

Svcikova, H. 和 Raftery, A. (2012)。使用 Begg & Gray 近似估计多项 logit 模型。

斯蒂尔,F.(2013 年)。模块 10:名义响应概念的单级和多级模型。英国布里斯托尔:多层次建模中心。

关于r - R中的多项逻辑多级模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21082396/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com