Bias adjustment thresholds

2019年にAnnals of Internal MedicineにPhillippo DMらからネットワークメタアナリシスによるエビデンスの確実性からさらに臨床決断へのバイアスの影響を評価する方法について新しい手法が報告されました(1)。GRADE (Grading of Recommendations Assessment, Development and Evaluation)のエビデンス総体の確実性の評価方法(2, 3)と比較した結果が述べられています。

Bias adjustment thresholdsを用いる方法です。GRADEアプローチではバイアスリスク、非直接性、不精確性、非一貫性、出版バイアスを評価し、複数の研究をまとめたエビデンス総体の確実性の評価を行いますが、直接、臨床決断あるいは推奨への影響を評価するわけではありません。Phillippo DMらの方法では、臨床決断を逆転させるバイアスの閾値を評価し、実際の研究の結果に対してそれ以上のバイアスの影響があるかどうかを判断して、臨床決断が逆転しうるかどうかを解析しています。実際にGRADEの方法を用いた場合と異なる結論が得られることが示されています。

Phillippo DMらの論文は、もともと2016年に発表された同じグループのCaldwell DMらの論文(4)がもとになっています。さらに、2018年にはJournal of Royal Statistical SocietyのSeries AにPhillippo DM, Dias S, Ades AEらの論文(5)として発表されています。Journal of Royal Statistical Societyには2009年にTurner RMらのバイアスの定量的モデル化の論文(6)が発表されており、当然のことながら引用されています。

ネットワークメタアナリシスだけでなく通常のペア比較のメタアナリシスについても同じ手法が適用可能です。非常に重要な論文だと思います。

文献:
(1) Phillippo DM, Dias S, Welton NJ, Caldwell DM, Taske N, Ades AE: Threshold Analysis as an Alternative to GRADE for Assessing Confidence in Guideline Recommendations Based on Network Meta-analyses. Ann Intern Med 2019;170:538-546. PMID: 30909295
(2) Guyatt G, Oxman AD, Sultan S, Brozek J, Glasziou P, Alonso-Coello P, Atkins D, Kunz R, Montori V, Jaeschke R, Rind D, Dahm P, Akl EA, Meerpohl J, Vist G, Berliner E, Norris S, Falck-Ytter Y, Schünemann HJ: GRADE guidelines: 11. Making an overall rating of confidence in effect estimates for a single outcome and for all outcomes. J Clin Epidemiol 2013;66:151-7. PMID: 22542023
(3) Balshem H, Helfand M, Schünemann HJ, Oxman AD, Kunz R, Brozek J, Vist GE, Falck-Ytter Y, Meerpohl J, Norris S, Guyatt GH: GRADE guidelines: 3. Rating the quality of evidence. J Clin Epidemiol 2011;64:401-6. PMID: 21208779
(4) Caldwell DM, Ades AE, Dias S, Watkins S, Li T, Taske N, Naidoo B, Welton NJ: A threshold analysis assessed the credibility of conclusions from network meta-analysis. J Clin Epidemiol 2016;80:68-76. PMID: 27430731
(5) Phillippo DM, Dias S, Ades AE, Didelez V, Welton NJ: Sensitivity of treatment recommendations to bias in network meta-analysis. J R Stat Soc Ser A Stat Soc 2018;181:843-867. PMID: 30449954
(6) Turner RM, Spiegelhalter DJ, Smith GC, Thompson SG: Bias modelling in evidence synthesis. J R Stat Soc Ser A Stat Soc 2009;172:21-47. PMID: 19381328

下の図を見て、バイアスの効果についてちょっと考えてみてください。

Bias effects. RR: Risk Ratio; Log (Natural logarithm) of RR normally distribute and are additive, while on ratio scale RR is multiplicative.

Network Meta-analysisをOpenBUGSで

Network Meta-analysisもだいぶ普及してきているけど、Arm-based modelというのが出てきて、今までの相対的効果指標を統合するという考え方がチャレンジを受けたような状態になっていると思う。

