メタアナリシスについて

アウトライン
・原理とモデル・方法
・レビューにおける位置づけ
・効果推定値
・益と害の評価へ

このようなアウトラインで、2023年5月20日に日本IVR学会で教育講演を行いました。そのスライドをPDFファイルにしました。Link

講演の中で紹介したシステマティックレビューの際に使用できる評価シートのExcel BookにはRのパッケージであるmetafor, “lme4”, “lmtest”, “optimx”, “dfoptim”, “tcltk2”, “forestplot”, “PropCIs”, “msm”を用いる二値変数アウトカム、連続変数アウトカムのメタアナリシス、Diagnostic Test Accuracy (DTA)のbinomial distributionを用いるbivariate modelのメタアナリシスを行うR用のスクリプトを書き込んであります。評価シートに入力したデータをそのままRを用いて解析することが可能です。
Link (右クリックしてダウンロード)

Cochrane RoB 2に従うランダム化比較試験のバイアスリスク評価用ウェブツール Link

メタアナリシス用のさまざまなRのスクリプトを掲載しているuseRs Link

JavaScriptを用いるメタアナリシスのウェブツールMeta-analysis IZ r Link

Minds診療ガイドライン作成マニュアル2020 ver.3.0 Link

DTAのメタアナリシス-useRs

useRsのサイトでは、さまざまなメタアナリシスのためのR用のスクリプトを提供しています。

Rのlme4パッケージのglmer()関数を用いる回帰分析でBivariate modelのDiagnostic Test Accuracy (DTA)診断精度研究のメタアナリシスを二項分布Binomial distributionを用いて行うスクリプトを掲載しました。このページの#3-2. Bivariate modelで二項分布を用いる診断精度(Diagnostic Test Accuracy, DTA)研究のメタアナリシスです。また、DTA研究のバイアスリスク評価には、QUADAS-2が用いられることが多いですが、それに準じた評価シートDTA_sheet.xlsxも用意しました。Rのスクリプトを含んでいます。また、madaを用いるスクリプトを含むシートも含めています。

図1. SORC曲線。

図1のようなSROC曲線のプロットを出力します。感度、特異度のForest plotも作成します。コンソールにはさまざまな解析結果と、感度、特異度と95%信頼区間、その下にI2値が出力されます。それとともに、クリップボードに各研究の有病率、感度、特異度と95%信頼区間を格納するので、Excelなどに貼り付けることができます。

続けて2行目を実行すると、感度、特異度の統合値と95%信頼区間、統合値のDiagnostic Odds Ratio (DOR)、陽性尤度比、陰性尤度比とこれらの95%信頼区間およびI二乗値と、RevManへ渡すことによって、SORC曲線を描くパラメータを出力します。それとともにクリップボードにもこれらの値を格納するので、Excelなどに貼り付けることができます。

メタアナリシスの部分のスクリプトは以下の通りです。

ma_res = glmer(formula=cbind(true, n – true ) ~ 0 + sens + spec + (0+sens + spec|Study_ID), data=Y, family=binomial)

文献:
Whiting PF, Rutjes AW, Westwood ME, Mallett S, Deeks JJ, Reitsma JB, Leeflang MM, Sterne JA, Bossuyt PM; QUADAS-2 Group. QUADAS-2: a revised tool for the quality assessment of diagnostic accuracy studies. Ann Intern Med. 2011 Oct 18;155(8):529-36. doi: 10.7326/0003-4819-155-8-201110180-00009. PMID: 22007046.

Cochrane Handbook for Systematic Reviews of Diagnostic Test Accuracy version 2.0, 2022. Link

DTAのメタアナリシス

Diagnostic Test Accuracy (DTA) 診断精度研究のMeta-analysis (MA)メタアナリシスは介入の効果のメタアナリシスとは異なります。手法が異なるだけでなく、結果の解釈や活用法も異なります。

