荟萃分析R Meta-Analyses 3 Effect Sizes

news2024/9/20 5:37:54

总结

  • 效应量是荟萃分析的基石。为了进行荟萃分析,我们至少需要估计效应大小及其标准误差。

  • 效应大小的标准误差代表研究对效应估计的精确程度。荟萃分析以更高的精度和更高的权重给出效应量,因为它们可以更好地估计真实效应。

  • 我们可以在荟萃分析中使用多种效应大小。常见的是“单变量”关系度量(例如平均值和比例)、相关性、(标准化)均值差以及风险、优势和发生率比率。

  • 效应大小也可能存在偏差,例如由于测量误差和范围限制。有一些公式可以纠正一些偏差,包括标准化均值差异的小样本偏差、由于不可靠性导致的衰减以及范围限制问题。

  • 其他常见问题是研究报告以不同格式计算效应量所需的数据,以及分析单位问题,当研究贡献不止一种效应量时就会出现这种问题

在第1.1章中,我们将荟萃分析定义为一种总结多项研究定量结果的技术。在荟萃分析中,研究而不是个人成为我们分析的基本单位。

这带来了新的问题。在初步研究中,通常很容易计算汇总统计数据,通过它我们可以描述我们收集的数据。例如,在初步研究中,通常计算连续结果的算术平均值 \(\bar{x}\)和标准差 \(s\) 。

然而,这是可能的,因为在初步研究中通常满足一个基本先决条件:我们知道所有研究对象的结果变量都是以相同的方式测量的。对于荟萃分析,通常不满足此假设。想象一下,我们想要进行一项荟萃分析,我们感兴趣的结果是八年级学生的数学技能。即使我们应用严格的纳入标准(参见第1.4.1章),也可能并非每项研究都使用完全相同的测试来衡量数学技能;有些甚至可能只报告通过或未通过测试的学生比例。这使得几乎不可能直接定量合成结果。

为了进行荟萃分析,我们必须找到一个可以总结所有研究的效应大小。有时,这样的效应量可以直接从出版物中提取;更多时候,我们必须根据研究中报告的其他数据来计算它们。所选的效应量指标可能会对荟萃分析的结果及其可解释性产生重大影响。因此,它们应该满足一些重要标准(Lipsey 和 Wilson 2001;Julian Higgins 等人 2019)。特别是,为荟萃分析选择的效应量测量应该是:
Comparable. It is important that the effect size measure has the same meaning across all studies. Let us take math skills as an example again. It makes no sense to pool differences between experimental and control groups in the number of points achieved on a math test when studies used different tests. Tests may, for example, vary in their level of difficulty, or in the maximum number of points that can be achieved.

Computable. We can only use an effect size metric for our meta-analysis if it is possible to derive its numerical value from the primary study. It must be possible to calculate the effect size for all of the included studies based on their data.

Reliable. Even if it is possible to calculate an effect size for all included studies, we must also be able to pool them statistically. To use some metric in meta-analyses, it must be at least possible to calculate the standard error (see next chapter). It is also important that the format of the effect size is suited for the meta-analytic technique we want to apply, and does not lead to errors or biases in our estimate.

Interpretable. The type of effect size we choose should be appropriate to answer our research question. For example, if we are interested in the strength of an association between two continuous variables, it is conventional to use correlations to express the size of the effect. It is relatively straightforward to interpret the magnitude of a correlation, and many researchers can understand them. In the following chapters, we will learn that it is sometimes not possible to use outcome measures which are both easy to interpret and ideal for our statistical computations. In such cases, it is necessary to transform effect sizes to a format with better mathematical properties before we pool them.

It is very likely that you have already stumbled upon the term “effect size” before. We also used the word here, without paying too much attention to what it precisely stands for. In the next section, we should therefore explore what we actually mean when we talk about an “effect size”.

 

我们看到平均值是 ̄X==10.07,这已经非常接近我们人口的真实值。现在可以通过重复我们在这里所做的事情(随机抽样并计算其平均值)无数次来创建抽样分布。为了为您模拟这个过程,我们执行了之前的步骤 1000 次。