今までの主流はContrast-based modelですよね。

そうなんだ。しかも、ベースラインリスクについは、外部のデータを用いることが勧められていたりする。Dias SたちはそれをBaseline modelと呼んでいる*。

ランダム化比較試験の対照群のデータをそのまま使わない方がいいという考え方にも一理ある。ランダム化比較試験は対象者がセレクトされているから、Real worldでは違う絶対リスクである可能性は高いと考えられるから。しかも、個人個人はリスクが異なるから、リスク比のような相対的効果指標をメタアナリシスで統合して、それを適用して絶対効果を考えた方がいいという考えは理解できる。しかし、一方で絶対リスクをどのデータから求めるべきか?なかなか簡単にはいかない。

リスク比のような相対的効果指標の値はベースラインリスクが変わっても大きくは変動しないということが経験的データでも示されていて、メタアナリシスで統合されるそれぞれの研究のベースラインリスクが異なっていても相対的効果指標はほぼ同じになるはずだからそれを統合したほうがいいと思われて来た。 

単純に論理的にのみ考えると、Arm-based modelは研究ごとのランダム割り付けを無視することになるという批判も正しいようにも思えるけど、実際にはそうでもないという反論もあって一概にはそうは言えないでしょう**。

まずはZhang J, et al: Network meta-analysis of randomized clinical trials: reporting the proper summaries. Clin Trials 2014;11:246-62. PMID: 24096635で出てくるArm-based modelのネットワークメタアナリシスのためのBUGSコードとデータ部分を示します。(こちらの論文もよく書かれています:Zhang J, et al: Bayesian hierarchical models for network meta-analysis incorporating nonignorable missingness. Stat Methods Med Res 2017;26:2227-2243. PMID: 26220535)

今日の目的はOpenBUGSを動かしてネットワークメタアナリシスを実行することなんだけど、このArm-based modelのネットワークメタアナリシスをやってみようと思う。OpenBUGSの使い方の第一歩は以前投稿しました。