DTA MAの結果、感度・特異度の統合値と95%信頼区間、陽性尤度比、陰性尤度比、診断オッズ比(Diagnostic Odds Ratio, DOR)、Summary Receiver Operating Characteristic (SROC) curve、およびSROCの曲線下面積(Area under the curve, AUC)などの推定値が得られます。

DTA MAの統計学的モデルとして、Reitsma のBivariate model二変量モデル、階層モデルである Rutter & GatsonisのHierarchical Summary Receiver Operating Characteristic (HSROC)モデルの使用が推奨されています。共変量を用いない場合は二変量モデルとHSROCモデルは数学的に同じものです(Arends LR;Harbord RM) 。

DTA MAに関する書籍としては、Biondi-Zoccai G ed. Diagnostic Meta-Analysis: A Useful Tool for Clinical Decision-Making. Springer, Cham, Switzerlandが包括的な内容で、有用と思います。また、Cochrane Handbook for Systematic Reviews of Diagnostic Test Accuracyは2022年度Version 2が発表されており、包括的な内容で、SAS、R用のスクリプトが具体的に解説されており、有用だと思います。

Reitsma JBのオリジナルの論文では、近似正規分布を用いるため、症例数が少なく、感度・特異度が95%程度に高い場合には、誤差が大きくなることをChu Hらが指摘しており、Cochraneはコクランのシステマティックレビューに使用することは推奨しないとしています。また、ゼロイベントのある場合に0.5を加算して補正する方法もずれを生じます。そのため、広く使用されているRのパッケージであるmadaの使用は推奨できないと述べられています。実際に、Chu Hらの論文でシミュレーションの結果を見ると、症例数が25例以下、感度・特異度が95%以上になると二項分布を用いる場合とずれが大きくなるのは確かですが、Chu HのLetterに対するReitsma JBの返答で述べられているように、多くの場合臨床上の問題を生じるほどではないと考えられます。

Cochrane Handbook for Systematic Reviews of Diagnostic Test AccuracyのAppendix 14では同じ対象者でCTとMRIを施行し、診断能を比較した5つの研究のDTA MAの例が記載されており、Rのlme4パッケージのglmer()関数を用いて、GLMM (Generalized Linear Mixed Effects Model)で二項分布による回帰モデルを用いています。Appendix 12では同じ対象者で二つの診断法を実施したのではなく、別の対象者でそれぞれの診断法の感度・特異度を測定した研究をもとに、二つの診断法の診断能を比較するための解析法が記載されています。こちらは、間接的な比較という表現が使われており、同じ対象者で直接比較した研究も含めて解析できる方法が示されています。

感度のロジットと偽陽性率のロジットを従属変数とし、各研究の感度のロジットと偽陽性率ロジットで回帰モデルを作っています。ロジットはオッズの自然対数、つまりlogit(se)=ln[se/(1-se)],  logit(sp)=ln[sp/(1-sp)], logit(fpr)=-logit(sp)です。

具体的には図1に示すようなデータに対して、回帰分析を行い、ロジットのExponentialでオッズに変換し、さらにオッズ/(1+オッズ)で割合に変換して感度・特異度の値を求めています。図1の例は同一症例でCTとMRIを施行しており、これら二つの検査法の感度・特異度の統計学的な比較が行われています。

図1.二つの診断法の直接比較のためのデータ。

通常、元になるデータは各研究IDとTP, FP, FN, TN (True Positive, False Positive, False Negative, True Negative)の人数のデータと検査法のデータです。それらから、図1の形式のデータフレームを作成し、以下のスクリプトで解析を行います。

###Comparison of sensitivity and specificity between two tests done in the same subjects###
###Random-effects meta-analysis with bivariate model using binomial distribution###
library(lme4)
library(lmtest)
###Y is a data frame as shown in Fig. 1###
(B = glmer(formula=cbind(true, n – true) ~ 0 + seCT + seMRI + spCT + spMRI + (0+sens + spec|Study_ID), data=Y, family=binomial))
(C = glmer(formula=cbind(true, n – true) ~ 0 + sens + spCT + spMRI + (0+sens + spec|Study_ID), data=Y, family=binomial))
###Is there a statistically significant difference in sensitivity between CT and MRI?
lrtest(B,C)


