メタアナリシス
解説
メタアナリシスは、同一のリサーチクエスチョンに関する複数の独立した研究結果を統計的に統合し、全体的な効果を推定する手法です。システマティックレビューの定量的な部分を担い、適切に実施された場合、エビデンスの確実性を高めることができます。
原理
- 目的: 個々の研究では検出力が不足する効果を、複数研究の統合により精度の高い推定値として得ます。
- 方法: 各研究の効果推定値を、その精度 (分散の逆数) で重み付けして統合します。
- 前提: 統合する研究が十分に類似しており、統合が意味を持つことが必要です。
効果指標の種類
比の指標 (対数スケール)
- オッズ比 (OR): 事象発生のオッズの比。ケースコントロール研究やまれな事象で使用。
- リスク比 (RR): リスク (発生割合) の比。RCT やコホート研究で推奨される。
- ハザード比 (HR): 生存時間分析における瞬間的ハザードの比。
- 効果なしの値: いずれも 1
差の指標 (線形スケール)
- リスク差 (RD): リスクの絶対差。治療必要数 (NNT) の計算に直結。
- 平均差 (MD): 連続アウトカムの平均の差。同一尺度で測定された研究で使用。
- 標準化平均差 (SMD): 異なる尺度で測定された研究を統合する際に使用。
- 効果なしの値: いずれも 0
統計モデル
固定効果モデル (Fixed-effect model)
- 仮定: すべての研究が同一の真の効果を推定している。
- 適用: 研究間の差異が偶然誤差のみで説明できると考えられる場合。
- 特徴: 推論は解析に含まれた研究に条件付けられる。
ランダム効果モデル (Random-effects model)
- 仮定: 各研究の真の効果は、効果の分布からの標本である。
- 適用: 研究間に臨床的・方法論的な多様性がある場合。結果をより広い文脈に一般化したい場合。
- 特徴: 研究間分散 (τ²) を考慮し、予測区間の算出が可能。
異質性の評価
異質性 (heterogeneity) とは、メタアナリシスにおける研究間の効果のばらつきを指します。
- Cochran's Q 検定: 異質性の有無を検定。研究数が少ない場合は検出力が低いため、有意水準 0.10 が用いられることがある。
- I² 統計量: 研究間の変動のうち、偶然誤差では説明できない割合を示す。
- 0% から 40%: 重要でない可能性がある
- 30% から 60%: 中程度の異質性を示す可能性がある
- 50% から 90%: 実質的な異質性を示す可能性がある
- 75% から 100%: かなりの異質性
- τ² (タウ二乗): 研究間分散の推定値。
- 注意: I² の解釈は、効果の方向や大きさ、異質性の原因の検討と合わせて行う必要がある。
フォレストプロット
- 目的: メタアナリシスの結果を視覚的に表現する標準的な図。
- 構成要素:
- 各研究の効果推定値 (四角形) と信頼区間 (横線)
- 四角形の大きさは研究の重みを反映
- 統合効果推定値 (ひし形)
- 効果なしの線 (垂直線)
- 解釈: 信頼区間が効果なしの線と交差する場合、その研究単独では統計学的に有意な効果は示されていない。
ファンネルプロットと報告バイアス
- 報告バイアス: 研究結果の性質や方向によって、研究の公表や入手可能性が影響を受けること。出版バイアスはその一種。
- ファンネルプロット: 効果推定値と標準誤差の散布図。非対称性は報告バイアスを示唆する可能性があるが、他の原因 (小規模研究効果、真の異質性など) でも生じうる。
- Egger's 検定: ファンネルプロットの非対称性を検定。
- Begg's 検定: 効果推定値と分散の順位相関を検定。
- 注意: 研究数が少ない場合 (目安として 10 未満) は検出力が不十分であり、検定結果の解釈には注意が必要。
実用面
メタアナリシスは、Cochrane レビュー、診療ガイドライン、医療技術評価などにおいて中心的な役割を果たします。 報告には PRISMA 声明への準拠が推奨されます。
具体例
ある降圧薬の心血管イベント予防効果を評価するため、5 件のランダム化比較試験の結果を統合します。
各試験から介入群と対照群のイベント数と総数を抽出し、リスク比を効果指標として選択しました。ランダム効果モデルで統合した結果、統合リスク比は 0.82 (95% CI: 0.71-0.95) となり、降圧薬群で心血管イベントのリスクが低いことが示されました。
I² = 42% で中程度の異質性が認められ、これは対象集団や追跡期間の違いで説明できる可能性があります。ファンネルプロットは概ね対称的で、Egger's 検定は有意ではありませんでした (p = 0.38)。
注意点
メタアナリシスを実施・解釈する際の注意点は以下の通りです。
- 研究の選択: 含める研究の適格基準を事前に明確に定義し、系統的に検索することが重要です。
- 臨床的多様性: 参加者、介入、アウトカムが研究間で十分に類似しているか検討してください。統合が適切でない場合もあります。
- 方法論的多様性: バイアスのリスクが研究間で異なる場合、感度分析を実施してください。
- 統計学的異質性: 異質性が高い場合、その原因を探索し、結果の解釈に反映させてください。
- 報告バイアス: 特に研究数が少ない場合や効果が大きい場合、報告バイアスの可能性を考慮してください。
- 効果指標の選択: 研究デザイン、アウトカムの種類、臨床的解釈のしやすさを考慮して選択してください。
- データ入力: 効果推定値と信頼区間を直接入力する場合、元論文の信頼区間水準を正確に指定してください。
- 結果の解釈: 統計学的有意性だけでなく、効果の大きさ、信頼区間の幅、エビデンスの確実性を総合的に評価してください。
| 分類内容 | 値 | |
| {{ item.tag }} |
データの取り扱い
- データインポート
- データの読み込みは、ブラウザ内で完結し、外部へのデータ送信は発生しません。
- データ保持
- 読み込んだデータはブラウザ内に保持されます。
- ブラウザのセッションが終了または全てのタブが閉じられると、保持していたデータは自動的に破棄されます。
- データの安全性
- ブラウザがクラッシュした場合でも、10分経過すれば次回の起動時にデータは安全に消去されます。
- 共用のPCでの使用も考慮し、データの外部漏洩のリスクを最小化しています。
クラウド R を利用する時のデータ送信
- 最小限のデータ送信
- 外部のRサーバーへ送信されるデータは、数値計算に必要な最小限のセットに制限されています。
- 送信データは解析に必要なサブセットのみに限られます。
- ユーザーコントロール下のデータ送信
- 送信前に、どのデータが外部サーバーへ送信されるのか内容を確認することが可能です。
- データの送信はユーザーの操作により行われ、自動的な送信は行いません。
- クラウド R 出力結果の保持
- クラウド R からの出力結果は、将来の自動翻訳や自動解説の機能実現のため、サーバーがデータベースに保持します。
- その際に、送信者の情報や、計算元となるデータなど、プライバシーに関わる情報は保持しません。
- 通信経路も全て暗号化していますので、たとえプライバシーに関わる情報が含まれていたとしても、通常は漏洩する恐れはありません。
AI による解説を利用する時のデータ送信
- 最小限のデータ送信
- 外部のAIサーバーへ送信されるデータは、クラウド R の出力結果と、用いた統計手法の徐放です。
- ただし、クラウド R の出力結果に連続した数値データが含まれる場合は、AI にデータ形式を認識させる目的で、連続データの最初の行のみを送信します。
- クラウド R 出力結果の保持
- AI による解説内容は、将来の品質向上などのため、サーバーがデータベースに保持します。
- その際に、送信者の情報や、計算元となるデータなど、プライバシーに関わる情報は保持しません。
Reactive stat において、統計データの変数は、通常の数値や文字列として扱われます。 したがって、日付や時間の概念は直接的にはサポートされていません。
統計計算を行う際には、日付や時間の差分を数値として事前に用意しておく必要があります。
チェックされた行が削除対象となります
削除対象の行
データ入力
AI による R コードの解説
R の出力結果
R出力図形
AI による R 出力結果の解説
- データ: カラム名 (列名) をそのまま記述するか、"列名" のようにダブルクォートで挟んで指定
- 算術演算子: +, -, *, /, ()
- 基本関数: abs(), sqrt(), pow(), exp(), log(), log10()
- 三角関数: sin(), cos(), tan(), asin(), acos(), atan()
- 丸め関数: round(), floor(), ceil()
体重 / pow(身長, 2), "体重" / ("身長" * "身長")
{{ column }}
{{title}}
|
{{ settings.effectMeasure }} {{ modelLabel }}, {{ studyCILevel }}% CI |
{{ settings.effectMeasure }} {{ modelLabel }}, {{ studyCILevel }}% CI |
||||||
|---|---|---|---|---|---|---|---|
| {{ study.study }} | {{ formatNumber(study.interventionEvents) }} | {{ formatNumber(study.interventionTotal) }} | {{ formatNumber(study.controlEvents) }} | {{ formatNumber(study.controlTotal) }} | {{ formatWeight(study) }} | {{ formatEffectCI(study) }} | |
| {{ t("total") }} ({{ settings.confidenceLevel }}% CI) | {{ totalInterventionTotal }} | {{ totalControlTotal }} | 100.0% | {{ formatPooledEffectCI() }} | |||
| {{ t("totalEvents") }} | {{ totalInterventionEvents }} | {{ totalControlEvents }} | |||||
| {{ t("heterogeneity") }}: {{ formatHeterogeneityStats() }} {{ t("testForOverallEffect") }}: {{ formatOverallEffectTest() }} |
← {{ t("favours") }} {{ favoursLeftLabel }}
{{ t("favours") }} {{ favoursRightLabel }} →
|
||||||
| {{ t("testForOverallEffect") }}: {{ formatOverallEffectTest() }} | |||||||
| {{ t("effectMeasure") }}: | {{ settings.effectMeasure }} ({{ effectMeasureName }}) |
| {{ t("pooledEffect") }}: | {{ formatPooledEffect() }} |
| {{ settings.confidenceLevel }}% {{ t("confidenceInterval") }}: | {{ formatPooledCI() }} |
| {{ t("statisticalSignificance") }}: | {{ getSignificanceText() }} |
| {{ t("heterogeneityI2") }}: | {{ formatI2() }}% - {{ getHeterogeneityInterpretation() }} |
| {{ t("cochranQ") }}: | {{ formatChiSquare() }} |
| {{ t("tau2") }}: | {{ formatTau2() }} |
| {{ t("numberOfStudies") }}: | {{ forestData.length }} |
{{ t("funnelPlotTitle") }}
| Egger's Test: | {{ formatEggerTest() }} ({{ getEggerInterpretation() }}) {{ t("testNotAvailable") }} |
| Begg's Test: | {{ formatBeggTest() }} ({{ getBeggInterpretation() }}) {{ t("testNotAvailable") }} |