(参考文献:
*Dias S, Ades AE, Welton NJ, Jansen JP and Sutton AJ: Network Meta-Analysis for Decision Making. 2018, John Wiley & Sons Ltd.
**Hong H, Chu H, Zhang J, Carlin BP: Rejoinder to the discussion of “a Bayesian missing data framework for generalized multiple outcome mixed treatment comparisons,” by S. Dias and A. E. Ades. Res Synth Methods 2016;7:29-33. PMID: 26461816

model {
for(i in 1:tS) {
p[i]<-phi(mu[t[i]]+ vi[s[i], t[i]]) # model
r[i]~dbin(p[i], totaln[i]) # binomial likelihood
}
for(j in 1:sN){
vi[j, 1:tN]~dmnorm(mn[1:tN], T[1:tN,1:tN]) # multivariate normal distribution
}
invT[1:tN, 1:tN]<-inverse(T[,])
for (j in 1:tN){
mu[j]~dnorm(0, 0.001)
sigma[j]<-sqrt(invT[j, j])
probt[j]<-phi(mu[j]/sqrt(1+invT[j, j]))
#population-averaged treatment specific event rate
}
T[1:tN,1:tN]~dwish(R[1:tN, 1:tN], tN) # Wishart prior
for (k in 1:tN) {
rk[k]<- tN+1-rank(probt[],k) # ranking
best[k]<-equals(rk[k],1) # prob {treatment k is best}
}
for (j in 1:tN){ # calculation of RR, RD and OR
for (k in (j+1):tN){
RR[j, k] <- probt[k]/probt[j]
RD[j, k] <- probt[k]-probt[j]
OR[j, k] <- probt[k]/(1-probt[k])/probt[j]*(1-probt[j])
}
}
}
#DATA
list(tN=4,sN=24,tS=50,mn=c(0, 0, 0, 0),R=structure(.Data=c(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1),.Dim=c(4,4)))
s[] t[] r[] totaln[]
1 1 9 140
1 3 23 140
1 4 10 138
2 2 11 78
2 3 12 85
2 4 29 170
3 1 75 731
3 3 363 714
4 1 2 106
4 3 9 205
5 1 58 549
5 3 237 1561
6 1 0 33
6 3 9 48
7 1 3 100
7 3 31 98
8 1 1 31
8 3 26 95
9 1 6 39
9 3 17 77
10 1 79 702
10 2 77 694
11 1 18 671
11 2 21 535
12 1 64 642
12 3 107 761
13 1 5 62
13 3 8 90
14 1 20 234
14 3 34 237
15 1 0 20
15 4 9 20
16 1 8 116
16 2 19 146
17 1 95 1107
17 3 134 1031
18 1 15 187
18 3 35 504
19 1 78 584
19 3 73 675
20 1 69 1177
20 3 54 888
21 2 20 49
21 3 16 43
22 2 7 66
22 4 32 127
23 3 12 76
23 4 20 74
24 3 9 55
24 4 3 26
END

上のブロックをすべて選択して、コピーして、OpenBUGSを立ち上げて、FileメニューからNewを選んで、エディター画面に貼り付けました。

そうそう。そしたら、下の図のように、ModelメニューからSpecification…を選んで、Specification Toolを表示させ、コードのmodelの文字列を選択して反転した状態で、Specification Toolのcheck modelボタンをクリックします。

check model

ボトムバーにmodel is syntactically correctと表示されました。確か次のステップはデータの読み込み、load dataでしたよね。

そうそう。#DATAのlistの文字列を選択して反転させて、Specification Toolのload dataボタンをクリックしましょう。

listをダブルクリックしたら、Specification Toolのload dataボタンがアクティブになりました。クリックしました。あっ、ボトムバーにdata loadedと表示されました。

load data

それでは次に解析対象のデータを読み込ませます。このデータはRのパッケージであるpcnetmetaやいろんなパッケージに付属している禁煙治療のランダム化比較のデータです。
研究数は24件、治療の数は4種類(1) no contact (NC); 2) self-help (SH); 3) individual counselling (IC); 4) group counselling (GC)で、治療アームの数は50です。一行がひとつの治療アームです。コードの#DATA中のtNが治療の数、sNが研究数、tSが比較ペアの数、に対する変数名になってます。治療の種類は次のデータ部分のt[]という変数に1~4の整数で指定されています。研究番号は同じくs[]という変数で表してます。
このデータソースはHasselblad V (1998) “Meta-analysis of multitreatment studies.” Med Decis Making 18(1), 37–43. だそうです。

なるほど。残りのデータは表形式みたいですね。確か、Excelで用意して、コピーして、OpenBUGSのEditメニューからPaste Special…でPlain Textで貼り付けるんでしたね。

その通り。で、s[]から一番下のENDの最後まで選択して、反転させ、Specification Toolのload dataボタンをクリックしてください。

やりました。ボトムバーにdata loadedと表示されたので、Specification Toolのcompileボタンをクリックします。
ボトムバーにmodel compiledと出ました。
load initsとgen initsボタンがアクティブになりましたね。

今回は、初期値の設定のためのデータを特に用意していません。事前分布の値priorをサンプリングする場合、幅広い分布の場合、初期値を設定しないと、非常にはじっこの方の値が得られた場合、Markov Chain Monte Carlo (MCMC)によるGibbsサンプリングがうまく動かなくなることがあるので、そのような場合は、初期値の設定用のデータを用意した方がいいです。書き方は、#DATAのlist()と同じような書き方です。
今回は、T[1:tN,1:tN]~dwish(R[1:tN, 1:tN], tN) # Wishart priorのコードの部分で、マトリックスデータRからWishart分布のランダムサンプリングを行って、マトリックスTに格納する操作をしているので、いずれにせよgen initsの実行が必要になります。load initsなしで、gen initsを実行すると、すべてのランダムサンプリングが実行され、それらの値からMCMCが開始されることになります。