###Is there a statistically significant difference in specificity between CT and MRI?
lrtest(B,D)

実際には各研究IDとTP, FP, FN, TN のデータから図1の形式のデータフレームを作成する部分のスクリプトも必要ですが、ここではlmer()関数の回帰モデルと図1のデータラベルの関係を考えて、回帰分析とメタアナリシスの関係を考えるきっかけになればと思います。

なお、ここでは触れませんでしたが、感度・特異度の統合値と95%信頼区間の計算はCTとMRIについて別々に回帰分析を行った結果から算出します。

文献:
Chu H, Cole SR: Bivariate meta-analysis of sensitivity and specificity with sparse data: a generalized linear mixed model approach. J Clin Epidemiol 2006;59:1331-2 author reply 1332-3. doi: 10.1016/j.jclinepi.2006.06.011 PMID: 17098577

Reitsma JB, Glas AS, Rutjes AW, Scholten RJ, Bossuyt PM, Zwinderman AH: Bivariate analysis of sensitivity and specificity produces informative summary measures in diagnostic reviews. J Clin Epidemiol 2005;58:982-90. doi: 10.1016/j.jclinepi.2005.02.022 PMID: 16168343

Rutter CM, Gatsonis CA: A hierarchical regression approach to meta-analysis of diagnostic test accuracy evaluations. Stat Med 2001;20:2865-84. PMID: 11568945

Harbord RM, Deeks JJ, Egger M, Whiting P, Sterne JA: A unification of models for meta-analysis of diagnostic accuracy studies. Biostatistics 2007;8:239-51. doi: 10.1093/biostatistics/kxl004 PMID: 16698768

Arends LR, Hamza TH, van Houwelingen JC, Heijenbrok-Kal MH, Hunink MG, Stijnen T: Bivariate random effects meta-analysis of ROC curves. Med Decis Making 2008;28:621-38. doi: 10.1177/0272989X08319957 PMID: 18591542

Rのsource()関数の応用

統計解析プラットフォームとして広く使われており、プログラミング言語であるRにはsource(URL)という関数があります。Rのスクリプトをウェブサーバーにアップロードしておき、そのファイルのURLをsource()関数の引数として設定し、Rでそれを実行させると、ウェブサーバーからスクリプトが読み込まれて実行されます。

解析対象のデータはクリップボードにコピーしておいて、それをread.delim()関数で変数に読み込んで、その変数に対して処理を行うスクリプトを用意しておくことで、各自用意したデータを解析するシステムが作れます。解析したいデータはCSVファイルで用意して、それを読み込ませて解析する方法も可能です。

source()関数で読み込むRのスクリプトはウェブサーバーに置いてありますが、それを読み込んで実行させるスクリプトは各自のPCにインストールしたRで実行します。それを読み込んで実行させるスクリプトは、各自で保存しておくこともできますし、別のウェブページから提供することも可能です。useRsもそのようなウェブページのひとつですが、別の方法でも同じことが可能です。

例えば、メタアナリシスのさまざまなモデルに対応したスクリプトを用意して、ウェブページで選択して、実行させるというようなことができます。

システマティックレビューに必要なExcelシートを集め、メタアナリシスのためのRのスクリプトを含めたBookを作りました。2023_excel_book_for_sr_v.0.96.xlsxから自分の必要なシートをシートのタブを右クリックして、My SR Book.xlsxにコピーを追加し、目次のシートに各シートの名前を入力してそれらへのリンクを設定し、利用することができます。

リスク比、オッズ比、リスク差、ハザード比、平均値差、標準化平均値差 (RR, OR, RD, HR, MD, SMD)のメタアナリシスをRのmetaforパッケージで、診断精度研究のメタアナリシスをRのmadaパッケージを利用して実行します。Forest plotの作成にはRのforestplotパッケージを用いる場合もあります。Rをインストールし、必要なパッケージをRでインストールしてから使います。