图3.1中的直方图显示了结果。我们可以看到样本的均值非常类似于均值为 10 的正态分布。如果我们抽取更多样本,均值的分布将更加接近正态分布。这一想法在统计学最基本的原则之一——中心极限定理中得到了表达 (Aronow 和 Miller 2019,第 3.2.4 章)。

均值的“抽样分布”(1000 个样本)。

图 3.1:均值的“抽样分布”(1000 个样本)。

标准误差定义为该抽样分布的标准偏差。因此,我们计算了 1000 个模拟均值的标准差,以获得标准误差的近似值。结果是S乙=�乙=0.267。

正如我们之前提到的,我们不能简单地通过模拟真实的抽样分布来计算现实生活中的标准误差。然而,有一些基于统计理论的公式可以让我们计算标准误差的估计值,即使我们仅限于一个观察到的样本(通常是这样)。计算平均值标准误差的公式定义如下:

 

 

如果我们将该值与我们在抽样分布模拟中发现的值进行比较,我们会发现它们几乎相同。使用该公式,我们可以仅使用我们手头的样本来相当准确地估计标准误差。

在公式 3.2 中,我们可以看到平均值的标准误差取决于研究的样本量。什么时候n�变大,标准误差变小,这意味着研究对真实总体平均值的估计变得更加精确。

为了举例说明这种关系,我们进行了另一次模拟。我们再次使用该rnorm函数,并假设真实总体平均值为μ=�=10 以及那个σ=�=2.但这一次,我们改变了样本量,从n=�=2 至n=�=500. 对于每次模拟,我们使用公式 3.2 计算平均值和标准误差。

## Warning: Using `size` aesthetic for lines was deprecated in ggplot2
## 3.4.0.
## ℹ Please use `linewidth` instead.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this
## warning was generated.

样本平均值和标准误差作为样本大小的函数。

图 3.2:样本平均值和标准误差与样本量的函数关系。

图3.2显示了结果。我们可以看到均值看起来像一个漏斗:随着样本量的增加,均值估计变得越来越精确,并向 10 收敛。这种精度的增加由标准误差表示:随着样本量的增加,标准误差变得越来越小。

我们现在已经探索了进行荟萃分析所需的典型要素:(1)观察到的效应大小或结果测量,以及(2)其精度,以标准误差表示。如果这两类信息可以从已发表的研究中计算出来,通常也可以进行元分析综合(参见第4章)。

在我们的模拟中,我们使用变量的平均值作为示例。重要的是要理解,我们在上面看到的属性也可以在其他结果度量中找到,包括常用的效应量。如果我们计算样本中的平均差而不是平均值,则该平均差将表现出类似形状的抽样分布,并且平均差的标准误差也会随着样本量的增加而减小(假设标准差为保持不变)。同样的情况也成立,例如,(Fisher 的z�变换)相关性。

在以下部分中,我们将介绍荟萃分析中最常用的效应大小和结果测量。这些效应大小指标被如此频繁使用的一个原因是它们满足我们在本章开头定义的两个标准:它们是可靠的可计算的

在公式 3.2 中,我们描述了如何计算平均值的标准误差,但该公式只能轻松应用于平均值。其他效应大小和结果测量需要不同的公式来计算标准误差。对于我们在这里介绍的效应大小指标,幸运的是这些公式存在,我们将向您展示所有这些公式。公式的集合也可以在附录中找到。其中一些公式有些复杂,但好消息是我们几乎不需要手动计算标准误差。R中有多种函数可以为我们完成繁重的工作。

在下一节中,我们不仅想提供不同效应大小指标的理论讨论。我们还向您展示了您必须在数据集中准备哪些类型的信息,以便我们稍后使用的R荟萃分析函数可以轻松地为我们计算效应大小。

我们根据效应大小通常出现的研究设计类型对效应大小进行分组:观察设计(例如自然研究或调查)和实验设计(例如对照临床试验)。请注意,这只是一个粗略的分类,而不是严格的规则。我们提出的许多效应量在技术上适用于任何类型的研究设计,只要结果数据的类型适合。