gen initsボタンをクリックしたら、ボトムバーにinitial values generated. model initializedと出ました。
次は、ModelメニューからUpdate…を選んで、Update Toolでupdatesの回数を設定するんでしたね。10000回に設定してみました。それで、updateボタンをクリックしてバーンインを実行します。

Update Tool

あっという間にバーンインが終了しました。

次は、サンプリングした値を記録する変数nodeを設定するんでしたね。InferenceメニューからSamples…を選んで、Sample Monitor Toolを表示して、nodeの右のフィールドに、probtと入力して、setボタンをクリックします。続けて、RR、RD、OR、rk、bestと入力して順次setボタンをクリックしました。全部で6個の変数です。
probtは各治療群の絶対リスクAbsolute risk、RRは各治療ペアでのリスク比、RDは同じくリスク差、ORはオッズ比、rkは各介入が1、2位…の確率、bestは各介入が最善である確率ですね。

その通り。それでは、サンプリングの個数を50000に設定して、つまり、Update Toolのupdatesを50000に変えて、updateボタンをクリックしましょう。

今度は30秒くらいかかりました。結果を見るには、Sample Monitor Toolでnodeのフィールドに*を入力してstatsボタンをクリックするんでしたね。これで、記録された全部の変数nodeの平均値、中央値、95%確信区間などの値が表示されるはずですよね。
出ました。

この結果で、Arm-based modelの特徴として、各治療群の絶対リスクAbsolute riskが得られるということがあげられます。このデータでは、probtの値が大きい方がよい結果です。つまり禁煙成功率が高いということです。
治療4が一番成績がいいことが分かりますね。これはGroup counsellingが禁煙効果が最も高いということですね。best[4]の平均値が0.6667なので、治療4が最善である確率がおよそ0.67であることが分かります。

なるほど、RR, OR, RDについてはすべてのペア比較の値が出てますね。
InferenceメニューからComparison Tool…を選んで、Comparison Toolを表示して、nodeにRRと入力して、caterpillarプロットを表示してみました。プロットを右クリックして、Propertiesからフォントを変えたりしてみました。
probtとRRのdensity(確率密度分布)も表示してみました。

density

リスク比はそのままだと、正規分布ではないですね。対数変換すると左右対称の分布になるはずです。

さて、今回はArm-based modelを用いたNetwork Meta-analysisをOpenBUGSで行いました。同じ解析をRのパッケージであるpcnetmetaを使って実行することができます。同じ結果が得られるはずです。nma.ab.bin()という関数を使うんだけれど、model=”het_cor”にした場合、今回のモデルと同じになります。pcnetmetaでは、下のような、Network Graphも作成できます。

pcnetmetaだけでなく、RのパッケージのプログラムやデータファイルはGitHubで見られるんですね。これってすごいですね。

今回は、OpenBUGSの動かし方についての説明だけで、Network Meta-analysisの統計学的モデルの説明はしなかったけれど、本当はそっちが重要ですね。Arm-based modelは今までの、通常のペア比較だけのメタアナリシスに対しても適用できて、しかも単一群のつまりSingle-armのコホート研究や疾患レジストリーのデータなども活用できる可能性がある。Zhang J, et al: Bayesian hierarchical methods for meta-analysis combining randomized-controlled and single-arm studies. Stat Methods Med Res 2019;28:1293-1310. PMID: 29433407の論文でわかるよ。それと、間接比較の際に、欠損値の補完という考えを適用するというHong Pらの方法も画期的ですね。Hong H, et al: A Bayesian missing data framework for generalized multiple outcome mixed treatment comparisons. Res Synth Methods 2016;7:6-22. PMID: 26536149

これはすごい進歩ですね。本当に。まだまだ議論が続きそうな気配ですね。問題は、直接比較と間接比較のインコヒレンスだけではないですね。

最後にArm-based modelとContrast-based modelを式で表したものを見せるね。

Arm-based model
Contrast-based model

New PubMed

