見出し画像

JAMAの個別化治療の論文について: Individualized Treatment Effects of Oxygen Targets ~

最近出たJAMAのこの論文に関して質問されることが多かったのですが、そんな折、ちょうどTXP勉強会で研修医のS先生が発表してくれました。しっかり読んでくれていたので理解しやすかったです。内野先生のblogの内容を受け売っていた部分もあった気がしますが。

というわけでTXP勉強会での議論を少しまとめました。全部は無理ですが、これまでに聞かれた質問も含めて、盛り上がった議論の部分に関してです。最近のnoteは精神論的なことしか書いていなかったのですが、たまにはこういう記事もということで(けど、こういう記事はあまり人気がない)。


1. HTEに関して

HTE自体は最近各所で言われてるので、ご存知の方は多いと思いますが、治療効果は細かい集団あるいは人によって違うだろうから、ターゲットとなる集団を機械学習で見つけたいという話です。予測と因果推論の違いが明瞭でないと(明瞭であっても)この辺りを理解するのは難しいのですが、めちゃくちゃざっくり言うとAIによるサブグループ解析みたいな感じでしょうか(語弊は多分にあります…)

HTE推定の手法の一つであるcausal forest/tree自体は2020年頃から国内の臨床系の学会で発表している先生がいました。回すだけなら簡単なのですが、理解して応用するのは結構難しいです。下記はcausal forestを用いた僕らの論文です。

そもそもHTE自体よく分からないという人は、下記のNEJM Evidence(字幕付き)の5分程度の動画が分かりやすいのでどうぞ。Conditional ATEという概念が難しいかもしれませんがイメージはつくと思います。

How Treatment Effect Heterogeneity Works | NEJM Evidence

2. 研究の流れ

本研究では2つのRCTを用い、片方のデータセットで与えられた変数を用いてConditional Average Treatment Effect(CATE)を推定し、そのモデルを用いて個々人の治療効果であるIndividualized treatment effect(ITE)を予測しています(Figure 2には既視感)。細かいことを言うとCATEはestimandがidentifiableなので推定ですがITEはそうではないので予測です。

臨床医の先生がこの論文の手法論を全部理解しようとするのは避けた方がいいと個人的には思うので、下記の流れさえ理解していれば十分かと。

① 全体としては、2つのRCTデータセット(PILOTとICU-ROX)を用い、PILOTで個人の治療効果を予測するモデルを作り、ICU-ROCでモデルを元にした効果推定値を出した
②   まずPILOTのデータセットで機械学習を用い「どんな特徴を持った患者群に治療効果がありそうか」を推定するモデルを作った
③ 2のPILOTで得られたモデルを用いて、ICU-ROXのデータセットの個々人の治療効果を予測した
④ 予測された治療効果順に患者を並べ、3群に分けた(3等分)
⑤ 各群で治療効果を実際に予測し(ICU-ROXもRCTなので各群内でITT解析をするだけでよい)治療効果の異なるサブグループに分けられていることを確認した

観察研究データだとどうしてもデータの質が悪く、また治療割り付けがランダムでないためCATEの推定がうまくいかない可能性が高いのでRCTを用います。またCATE推定はかなりのサンプルサイズがないと精度が落ちうるため、よりサンプル数の多いPILOTをモデルの開発に用いています。

(※補足)従来のprognostic modelの研究の枠組みだとtraining/testing(もしくはtrain/validation/test)に分割することが多いですが、ただでさえ不安定なCATEモデルを用いる場合、nが数千程度では全体をmodel developmentに使用した方が良いのでは?という話。内部のhonest approachでRFの構造構築にsplittingが用いられていたり、cross-fittingを使用することで多少緩和されると考えられます。

重症度に関してはSOFAとAPACHEという項目を単純に用いず(換算しても古い指標なので現在の治療環境における重症度を正確に反映していないだろうという理由から)、それぞれのデータで実際の死亡率を用い、各スコアとの相関を踏まえて重症度の指標として用いています。

これは実際の死亡率を用いて変換しているからリークではないか?と発表者のS先生から質問がありましたが、真意は異なるスコアを同じスケール(確率)に換算したいというところだとは思います。従って、仮にSOFAとAPACHEに変換を使っても多分結果はそんなに変わらないでしょう。また、個人単位ではあくまでスコアの変換で、「その人の」アウトカム情報を使っているわけではないので、という感じでしょうか(平均的にリークしているイメージ?)。交絡調整法にprognostic scoreとかありますが、それに近いことをしようとしている印象を受けました。

また、あくまでもCATE、treatment effectを推定しているのであり、予測モデルを作っているわけではないので、そこまで影響もないのではという結論(リークという概念よりも、absolute risk reductionを求める上ではabsolute mortality rateを参考にしなければならないのでは。特にT/X-Learner)。

まあここはreviewerにも相当言われたところでしょう。

3. モデルの話

自信を持って説明はできませんが、機械学習と因果推論、特にHTE推定に関しては最近出た下記慶應大学の菅澤先生の記事と、金本先生の因果推論本がおすすめです(非常に総論的で読みやすい)。

HTEの推定はたくさん方法があって、どれが良い、あるいはどれが理論的に用いられるべきというのは議論の最中かと思います(つまり、現時点ではこの研究ならこの手法、というものはあまりない…はず)。Causal forestの推定精度が悪いという指摘はちょいちょい聞きますが。

本研究では6つの機械学習手法を用いており、Causal Forest、Uplift Random Forest、Tian transformation with elastic net(やや古典的な方法)、X-learner with Bayesian Additive Regression Trees (X-BART)、Rboost、Rlassoが用いられています。

