0

这个问题更多的是关于统计而不是 R 编程,虽然我是 R 的初学者,但我特别感谢在 R 的上下文中的任何想法;感谢您考虑:

我们的一个线性模型 (lm) 中的结果变量是腰围,大约 20% 的数据集中缺少腰围。去年发布了一个模型,该模型可以根据 BMI、年龄和性别(我们确实拥有所有这些)可靠地估计腰围。我想使用这个模型来估算我们数据中缺少的腰围,但我想确保我在那个估计模型中加入了已知的错误。已报告截距和每个系数的标准误差。

您能否建议我如何负责任地估算(或者更好的词是估计)丢失的腰围并评估对我自己的腰围预测模型的任何影响?

再次感谢任何编码策略。

4

1 回答 1

1

正如弗兰克所指出的,这个问题具有很强的统计特征。但是一种可能的解决方案确实需要一些复杂的编程,所以将它放在 R 线程中也许是合法的。

为了“将已知误差纳入该估计”,一种标准方法是多重插补,如果你想走这条路,R 是一个很好的方法。这有点涉及,所以你必须自己制定代码的细节,但如果你了解基本策略,它就相对简单了。

基本思想是,对于数据集中的每个主题,您首先使用已发布的模型和 BMI、年龄和性别来估算腰围,以确定期望值,然后添加一些模拟的随机噪声;您必须通读该出版物以确定该噪声的数值。填写完每个缺失值后,您只需执行要运行的任何统计计算,并保存标准错误。现在,您创建第二个数据集,该数据集源自具有缺失值的原始数据集,再次使用已发布的模型估算预期值以及一些随机噪声——由于噪声是随机的,因此该数据集的估算值应该是不同于第一个数据集的估算值。现在做你的统计计算,并保存标准误差,这与第一个估算数据集的标准误差略有不同,因为估算值包含随机噪声。重复一堆。最后,对保存的标准误差进行平均,这将为您提供一个标准误差的估计值,其中包含归因于插补的不确定性。

您所做的实际上是一个两级模拟:在低级别上,对于每次迭代,您都使用已发布的模型创建一个模拟数据集,其中包含缺失数据的嘈杂估算值,然后为您提供模拟标准误差,以及然后在较高的层次上,您重复该过程以获得此类模拟标准误差的样本,然后您对其进行平均以获得您的总体估计。

这在 SAS 或 Stata 等传统统计数据包中很难做到,尽管这是可能的,但在 R 中更容易做到,因为它基于适当的编程语言。所以,是的,你的问题正确地说是一个统计问题,但最好的解决方案可能是 R 特定的。

于 2013-10-03T03:49:23.683 回答