US National Library of Medicineが運営する医学文献データベースPubMedが新しくなりました。2020年の春には、今までのLegacy PubMedは無くなり、New PubMedに完全に移行するそうです。

デザインが変わっただけでなく、機能的にもかなり変わっています。デフォルトのソーティングがBest Matchになり、AIも導入して、それまでの類似の検索でクリックされた文献の情報を学習して、テーマと関連があると思われる文献を上位に表示するそうです。The New PubMed is Hereというページに簡単な解説があります。

検索結果のリストでCiteという部分をクリックするといくつかのフォーマットで引用文献に使えるよう、クリップボードにコピーすることができます。論文を書くときに引用文献を付ける作業に便利でしょう。Shareという部分をクリックすると、FB、TwitterにPubMed内のその文献へのリンクをアップしたり、リンク(PERMALINK)をコピーしたりできます。その検索式でのアラートCreate alertの作成もできるとのことです。

検索結果のソーティングをMost recentに変更することもできます。従来通り、左サイドバーにARTICLE TYPEでMeta-analysis, Randomized controlled trial, Systematic reviewを指定したり、Additional filtersからはObservational Studyなどを指定できます。

SAVEからはSummary, RIS, PMID, Abstract, CSVの形式でファイルとしてダウンロードできます。RISはResearch Information SystemのことでEndNoteで直接読み込める形式のテキストファイルです。従来のMEDLINE形式に似てますが、MeSHの情報が含まれていません。MEDLINE形式のファイルを利用していたプログラムは改修が必要ですね。

現在1分に2件のスピードで新たに文献が収載されているそうです。文献数の増加に伴い、より効率的な検索法が必要になり、それを開発しているということですね。New PubMedでは、PCだけでなく、タブレット、スマートフォンでも同じ機能が使用できるそうです。

2020年4月1日のNewPubMedに関する投稿はこちらです。

EBM 2019年

“Evidence-Based Medicine: How to practice and teach EBM”という本はSackett DLが第一著者の初版が1997年に出版されました。その後、2000, 2005, 2011年と改訂版が出版され、 2019年に第5版が出版されました。もうSackett先生の名前は著者に入ってませんが、Dedication: This book is dedicated to Dr. David L. Sackett.と書かれています。Sackett先生は2015年に他界されました。

Straus SE, Glaszious P, Richardson WS, Haynes RB: Evidence-Based Medicine: How to practice and teach EBM. (5th edition) 2019,  Elsevier Ltd., New York.です。

初版から22年経過し、その間には社会に、医療に、医学に大きな変化がありました。特にICT (Information and Communication Technology)の発展・普及、患者中心の医療、さまざまな疾患の病態の解明と新しい診断法・治療法の開発と実用化、介護・医療制度改革、医学研究や医療の情報量の増大、等々です。

EBMは医療者個人の医療の実践体系ととらえられ、個人でクリニカルクエスチョンに基づいて、文献検索を行い、関連のある研究論文を見つけ、批判的吟味をして、エビデンスを活用するというステップで考えられてきたと思います。しかし、医療情報が莫大になり、検索は簡単にできても、関連のある文献を選定する作業に時間がかかりすぎるようになってきました。さらに、それを読んでまとめるとなると非常に時間がかかり、ひとりでできる作業ではなくなってきています。医療でEBMを実践することが、個人ではできない時代になりつつあるのではないでしょうか?

下の図に示すP5のレベル3の診療ガイドライン、レベル4のレベル1~3をまとめたもの、などを情報源として用いれば十分やっていけるという考えもあるかもしれません。レベル4はUpToDate, DynaMed, Medscape Reference, Best Practice, Micromedexなどがリストアップされています。

”医療上の疑問が生じた際に、タイムリーに科学的に妥当な、最新の情報を、短時間で理解できる内容にまとめた形で、入手して、意思決定に適切に用いられるようにするにはどうすればいいのか?”それには、医師、看護師、薬剤師など医療提供者だけでは実現できません。医療提供者、医療利用者など当事者だけでなく、ICT技術者、ICT企業、出版社、クラウドサービス提供企業なども協働で参加しないとできないでしょう。