HTE推定にはcausal forest系(causal forest、causal BARTなど)とmeta-learner系(** - learner)があり、最終的に用いられたRboostはmeta-learner系の手法で、Uberが使っている手法の一つとして脚光を浴びています。

Meta-learner系は複数の基本的な予測モデルの手法を組み合わせて治療因果効果を推定するのですが(base-learnerと呼ばれる部分)、そこにXGBoostを用いたということになります。ちなみにset.seedの影響を受けるため(初期ランダム値に影響されるため)、そこに対して5個モデルを作って平均を取ったというのはなるほどなと。5個でいいかどうかは分かりませんが。

(※補足)統計家の先生のコメントによると、『R-learnerは効果の関数tauがパラメトリックに与えられていればg-estimationの推定方程式に帰着し(裏返すとg-estimationのノンパラ版?)、g-estimationが条件付き効果の推定方法なので自然な形に思えます』とのこと。またR-learner/Doubly Robust (DR)-learnerはdouble/debiased machine learning (DML)によって過適合/正則化バイアスにアプローチしています。

先に述べた通り、臨床家がこれらの違いを知ってどれを使うかは決められないので、経験者に相談するのが一番良いです。

ただ、本研究のように6つのアルゴリズムを用いて、adjusted qini valueで評価してそれでモデルの良し悪しを判別するのが良いのか?と言われると個人的にはちょっとよく分かりません。

別件で統計家の先生に聞いたところでは、『そもそもどれを使うかは事前に一つを決めておく方がよく、幾つも試してどれがいいか?とするとcherry pickingを疑われる』とおっしゃっていたのでなるほどなと思いました。

ちなみに動画にもありましたが、HTEにおける多重検定的な話は過去の勉強会でも少し触れています。やはりベイズ…

4. 臨床研究の視点から

・この論文の実質的なキープレイヤーは筆頭のBuellとsecondのSpicerで、Buellが臨床的文脈を築き、Spicerが実装したと思われる
・LastのMatthew Churpekはウィスコンシン大学の呼吸器・集中治療医でSpicerのボスにあたり、彼がPaul Young(集中治療で知らない人はいないと思いますが、MEGA-ROX trialのPIでもあります)やMatthew Semlerらにデータ提供を依頼して進めたのでしょう
とその筋(怖い意味ではない)の先生からコメントをもらいました。

sFigure 2にはvariable importance(どの変数が重要か)が出ており、これは予測モデルの研究などでも良く見る図表です。この重要度を元にFigure 1Aではwaterfall plotの形で、一つ一つ重要な変数を入れていくと患者のITEの推定値がどう変化するかを見ています。ただ、HTEにおけるvariable importanceは基本的にcorrelationを無視しているので(例えば血圧が低い人は他のバイタルも崩れているため、どの変数が大事とかはクリアカットには言えない)、sFigure2のような変数の重要性だけ出してもあまり意味がないし、それを踏まえてFigure Aを見ると、不安定なモデルから一つ一つ変数を追加していくのはやってる意味がわからないのではと。各変数の影響を見たいのであれば、そもそもdevelopされたモデルを用意し、そこに一つ一つの変数を動かして見せた方が良いのではという意見も出ました。

そして今回のようなITEの求め方ではabsolute risk differenceを見ているわけですが(-6%減少とか)、ITEが大きい人はそもそものpredicted mortalityが高いだけだから、そういう人を予測しているだけではないか?という話もあります。まあ、この辺の話に関してはそのうち論文が出る…はず。

そもそもHTEを見る際に、どういう患者集団であるかという臨床医視点でのグループを知りたいのか、それともどのような因子が影響していて病態生理学的にどうなのか?という視点によって選ぶ手法も変わっていくので、今後どんどん論文が出るとは思いますが、その辺も踏まえて注視していきたいところ。

もしかしたら「どういう患者集団であるか知りたいだけなら、変数は結局同じだし従来のサブグループ解析や因果推論の方法ではだめなのか?」という疑問が沸くかもしれません。ただ、事前に決められたサブグループというのはある程度恣意的(層別に効果が異なるであろうという予想)なものであり、人間の頭で多次元に落とし込むのは難しいです。せいぜい、3変数くらいまででしょう。例えば高齢者で女性、高血圧あり、とか。 そこに対して今回の研究のようにdata-drivenにすることで、model-free / hypothesis generatingであるという点が面白い点になるかと思います。

とりわけHTE/ITEが面白くなる点として、一般にhigh-benefit群とhigh-risk群は普通correlateすると考えられますが、そこが異なった場合に面白いのでは?というコメントもあり、確かにそれはそうだなと。

最終的な研究結果に関しては、限界はあるもののheterogeneityを捉えており、次のRCTに向けてどうするか?というところになるかなとは思います(メカニズム探索の方に向くのはやや難しい印象)。MEGA-ROXでさらにvalidateされるのであれば、AIによる最適化がRCTで検証されるでしょう。

今後は新しい手法でheterogeneityを捉える研究がどんどん出現し、その細分化された層にどうアプローチするか、どうimplementするか、どうメカニズムに繋げるかが主体になっていくと思うので楽しみですね。

5月の計量生物学会では慶應の菅澤先生や東京理科大の大東先生らによるベイズを用いたHTE推定の話があるので楽しみにしています。

※本noteの内容に関しては、
アリゾナ大学経済学部原湖楠先生
コロンビア大学循環器内科大沢樹輝先生
東京理科大学工学部情報工学科篠崎智大先生
にアドバイスを頂きました(所属は2024年4月時点)。
心より感謝申し上げます。

この記事が気に入ったらサポートをしてみませんか?