Metafor软件包:偏差和灵敏度诊断


9

我正在进行多层次的荟萃分析,其中包括一些具有多种结果的文章。因此,我正在使用该rma.mv()功能。示例代码:

test.main = rma.mv(yi,vi,random = ~1|ID, data = data) 

我有两个问题:

  1. 我在上一个查询中了解到,使用时rma.mv()ranktest()它不是漏斗图不对称性的可靠测试。但是,如果将样本方差作为主持人添加到原始模型中,则此模型将类似于Egger的检验:

    test.egger = rma.mv(yi,vi, mod = vi, random = ~1|ID, data = data)
    

    该代码对该指南是否正确解释?另外,漏斗图作为rma.mv()模型的工具也(或多或少)无用吗?

  2. 既不评估模型结果的敏感性leave1out()也无法trimfill()与之rma.mv()合作。当前是否可将其他敏感性分析工具用于rma.mv()不精通R的模型?

Answers:


8

关于1:是的,添加vi主持人确实是将Egger的测试扩展到更复杂的模型的逻辑方法。

实际上,使用采样方差作为主持人只是进行“漏斗图不对称性回归测试”的一种可能性。其他人建议使用采样方差的倒数或标准误差(采样方差的平方根)或它们的倒数或总样本大小(或其某些函数)作为调节剂。尚不清楚哪个预测变量是“最佳”选择(这可能取决于您用于荟萃分析的结果指标)。例如,对于某些度量,我们用来近似/估计采样方差的方程实际上是观察到的结果的函数,即使在没有发布偏差(或“小研究偏差”)的情况下,也会自动在两者之间建立关系。或任何我们想称呼它的东西)。在这种情况下,

但是要点是:是的,通过在模型中添加适当的主持人,可以在使用更复杂的模型时轻松应用回归测试。

当存在基于数据的多级/多变量结构时,漏斗图是否有用是值得商bat的。例如,由于统计依赖性(使用适当的多级/多变量模型时会考虑这些因素),点集可能会聚在一起,但是在漏斗图中,这些点就是:一堆点。这使解释漏斗图变得更加困难,因为(除非您通过使用不同的颜色或符号采取额外的步骤)您看不到那些内在的依赖关系-即使大多数人(包括我自己)也不擅长解释漏斗图,即使是最简单的解释案例(有实证研究证明了这一点!)。

关于2:是的,许多后期模型拟合功能当前不适用于rma.mv模型对象。我只是还没有实现这一点,其中有些实际上需要一些思考。例如,一次leave1out()删除一项研究-在单变量情况下,这相当于一次删除每个观察到的结果,但是多级/多变量数据又如何呢?还要一次删除每个观察到的结果吗?还是删除点集?或提供其他选项?关于修剪和填充(不考虑此方法的实际用途问题):将方法扩展到多级/多变量数据将是值得写的完整文章。

因此,您希望进行灵敏度分析非常好,但是截至目前,您将必须手动执行其中的一些操作。通过简单的for循环轻松进行留一法分析,并仔细考虑什么是“一个”(例如,每个观察到的结果,每个聚类/研究)。您可以进行回归测试,也可以暂时保留“修剪和填充”功能。可通过提供标准化残差rstandard(),因此您可以检查数据中潜在的异常值。您可以通过hatvalues()(仅沿对角线或整个帽子矩阵的杠杆)获得帽子值,该值可以指示哪些点对结果有很大影响。这方面的另一个非常有用的措施是库克的距离,您可以通过获取cooks.distance(),也为rma.mv对象。


2
哇!感谢您的周到和彻底的回答。正如您所建议的,我将尝试弄清楚如何使用for循环代码。
沙贝克2015年

1
很高兴听到您发现这很有用。各种模型拟合函数包括rma.mv()一个subset参数,您可以轻松地将其与for循环一起使用以删除(一组)观察到的结果。
Wolfgang

5
沃尔夫冈(Wolfgang),您的建议的结果可以在这里看到:aobpla.oxfordjournals.org/content/7/… 再次感谢!
chabeck
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.