今後はレベル5のSystemsを追求すべきで、さらにエビデンス生成の分野も統合して、…こんな風に考えながら、このEBMの本のEBHC Pyramid 5を眺めているところです。

どんどん変わっていきますね。Take a “P5” approach to evidence-based information accessって書いてあるんですね。

P5というのが面白いでしょ。一番上の5.Systemsって最初何のことがわからなかったけど、これってGAFAが隆盛を誇っていることとも関係してるよね。そう思わない?P4 medicineというのもあるけど。 predictive, preventive, personalized, and participatoryって言うんだけれど。これは、Pyramid 5なんだ。

ハハハハ。面白い。Google, Apple, Facebook, Amazon!医療情報の検索はiPhoneからGoogleで、論文の内容はAIがまとめます、ドクター探しは、Facebookで、医療費の支払いもリブラで、お薬はAmazonで、ですか?それはどうかな?

でも彼らが本気で取り組めばできるんじゃないかな?資金も技術力もあるし、タレントを世界中から集められるし。

第4版では、Take a “6S” approach to evidence-based information accessになってますね。わかりやすくするために番号を付けると、一番上が(6) Systems: Computerized decision supportになってますよ。
次が、(5) Summaries: Evidence-based textbooks, (4) Synopses of syntheses: Evidence-based journal abstracts, (3) Syntheses: Systematic reviews, (2) Synopses of studies: Evidence-based journal abstracts, (1) Studies: Original journal articlesの順ですね。

こういうのは第1版、第2版には少なくともなかったね。

Synopsis、summary, abstract概要、抄録などを見ればいいのではないかと思えてしまうよね。他の人たちが批判的吟味を行ったその結果のまとめという意味だね。結論に至った過程を信用して。。自分の頭では考えないで。。

EBM実践のステップについても、Step 3にエビデンスの妥当性とインパクト(:効果の大きさ)の批判的吟味を行うことが述べられています。この”効果の大きさ”は意思決定には非常に重要な項目です。しかし、”患者の価値観に基づいてBenefit and harmあるいはBenefit and riskを明らかにして”というような表現はStep 4にはまだ取り上げられていません。

でもこれよくできてますね。しかも、これはずっと変わっていないですね。

わかる?Impact (size of the effect)って書いてあって、エビデンスの確実性、ここでは妥当性validity (closeness to the truth)って書いてあるんだけど、それの批判的吟味を重要と考え効果の大きさのことはあまり考えない人が多いので、ここのところはいいなって思ってるんだ。

そうですよね

個人レベルでのBenefit and harm益と害の大きさを判断するには概要や抄録の結論だけでは無理ですよ。health literacyヘルスリテラシーとnumeracyニューメラシーの理解の深さがどこまで求められるかよく考えないと。

今後は、SynopsisやSummaryが個人個人の意思決定に必要な数値データを提示する必要があるんじゃないかな?

EBMの定義については、以下の様になっています。(下の方の3つの項目は自分の解釈です。)

これは巻末の用語解説に書いてあるもので、最初のIntroductionの冒頭にも”What is evidence-based medicine?”と書いてあって、”Evidence-based medicine (EBM) requires integration of the best research evidence with our clinical expertise and our patient’s unique values and circumstances.”なんて書いてあるんですよ。これは”EBMは最善の研究エビデンスと我々の臨床的専門的技能・知識と患者さん固有の価値と状況と統合することを必要とする”ということだけを述べています。

ふーん、なるほど。最初の部分がないんですね。最初の部分も重要だと思うんですけどね。状況というのはその患者さんの置かれた状況のことらしいですね。

このあたりの記述もずっと変わっていないですね。

1998年のMulrow CEの臨床決断に関与する要素にはほぼ同じような内容が示されていました。

さて、最後にForeground questionsとBackground questionsについてわかりやすい説明があります。今回はこれで最後です。