关于 tooluniverse-meta-analysis
这是一个 ToolUniverse 技能,用于合并多项研究的效应估计并评估研究间一致性。适合已提取研究结果、正在开展荟萃分析的研究者,重点说明尺度转换和结果解读。
主要功能
- 01将报告结果转换为效应量和标准误
- 02采用固定或随机效应模型合并研究
- 03报告置信区间和异质性指标
- 04生成文本森林图
- 05指导证据质量与偏倚检查
适用场景
- 01合并多个队列的估计结果
- 02汇总系统综述的研究结果
- 03评估重复实验之间的一致性
- 04审视多队列 GWAS 关联结果
MCP 相关
该技能使用 MetaAnalysis_run 等 ToolUniverse 工具合并估计值并评估异质性。
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ mims-harvard/ tooluniverse --skill tooluniverse-meta-analysis安装后在 Claude Code 中输入/tooluniverse-meta-analysis确认已加载。
附带文件scripts/meta_analysis.pytest_meta_analysis.py
详细介绍
Meta 分析与证据综合
将多项研究的定量结果汇总为一个估计值,并判断各项研究的一致程度。这是系统综述中统计分析的部分(文献收集部分见 tooluniverse-literature-deep-research)。
适用场景
- 你已获得 ≥2 项研究/队列的效应量,希望得到一个合并估计值和 CI。
- 综合系统综述、重复实验、多队列 GWAS 或多数据集关联分析。
- 判断各项研究是否一致(异质性低)或存在冲突(异质性高)。
请勿用它来查找研究——请改用 tooluniverse-literature-deep-research/文献工具,然后将提取的数值带到这里。在信任任何输入研究之前,可考虑使用 Crossref_check_retraction 检查其是否被撤稿。
工作流
1. Extract (effect, SE) per study ← THE ERROR-PRONE STEP
2. Pick fixed vs random effects
3. Pool: MetaAnalysis_run
4. Read heterogeneity (I², Q, τ²)
5. Forest plot + interpret
步骤 1 — 将每项研究转换为 (effect_size, se) ← 请谨慎操作
合并步骤需要一个加性尺度上的效应量及其标准误。比值指标(OR/RR/HR)必须先进行对数转换。大多数报告给出的是 CI,而不是 SE——请根据 CI 推导 SE。
| 论文报告的内容 | effect_size | se |
|---|---|---|
OR / RR / HR,附带 95% CI [L, U] | ln(point) | (ln(U) − ln(L)) / (2 × 1.96) |
| OR / RR / HR,附带 p 值(无 CI) | ln(point) | ` |
GWAS / 回归 β,附带 SE | β(按报告值) | 报告的 SE |
| 两组,均值 + SD + n₁,n₂ | Hedges' g(见脚本) | g 的 SE(见脚本) |
单个比例 p,n | logit(p)=ln(p/(1−p)) | sqrt(1/(np) + 1/(n(1−p))) |
Pearson 相关 r,n | Fisher z = atanh(r) | 1 / sqrt(n − 3) |
关键规则
- 对比值指标进行对数转换。 合并原始 OR 是错误的;应合并
ln(OR),再将合并结果取指数还原。脚本会为你完成此操作。 - 方向一致。 确保每项研究的效应方向相同(例如“暴露会增加风险”);对于编码方向相反的研究,请反转符号/取比值的倒数。
- 使用相同的效应指标。 不要在一次合并中混用 OR、HR 和均值差。
2 × 1.96适用于 95% CI;90% CI 使用2 × 1.645,99% CI 使用2 × 2.576。
辅助脚本会执行这些转换——建议优先使用,而不是手动计算:
python skills/tooluniverse-meta-analysis/scripts/meta_analysis.py --input studies.csv
# studies.csv columns (use the set that matches your data):
# name, or, ci_low, ci_high (ratio + CI)
# name, beta, se (already on log/linear scale)
# name, mean1, sd1, n1, mean2, sd2, n2 (two-group means -> Hedges' g)
# name, r, n (correlation -> Fisher z)
步骤 2 — 固定效应还是随机效应
| 使用固定效应的情况 | 使用随机效应的情况 |
|---|---|
| 各项研究估计的是相同的真实效应(例如,完全重复的研究、按站点拆分的一项试验) | 各项研究在人群/设计/剂量上存在差异(现实中通常如此) |
| I² 较低(<25%) | I² 中等至较高,或各项研究存在临床异质性 |
不确定时,优先报告随机效应(DerSimonian–Laird)——这是较保守的默认选择,会扩大 CI 以反映研究间方差。
步骤 3 — 使用 MetaAnalysis_run 进行合并
tu run MetaAnalysis_run '{"method":"random","studies":[
{"name":"Smith 2019","effect_size":0.41,"se":0.12},
{"name":"Lee 2021","effect_size":0.67,"se":0.18},
{"name":"Garcia 2023","effect_size":0.33,"se":0.10}]}'
返回 pooled_effect、pooled_se、pooled_ci_lower/upper、pooled_z、pooled_p_value、一个包含异质性指标的区块(Q、Q_df、Q_p_value、I_squared、tau_squared),以及各项研究的权重和 CI(per_study)。
尺度陷阱——请阅读。
MetaAnalysis_run会按你提供的尺度合并数据,并不知道你的输入是比值。对于 OR/RR/HR,你必须传入步骤 1 中经过对数转换的effect_size+se(例如ln(1.42)=0.351,而不是1.42)——传入原始比值会悄无声息地产生错误的合并值,且不会报错。它返回的数值——包括文字说明interpretation字段——也都处于相同的对数尺度。因此:对于比值,请忽略工具的interpretation字段,并自行对pooled_effect和 CI 上下限使用exp(),将其还原为 OR/RR/HR 尺度后再报告。 辅助脚本可避免所有这些问题——它接收原始 OR、跟踪尺度,并输出已完成反变换的结果。
第 4 步 — 解读异质性(决定研究结论)
| I² | 异质性 | 含义 |
|---|---|---|
| 0–25% | 低 | 各研究基本一致;采用固定效应模型是合理的 |
| 25–50% | 中等 | 优先采用随机效应模型;说明变异性 |
| 50–75% | 显著 | 采用随机效应模型;调查异质性的来源(亚组分析/元回归) |
| >75% | 极大 | 合并分析可能不合适——应解释研究为何存在差异 |
Q_p_value < 0.10→ 异质性具有统计学显著性(Q 检验的统计功效较低,因此采用 0.10 而非 0.05)。tau_squared是效应尺度上的研究间方差;> 0表示随机效应模型比固定效应模型多考虑的部分。- I² 处于临界范围(≈25–50%)且 Q 检验不显著(
Q_p_value ≫ 0.10),尤其是研究数量较少时:固定效应与随机效应模型的结果会趋于一致——将随机效应模型作为主要模型报告,并说明固定效应模型的结果一致。若两种模型给出的合并估计值基本相同,就不必过度纠结模型选择。
第 5 步 — 森林图 + 报告
脚本会输出文本森林图(每项研究的效应值、CI、权重百分比,以及合并效应的菱形标记)。按以下顺序报告:
- 合并估计值 + 95% CI + p 值(使用便于解读的尺度——将比值重新取指数)。
- 研究数量和总 N。
- 异质性:I² + Q 检验 p 值 + 所选模型及原因。
- 方向/一致性:所有研究的结果方向是否相同?
示例:“在 3 个队列(N=4,210)中,合并 OR 为 1.51(95% CI 1.33–1.72,p=3.4×10⁻⁶),采用随机效应模型。异质性较大(I²=55%,Q 检验 p=0.11),因此报告随机效应模型;3 项研究的效应方向一致。”
如实说明局限性
- **输入有误,输出也会有误。**元分析无法纠正原始研究中的偏倚;请先检查输入研究的质量(并通过
Crossref_check_retraction检查撤稿状态)。 - **发表偏倚。**仅基于已发表研究得出的合并估计值可能偏高。研究数量 ≥10 时,检查漏斗图/Egger 检验(脚本会提示);研究数量 <10 时,说明无法评估小样本偏倚。
- **生态学/聚合问题。**合并研究层面的汇总数据,不等于合并患者个体数据。
- **不要过度合并。**若 I²>75% 且研究在临床上存在差异,单一数值可能会造成误导——应描述差异。
相关技能
tooluniverse-literature-deep-research— 查找并评估要纳入的研究。tooluniverse-statistical-modeling— 单项研究回归、Cox、OR(提取 HR 请参阅../tooluniverse-statistical-modeling/references/cox_regression.md)。tooluniverse-gwas-study-explorer/tooluniverse-gwas-finemapping— GWAS 专用多队列分析。