Metafor 软件包:偏差和敏感性诊断

机器算法验证 荟萃分析 敏感性分析 发表偏倚 漏斗图
2022-03-11 07:34:09

我正在进行多层次的荟萃分析,其中包括一些具有多种结果的文章。因此我正在使用该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 的精通理解的模型?

1个回答

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

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

但要点是:是的,在处理更复杂的模型时,可以通过在模型中添加适当的调节器来轻松应用回归测试。

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

关于 2:是的,一堆模型后拟合功能目前不适用于rma.mv模型对象。我只是还没来得及实施这个,其中一些实际上需要一些思考。例如,leave1out()一次删除一项研究——在单变量上下文中,这相当于一次删除每个观察到的结果,但是多水平/多变量数据呢?还一次删除每个观察到的结果?或者删除点集?或者提供不同的选项?关于修剪和填充(撇开这种方法真正有用的问题不谈):将该方法扩展到多级/多变量数据将值得写一整篇论文。

因此,您想要进行敏感性分析非常棒,但到目前为止,您将不得不手动执行其中的一些操作。留一分析很容易通过简单的 for 循环完成,并仔细考虑“一”是什么(例如,每个观察到的结果,每个集群/研究)。你可以做回归测试,也许现在就离开修剪和填充。标准化残差可通过 获得rstandard(),因此您可以检查数据中的潜在异常值。您可以通过hatvalues()(只是沿对角线或整个帽子矩阵的杠杆)获得帽子值,这可以指示哪些点对结果有很大影响。在这种情况下,另一个真正有用的度量是库克的距离,您可以通过 获得cooks.distance(),也可以用于rma.mv对象。