# Set seed of 123 for reproducibility 
# and take a random sample (n=50).
set.seed(123)
sample <- rnorm(n = 50, mean = 20, sd = 5)

# Calculate the mean
mean(sample)

## [1] 20.17202
# Calculate the standard error
sd(sample)/sqrt(50)

## [1] 0.6546889

 

为了进行均值荟萃分析,我们的数据集至少应包含以下列:

  • n。研究中的观察次数(样本量)。
  • mean。研究中报告的平均值。
  • sd。研究中报告的变量的标准差。
# We define the following values for k and n:
k <- 25
n <- 125

# Calculate the proportion
p <- k/n
p

## [1] 0.2
# Calculate the standard error
sqrt((p*(1-p))/n)

## [1] 0.03577709

 

 

 

 

# Simulate two continuous variables x and y
set.seed(12345)
x <- rnorm(20, 50, 10)
y <- rnorm(20, 10, 3)

# Calculate the correlation between x and y
r <- cor(x,y)
r

 # Calculate Fisher's z
z <- 0.5*log((1+r)/(1-r))
z

 

 

 

# Generate two random variables with different population means
set.seed(123)
x1 <- rnorm(n = 20, mean = 10, sd = 3)
x2 <- rnorm(n = 20, mean = 15, sd = 3)

# Calculate values we need for the formulas
s1 <- sd(x1)
s2 <- sd(x2)
n1 <- 20
n2 <- 20

With this data at hand, we can proceed to the core part, in which we calculate the mean difference and its standard error using the formulae we showed before:

# Calculate the mean difference
MD <- mean(x1) - mean(x2)
MD 

# Calculate s_pooled
s_pooled <- sqrt(
  (((n1-1)*s1^2) + ((n2-1)*s2^2))/
    ((n1-1)+(n2-1))
)

# Calculate the standard error
se <- s_pooled*sqrt((1/n1)+(1/n2))
se

 

通常不需要像我们在这里那样手动进行这些计算。对于均值差异的荟萃分析,我们只需在数据集中准备以下列:

  • n.e。干预/实验组中的观察数量。
  • mean.e。干预/实验组的平均值。
  • sd.e。干预/实验组的标准差。
  • n.c。对照组中的观察数量。
  • mean.c。对照组的平均值。
  • sd.c。对照组的标准差。

forth13.

Standardized mean difference of 1 (assuming normality, equal standard deviations and equal sample size in both groups).

Figure 3.3: Standardized mean difference of 1 (assuming normality, equal standard deviations and equal sample size in both groups).

The standardization makes it much easier to evaluate the magnitude of the mean difference. Standardized mean differences are often interpreted using the conventions by Cohen (1988):

  • SMD ≈≈ 0.20: small effect.
  • SMD ≈≈ 0.50: moderate effect.
  • SMD ≈≈ 0.80: large effect.

Like the convention for Pearson product-moment correlations (Chapter 3.2.3.1), these are rules of thumb at best.

# Load esc package
library(esc)

# Define the data we need to calculate SMD/d
# This is just some example data that we made up
grp1m <- 50   # mean of group 1
grp2m <- 60   # mean of group 2
grp1sd <- 10  # sd of group 1
grp2sd <- 10  # sd of group 2
grp1n <- 100  # n of group1
grp2n <- 100  # n of group2

# Calculate effect size
esc_mean_sd(grp1m = grp1m, grp2m = grp2m, 
            grp1sd = grp1sd, grp2sd = grp2sd, 
            grp1n = grp1n, grp2n = grp2n)

在输出中,有两件事需要提及。首先,我们看到计算出的标准化均值差恰好为 1。这是有道理的,因为我们定义的两个均值之间的差等于(合并的)标准差。

其次,我们看到效应大小是负的。这是因为第 2 组的平均值大于第 1 组的平均值。虽然这在数学上是正确的,但我们有时必须更改计算出的效应大小的符号,以便其他人可以更轻松地解释它们。

