r - 线性混合建模能否处理响应变量和/或预测变量中的 NA(缺失数据)?
问题描述
在进行线性混合建模时,我正在使用 R 中的lme4包和lmer函数。在响应和协变量(预测器)级别都有 NA 是否可以?我知道线性混合建模排除了 NA 并使用最大似然估计,但我不确定 NA 是否可以同时存在于响应变量和预测变量中?如果我不排除 NA,我的建模运行良好,但我注意到响应组不均匀(对于不同的时间点)?这有关系吗。
例如在基线(n = 1,980)在 1 个月的时间点(n = 1,841)等......
我的数据背景包括在 4 个不同时间点收集的患者数据(这是响应变量)。模型中包含患者特征(协变量/预测变量)列表。这些包括 BMI、年龄、糖尿病的存在、血压、辐射剂量等......在随访期间未收集一些患者数据,因此数据框中缺少数据 (1666)。
解决方案
lme4
和 R 中可用的大多数统计模型都使用完整的案例分析,即它们会自动NA
删除响应值或任何预测变量中的值的观察值。
处理丢失的数据是一个复杂的主题。如果丢失的数据影响了您分析数据的能力,最典型的方法是进行多重插补(例如使用mice
包)。不过,这需要一些努力。我会推荐 Frank Harrell 的Regression Modeling Strategies,以实际介绍在生物统计学背景下处理缺失数据。
一般来说,不均匀抽样/缺乏平衡不应该对混合模型的分析造成问题,除非数据非常不平衡以至于完全丢失了类别。
在评论中,你说你已经
阅读大量资料表明线性混合模型可以处理 NA
这是真的,但需要一些解释。在典型的多元方差分析环境中,数据以宽格式设置,即每组一行。例如:
id t1 t2 t3 t4 t5
A 1.0 2.0 3.0 2.1 7.2
B 1.1 1.9 2.4 2.3 1.4
...
在这种格式中,丢失或不平衡的数据将显示为NA
; A
如果我们当时没有对 group 的观察t5
,那一行数据将是1.0 2.0 3.0 2.1 NA
。但是,在混合模型世界中,我们通常以长格式表示数据:
id time value
A t1 1.0
A t2 2.0
A t3 3.0
A t4 2.1
...
所以在这种情况下,我们甚至不会首先包含缺失的观察结果。在 MANOVA 世界中,我们必须决定如何处理缺少任何观察结果的组;在混合模型世界中,这对应于丢弃单个组/时间观察,对应于我在开头描述的完整案例分析。
推荐阅读
- android - 在 Kotlin 中从字符串创建数据类对象的 ArrayList
- python - 在列表而不是另一个 lst 中写入元组
- testing - 如何从 Botium 客户端将会话属性传递给 Lex Bot?
- wordpress - 如何从查询字符串中预选 Ninja Forms 中的选择框
- dart - 使用 CachedNetworkImage 动态改变图像的 ListView
- curl - 终端中的 curl localhost 服务器得到空回复,但邮递员和 chrome 得到响应
- python - 为什么这两个程序返回不同的输出?
- r - geom_point() 彩虹色
- javascript - Javascript Canvas 忽略 .beginPath() 影响 .fillStyle()
- swift - 类引用可编码协议是不可编码的