想象一下,本例中的数据来自一项研究,测量人们在接受干预(第 1 组)或未接受干预(第 2 组)后每周吸烟的平均数量。在这种情况下,研究结果是积极的,因为干预组的平均吸烟数量较低。因此,将效果大小报告为 1.0 而不是 -1.0 是有意义的,以便其他人可以直观地理解干预具有积极效果。

当一些研究使用的测量值较高意味着更好的结果,而其他研究使用的测量值较低表示更好的结果时,效应大小的符号变得尤为重要。在这种情况下,所有效应大小必须一致地以同一方向编码(例如,我们必须确保在荟萃分析中的所有研究中,较高的效应大小意味着干预组的结果更好)。

通常,小样本校正应用于标准化均值差异,这会产生称为Hedges 的效应大小 G�。我们将在第 3.4.1章中介绍这一更正。

为了对标准化均值差异进行荟萃分析,我们的数据集至少应包含以下列:

  • n.e。干预/实验组中的观察数量。
  • mean.e。干预/实验组的平均值。
  • sd.e。干预/实验组的标准差。
  • n.c。对照组中的观察数量。
  • mean.c。对照组的平均值。
  • sd.c。对照组的标准差。
3.3.1.3 Within-Group (Standardized) Mean Difference

Within-group unstandardized or standardized mean differences can be calculated when a difference within one group is examined. This is usually the case when the same group of people is measured at two different time points (e.g. before an intervention and after an intervention).

 

 

 

 

# Define example data needed for effect size calculation
x1 <- 20    # mean at t1
x2 <- 30    # mean at t2
sd1 <- 13   # sd at t1
n <- 80     # sample size
r <- 0.5    # correlation between t1 and t2

# Caclulate the raw mean difference
md_within <- x2 - x1

# Calculate the smd:
# Here, we use the standard deviation at t1
# to standardize the mean difference
smd_within <- md_within/sd1
smd_within

 # Calculate standard error
se_within <- sqrt(((2*(1-r))/n) + 
              (smd_within^2/(2*n)))
se_within

Meta-analyses of within-group (standardized) mean differences can only be performed in R using pre-calculated effect sizes (see Chapter 3.5.1). The following columns are required in our data set:

  • TE: The calculated within-group effect size.
  • seTE: The standard error of the within-group effect size.

The Limits of Standardization

Standardized mean differences are, without a doubt, one of the most frequently used effect sizes metrics in meta-analyses. As we mentioned in Chapter 3.3.1.2, standardization allows us, at least in theory, to compare the strength of an effect observed in different studies; even if these studies did not use the same instruments to measure it.

Standardization, however, is not a “Get Out of Jail Free card”. The size of a particular study’s SMDSMD depends heavily on the variability of its sample (see also Viechtbauer 2007a). Imagine that we conduct two identical studies, use the same instrument to measure our outcome of interest, but that the two studies are conducted in two populations with drastically different variances. In this case, the SMDSMD value of both studies would differ greatly, even if the “raw” mean difference in both studies was identical.

In this case, it is somewhat difficult to argue that the “causal” strength of the effect in one study was much larger or smaller than in the other. As Jacob Cohen (1994) put it in a famous paper: “[t]he effect of A on B for me can hardly depend on whether I’m in a group that varies greatly […] or another that does not vary at all” (p. 1001). This problem, by the way, applies to all commonly used “standardized” effect size metrics in meta-analysis, for example correlations.

In addition, we have also seen that the unit by which to standardize is often less clearly defined than one may think. Various options exist both for between- and within-group SMDSMDs, and it is often hard to disentangle which approach was chosen in a particular study. It is necessary to always be as consistent as possible across studies in terms of how we calculate standardized effect sizes for our meta-analysis. Even so, one should keep in mind that the commensurability of effect sizes can be limited, even if standardization was applied.

Of course, the best solution would be if outcomes were measured on the same scale in all studies, so that raw mean differences could be used. In many research fields, however, we are living far away from such a level of methodological harmony. Thus, unfortunately, standardized effect sizes are often our second best option.

.3.2风险与优势比


3.3.2.1风险比率

正如其名称所示,风险比(也称为相对风险)是两种风险的比率。风险本质上是比例(参见第3.2.2章)。当我们处理二元或二分结果数据时,可以计算它们。

我们使用“风险”一词而不是“比例”,因为这种类型的结果数据经常出现在医学研究中,在医学研究中检查罹患疾病或死亡的风险。此类事件称为事件。想象一下,我们正在进行一项包含治疗组和对照组的对照临床试验。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1544777.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

一文整合工厂模式、模板模式、策略模式

为什么使用设计模式 今天终于有时间系统的整理一下这几个设计模式了&#xff0c; 这几个真是最常用的&#xff0c;用好了它们&#xff0c;你就在也不用一大堆的if else 了。能更好的处理大量的代码冗余问题。 在我们的实际开发中&#xff0c;肯定会有这样的场景&#xff1a;我…

【C语言基础】:内存操作函数

文章目录 一、memcpy函数的使用和模拟实现1.1 memcpy函数的使用1.2 memcpy函数的模拟实现 二、memmove函数的使用和模拟实现2.1 memmove函数的使用2.2 memmove函数的模拟实现 三、memset函数的使用3.1 menset函数的使用 四、memcmp函数的使用4.1 memcmp函数的使用 学海无涯苦作…

Qt与编码

ASCII码:一个字节&#xff0c;256个字符。 Unicode:字母&#xff0c;汉字都占用两个字节。 utf-8:字母一个字节&#xff0c;汉字3个字节。 gbk:字母一个字节&#xff0c;汉字2个字节。 gb2312:可以表示汉字&#xff0c;gb2312<gbk。 编码查看&#xff1a; https://www.…

钡铼技术R40路由器助力构建无人值守的智能化污水处理厂

钡铼技术R40路由器作为智能化污水处理厂的关键网络设备&#xff0c;发挥着至关重要的作用&#xff0c;助力构建无人值守的智能化污水处理系统。在现代社会&#xff0c;污水处理是城市环境保护和可持续发展的重要组成部分&#xff0c;而智能化污水处理厂借助先进的技术和设备&am…

C语言数据结构易错知识点(5)(插入排序、选择排序)

插入排序&#xff1a;直接插入排序、希尔排序 选择排序&#xff1a;直接选择排序、堆排序 上述排序都是需要掌握的&#xff0c;但原理不会讲解&#xff0c;网上有很多详尽地解释&#xff0c;本文章主要分享一下代码实现上应当注意的事项 1.直接插入排序&#xff1a; 代码实…

Kevin的128纪念日

上面这个是我在三天前做的一个开场白一样的封面。在设计的时候我的想法很简单&#xff0c;把自己给展现出来。我没有去过多的加其他花花绿绿的东西&#xff0c;我想把我本身的状态和形象给凸显出来。 哈哈~看到这里有人就想问&#xff0c;这个躺在沙发上吃零食的懒猫就是你的个…

利用瑞士军刀netcat建立连接并实现文件上传

实验环境&#xff1a; Kali:192.168.117.129 Windows10:192.168.135.142 第一步&#xff1a;建立连接 在Windows上下载netcat(官网搜索) 下载好之后在netcat目录打开cmd进入小黑屏 实验一&#xff1a;建立虚拟机与主机的连接 命令&#xff1a; Kali:nc 192.168.135.144…

FastAPI+React全栈开发05 React前端框架概述

Chapter01 Web Development and the FARM Stack 05 The frontend React FastAPIReact全栈开发05 React前端框架概述 Let’s start with a bit of context here. Perhaps the changes in the world of the web are most visible when we talk about the frontend, the part o…

前端学习之css基本网格布局

网格布局 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>网格布局</title><style>.a{/* grid网格布局 */display: grid;width: 400px;height: 400px;border: 1px solid red;/* 设置当前…

【Spring】IoCDI详解

1. IoC详解 前面提到过IoC就是将对象的控制权交由Spring的IoC容器进行管理&#xff0c;由Spring的IoC容器创建和销毁bean&#xff0c;那么既然涉及到容器&#xff0c;就一定包含以下两方面功能&#xff1a; bean的存储bean的获取 1.1 类注解 Spring框架为了更好地服务应用程…

RabbitMQ3.x之二_RabbitMQ所有端口说明及开启后台管理功能

RabbitMQ3.x之二_RabbitMQ所有端口说明及开启后台管理功能 文章目录 RabbitMQ3.x之二_RabbitMQ所有端口说明及开启后台管理功能1. RabbitMQ端口说明2. 开启Rabbitmq后台管理功能1. 查看rabbitmq已安装的插件2. 开启rabbitmq后台管理平台插件3. 开启插件后&#xff0c;再次查看插…

学习笔记Day15:Shell脚本编程

Shell脚本编程 Linux系统环境 Linux系统的4个主要部分&#xff1a;内核、shell、文件系统和应用程序。 内核是操作系统的核心&#xff0c;决定系统性能和稳定性shell &#xff1a;一种应用程序&#xff0c;是用户和内核交互操作的接口&#xff0c;是套在内核外的壳&#xff…

Linux文件IO(2):使用标准IO进行文件的打开、关闭、读写、流定位等相关操作

目录 前言 文件的打开和关闭的概念 文件的打开 文件的打开函数 文件打开的模式 文件的关闭 文件的关闭函数 注意事项 字符的输入&#xff08;读单个字符&#xff09; 字符输入的函数 注意事项 字符的输出&#xff08;写单个字符&#xff09; 字符输出的函数 注意…

实战|使用 Node.js 和 htmx 构建全栈应用程序

在本教程中&#xff0c;我将演示如何使用 Node 作为后端和 htmx 作为前端来构建功能齐全的 CRUD 应用程序。这将演示 htmx 如何集成到全栈应用程序中&#xff0c;使您能够评估其有效性并确定它是否是您未来项目的不错选择。 htmx 是一个现代 JavaScript 库&#xff0c;旨在通过…

微服务day07 -- 搜索引擎 ( 数据聚合 + 自动补全 + 数据同步 + ES集群 )

1.数据聚合 聚合&#xff08;aggregations&#xff09;可以让我们极其方便的实现对数据的统计、分析、运算。例如&#xff1a; 什么品牌的手机最受欢迎&#xff1f; 这些手机的平均价格、最高价格、最低价格&#xff1f; 这些手机每月的销售情况如何&#xff1f; 实现这些…

ydata_profiling:自动生成数据探索报告的Python库

之前在做数据分析的时候&#xff0c;用过一个自动化生成数据探索报告的Python库&#xff1a;ydata_profiling 一般我们在做数据处理前会进行数据探索&#xff0c;包括看统计分布、可视化图表、数据质量情况等&#xff0c;这个过程会消耗很多时间&#xff0c;可能需要上百行代码…

数据库实验(一)SQL Server触发器

目录 触发器的定义 触发器和存储过程的区别 触发器的优点 触发器的作用 触发器的分类 DML触发器 DDL触发器 登录触发器 触发器的工作原理 inserted表 deleted表 创建触发器 编程要求 测试要求&#xff1a; 实验代码&#xff1a; 触发器的定义 触发器是建立在触…

视频推拉流EasyDSS点播平台云端录像播放异常的问题排查与解决

视频推拉流EasyDSS视频直播点播平台可提供一站式的视频转码、点播、直播、视频推拉流、播放H.265视频等服务&#xff0c;搭配RTMP高清摄像头使用&#xff0c;可将无人机设备的实时流推送到平台上&#xff0c;实现无人机视频推流直播、巡检等应用。 有用户反馈&#xff0c;项目现…

深度学习基础知识

本文内容来自https://zhuanlan.zhihu.com/p/106763782 此文章是用于学习上述链接&#xff0c;方便自己理解的笔记 1.深度学习的网络结构 深度学习是神经网络的一种特殊形式&#xff0c;典型的神经网络如下图所示。 神经元&#xff1a;表示输入、中间数值、输出数值点。例如&…

itextPdf生成pdf简单示例

文章环境 jdk1.8&#xff0c;springboot2.6.13 POM依赖 <dependency><groupId>com.itextpdf</groupId><artifactId>itextpdf</artifactId><version>5.5.13</version></dependency><dependency><groupId>com.ite…