二択で迷ったらアグレッシブな方を選べ

本ブログのコンセプトは 「外科系臨床医に臨床研究について知ってもらう」です。自分で勉強したことを備忘録として気ままに書いていますので、情報の真偽については責任を負いかねます。また専門性が高い方にとっては内容が浅い点、分量が多くて読み辛い点もご了承くださいませ。

カテゴリ:臨床研究で勉強したこと > 欠測の取り扱い

先日読んだ論文での欠測の取り扱いが、「線形混合モデルなので不要」みたいに書いてあって理解できなかったので、ちょっとしんどいですが出所のJ Clin Epidemiol(2021IF7.4)の論文をみてみます。アムステルダム自由大学の疫学教室から2013年の報告。

Multiple imputation of missing values was not necessary before performing a longitudinal mixed-model analysis

【introの概要】
・多重補完などの欠測補完法が発展している
・欠測パターンは2つ
 - intermittent(一定期間だけ欠測)とdropout(以降すべて欠測)
・欠測メカニズムは3つ
 - MCAR、MAR、MNAR(詳細は別記事で詳述)
・縦断研究では多重補完+mixed-modelが妥当(MCARかMARの場合)
 - でも数学的理論と現実のギャップもあり、本当に必要かは不明
 - なのでシミュレーションしてみます

【Methods】
・連続値アウトカムYを147人×6回測定した実在データを使用
 - 時間非依存の2値Xdich/時間依存の連続値Xcontも含まれる
 - 2-6の各測定で15、25、35、45、55人のデータを欠測に
 - Yが欠測した場合Xも欠測
・メカニズム別に欠測させた4データセットを準備
 - MCAR:完全にランダム
 - MAR_1:各時点のXdich=1からランダム欠測
 - MAR_2:1回前で測定されたYが最高者のデータを欠測
 - MNAR:各時点でYが最高者のデータを欠測
・Data augmentation(反復マルコフ連鎖モンテカルロ法)で多重補完(MI)
 - intermittentとdropoutを含む欠測補完の最新手法
 - 別時点のYの情報も使用して補完
 - 補完データセットは5と50
 - STATAでmi
 *MCMC自体がわからなかったのでこの記事参照
・Mixed-model(MM:multilevel-, random effects-ともいう)の特徴は
 - 同一個人内の複数時点の相関を調整(モデル化)
 - 縦断データの解析に適する
 - 各個人の平均値が異なることを考慮するのがランダム切片
 - 各個人で関連が異なることを考慮するのがランダムスロープ
 - 固定効果(回帰係数)とランダム効果(その分散)を推定する
 - STATAでxtmixed
・解析は2パターン
 - Yと時間非依存のXdichの関連(RCTを想定)
 - Yと時間依存のXcontの関連

【結果の概要】
・MCAR
 - いずれも真の回帰係数に近く僅かに高い標準誤差
・MAR
 - 各解析の値は概ね同じだが、真値とはやや異なる
 - 標準誤差はXcontではばらばら
・MNAR
 - 回帰係数はばらばらで、真値とも大きく異なる
 - 標準誤差はXdich<真値、Xcont>真値で意味不明

【考察の抜粋】
・標準誤差はMM、MM+MIで異なり、真値より(とくにXcontで)やや高くなる
・回帰係数はMCARならMIがやや有利だが、他はそうでも
MNARの場合どっちにしろダメ
Xcontの標準誤差はMM+MI>MM
 - MM+MIが過大評価?MMが過小評価?
 - MM+MIは不要に複雑なモデルを用い、ノイズも持ち込む可能性
 - MMは計算効率がよいし、計算も安定
 - だからMI要らないでしょ
・研究外の欠測を説明するデータが使えればMIもいいかも
 - でも縦断研究だったら一緒に欠測してる

なので、パネルデータ解析でMI追加しても明らかな利益はない。それよりも欠測データのメカニズムをできるだけ記述し、解釈の参考にできるようにすべき。

【コメント】
私なりの解釈ですが、「MMにMI加えても余計な計算が増えるだけ」だからパネルデータ解析においてはMMにMIは不要ってことでしょうか。わかったようなわかってないような…でもフツーの1回測定の解析と複数測定の解析で何が違うんでしょう。もともと何回も測定した結果を統合しているからhandled!?もっとモデルの原理的なところから理解しないとダメなんでしょうね。私の脳では無理ぽ…涙。てか「欠測データのメカニズムの記述」って重要なのはわかりますが、なかなかの無理難題。

明日人生初の大腸カメラということで、昨日は買い込んでいたローストビーフ食べな!とまたワインを痛飲してしまい、やりたかったテーマの勉強せず寝落ちしてしまいました…ここが凡人と超人の境目なんでしょうね。色々あってようやく病院の仕事が一息ついたので、夜の外来までに1テーマ勉強します。次はそもそも「何%欠測したら補完するべき」かについて。

Regression Modeling Strategies

のchapter 3をみればきっと正解があるでしょう。16Pなんで何とか読めるかな!?わかること、読んでも理解できないところは飛ばしていきます…

【概要】 
・欠損がどのようなパターンかの記述は重要
 - 欠測と、その補完に重要な変数が同時に欠測してないか?など

・Yの欠測例は除外するのが一般的
 - ただし、欠測の傾向はみるべき(MCARかどうかある程度わかる)
 - Yも使って補完したのち、Y欠測例を除外するのが良いかも
 - ただ、「補完モデルが妥当」である必要あり
 - なので、Yの欠測がMCARなら、Yの欠測をまず除外する方が良いかも

・Xの欠測はMCARなら除外してもよい
 - でも欠測がYと関連する場合、除外はバイアスをもたらす
 - 補完できる重要な変数がない、欠測自体が少ない場合以外は除外すべきではない
・一般人は「データを推測する」ことを嫌がる
 - でも補完は貴重なデータを廃棄するより良い

・補完モデルに含める変数の条件は以下
 - 欠測メカニズムに関連する
 - Y欠測あり/なし者で分布が異なる
 - Yに関連する、もしくは最終モデルに含まれる
・予測変数Xを無視するとXの回帰係数は0に偏る
 - Yと関連する平均値を補完すると過大評価する
Yを使ってXを補完すると過大評価する、は誤解

・補完の方法は以下 *補完法の各論は割愛
 - 条件付き平均の単一値補完
 - 単補完
 - 多重補完
 - 近傍マッチ補完
・欠測した変数の重要度を感度解析するのもいいかも
 - その変数を欠測ごと落としたモデルの性能をみる
・補完値のチェックの方法も考案
 - 一旦Xを全削除し、全補完
 - Xの観測値と補完値を比べる

・何らかの欠測がある変数が3%未満の場合
 - 連続値は中央値、カテゴリ値は最頻値を代入する
 - ここでも除外はオプション
 - 代入が有効かを多重代入でチェックする
・何らかの欠測がある変数が3%以上の場合
 ‐ 多重代入などを行う

・因果推論ではなく予測モデルの場合は単純な代入でいいかも
 - でも他の代入法との比較を
 - ClarkとAltmanがよい実例を報告、etc...

【コメント】
うーん、厳しい…欠測3%未満でシンプルな代入、3%以上で多重代入...とにかく、補完せよ!というメッセージでした。各論までは読み込めませんでしたが。予測モデルで3%というのは厳しすぎる気がしますが、(今更ですが)補完を優先しないといけないんですね。次は「ClarkとAltman」読まなきゃ…でも補完モデルが妥当かとか色々考えることがあるし、簡単ではないです。一番はやっぱり「前向きにデータとって、できるだけ欠測をなくす努力をする」ことなのは間違いないことが身に染みてきました。でもいい雑誌(BMJとか)目指すには補完は避けて通れないなぁ…JBJSならそこまで要らないけど…

昨日は結婚記念日であることを理由にワインを飲み過ぎてしまい撃沈+寝坊…気を取り直して勉強します。そういえば欠測パターンを組み込む例について勉強した際、「PMM」とか「HD」で補完して何で多重補完(MI)しないんだろう…と思いましたが、よく考えたら変数選択する場合はMIできないんじゃ?という気が(今更)してきました。MIでは複数のモデルを作って最後に結果を統合するので、モデル毎に選択される変数が異なればどうやって統合する!?混乱している頭の中を整理するために、補完についての論文を読んでみます。ちょっと旧いですがJCE2009年の論文。

Development and validation of a prediction model with missing predictor data: a practical approach

予測モデルの開発は「変数選択」「連続値の変換」「回帰係数の推定」などのステップに分かれ、多重補完データでの開発は簡単ではない。ので深部静脈血栓症(DVT)に関するデータを使い実践しながら説明します!という総説(これこれ!)

【方法の概要】
・DVT疑い者2086人のデータを使用
 - 時間で区切り1295人を開発C(DVT22%)、791人を検証C(DVT17%)
・予測因子候補は10(うち連続値が4)
・欠測割合は開発Cで0.2~55.4%、検証Cで0~28.6%
 - 開発Cには連続値と二値が含まれる変数あり
 - 連続値のまま使用する場合利用できたのは25%、二値での使用なら72%
・欠測指標変数を作り、他の変数との関連をcheck
 - 欠測の一部(2~36%)は説明可能(≒MAR)

・すべての予測因子候補とアウトカムで多重補完(m=10)
・変数選択はbackward elimination(AICを基準)
・変数変換は以下2型
 - Multivariable fractional polynomials: MFP
 - MFPを用いず二値変換
・選択結果の統合は以下3型
 - WALD法(WALD統計量が小さい変数を落とす)
 - majority法(個別に10回ステップワイズして、5回以上残った変数を選択)
 - STACK法(データを1つにまとめて荷重解析)
・全ての型でRubinのルールで回帰係数を統合

【結果と考察の概要】 *検証の部分は割愛
・完全例解析(MFP326人、二値934人)では、性能はMFPモデル>二値モデル
 - 二値モデルを326人で開発すると回帰係数↑
 - やはりサンプルが小さいとoptimistic
・補完例解析(1295人×10セット)における変数選択結果は
 - MFPモデルではWALD、STACKが同じ(5変数)、majorityが+1
 - 二値モデルでは全ての方法で10変数が選択
・モデルの性能はMFP>二値
 - MFP-majority法で追加選択された変数は性能向上にあまり寄与せず
・MIデータで内的検証には議論が必要
 - 補完値をリサンプリングするとわけわからないので

【コメント】
うーんこれ想像以上にadvanceな内容…予測モデル開発での欠測の取り扱いはなかなか大変そうです。MARがどれだけ仮定できるか?どのように補完するのが妥当か?MIするならそのモデルを構成する変数はどう決める?MIして変数選択する場合はどう選択結果を統合する?などなど問題が山積み…まずMFPがぱっと理解できない私レベルでは敷居が高い涙。今後の対策としては前向きに、できるだけ欠測が出ないように必死にデータ収集するのが一番みたいです。MFPも勉強しないといけないけど、その前にどの程度の欠測割合で補完すべきか?の勉強ですね次は。終わりなき旅…

今日は研究日、普段なら手術日翌日なので回診だけはしに行くのですが、往復1時間半の通勤時間が惜しいので心を鬼にして?勉強します。昨日因果と予測で欠測の取り扱いを変えるべきという考えがあり、予測研究では欠測パターンを予測に活かせる可能性があることを学びました。じゃー実際どうすんねん、ということで引用されていた実例論文を読んでみます。Journal of medical internet researchという、一見大丈夫?という雑誌名でしたが、2020IF5.4と結構インパクトがありそう(失礼いたしました…)。

A New Insight Into Missing Data in Intensive Care Unit Patient Profiles: Observational Study

ICU患者のデータは欠測だらけだが、そのメカニズムはMNARであり「欠測があること」自体が意味を持つ可能性がある。ので、「欠測があること」がどの程度予測に役立つかを検証しました!という論文。
*研究内容というより、勉強するためなので方法とか割愛します

【背景】
・ICUにおけるデータの欠測理由は2つで、いずれも情報をもつ
 - 収集されなかった(患者が困っていなかった or 測れなかった)
 - 収集された(けど記録されなかった)
・理想はデータの質と量を向上させること
 - でもICUは情報が多すぎるのでムリ
・欠測の取り扱いは3つ
 - complete case analysis (CCA) or deletion
 - available case analysis (ACA)
 - imputation
・欠測メカニズムがMCARならCCAだが、ことICUではあり得ない
・ACAはCCAよりましかもしれないが、各解析でサンプルが異なるのは問題
・imputationもMNARでは使えない

【方法の概要】*理解が及ばない点多し…
・MIMIIC-Ⅲ(ボストンの一基幹施設38597人のデータ)を使用
・36の検査値×測定時点(1・2・3日目)を対象
・Predictive mean matching(PMM)とhot deck(HD)で欠測値を補完
 - 補完データセットPMM①とHD②を作成
・各変数の欠測値指標(有無0/1)データセット③を作成
・アウトカムは入院死亡と退院後30日死亡に設定
・ feature selection methodsで予測因子を選抜
・LASSO回帰で予測モデルを構築(変数選択)
・①②③とSAPSⅡで個別にモデル構築しAUCで評価
 - ①+③、②+③、SAPSⅡ+③のデータセットでモデル構築し、個別モデルと比較
 - 興味があるのは③を加えて性能を改善できるか?
 - 測定時点での変化も観察

【結果の概要】
・欠測割合は1.4%~88.3%
・36の変数は7セットに分けることができた
 - 各セットに欠測があると、同一セット内の他の変数も欠測しがち
・③を加えてで構築されたモデルには多くの「欠測指標」が選択
 - 約40~60%
 - 変数の欠測自体が意味があることを示唆
・測定時点が後になるほど「欠測指標」の割合が高まった

【考察の概要】
・変数の欠測パターンは「診療パターン」の代替指標かもしれない
・③だけでもある程度の予測能(AUC0.68)
 - 欠測をノイズやランダムとする仮定は重要な情報を失うかも
・欠測指標を用いる利点は他にもいくつか
 - 二値なので計算の負荷が少ない
 - 実際の検査値より個人情報が少ない

【コメント】
なるほど、確かに「欠測指標」も意味を持ち、予測には役立つ可能性があるのがよくわかりました。ただ、数万のデータセットなら導入できますけど、数百のデータセットでの適応は無理ですね残念。なので、小さいデータセットの場合は、CCA(もしくはACA?)やって、多重補完(MI)で感度解析するしかないのかな。MIをメインに持ってくるべきかはもうちょっと勉強しないとわかりません。「MIのためのモデル」の妥当性の問題や、明らかにMNARでMIするのが気持ち悪いので個人的にはMIは感度解析にしたいところです(この問題はCCAでも解決しませんが)。ちなみにPMMやHDって多重補完より妥当なんでしょうか?Feature selection methodsって何...ここの勉強はまだ私には敷居が高いです。

あと、ICUなら確かに「検査する=状態悪い≒診療パターン」という考えが成り立ちやすそうですが、他のセッティングでも通用するか考えないといけないでしょう。色々勉強になりました!自分としてはCCAしてたつもりが、実際はACAだったのがショック…まー大きなバイアスは持ち込まない…といいなぁ…またアタマ整理しなければ。今更だけど。

さて、次は前回読んだ論文で引用されていた「因果推論と予測研究で欠測の取り扱いは変えるべき」という興味深いタイトルの論文(JCE2020)を読んでみます。ほとんど医者がいない医局でポツンと論文読むの何となく気が引けますが、多椎間の固定術がコロナ延期になったので仕方ないということで…というか、臨床の合間にJCE読むとか、何でこんなことになったんでしょうか…

Missing data should be handled differently for prediction than for description or causal explanation

【概要】
・欠測の議論の多くは、前向きの因果推論のフレームで論じられてきた
 - 関心があるパラメータの推定精度を最大化したい
 - ので、多重補完(MI)
 - でもMNARだとどうにも…

・日常診療のデータを用いた予測研究は因果推論とは状況が異なる
 - まずMNARでしょ(MIがどれだけ妥当か…)
 - でも関心は、特定のパラメータじゃなく予測精度
 - 欠測パターンが予測に役立つかも?
 - 実際「欠測指標」を含めたモデルの予測能は改善し得る 
 - でも開発検証応用で欠測メカニズムは異なるので微妙
 - CPMが普及してきたら欠測が減るし
 - それでも欠測する場合は、メカニズムが異なるはず
 
・ルーチンデータ(例えば電子カルテ)の欠測はそもそも使えないことも
 - 変数によってはデータ観測時点の情報が必要
 - データ観測時点もモデル化する手法もある
 - でも因果推論でのモデル、予測に関しては議論は浅い

・検証段階と臨床応用段階で欠測の取り扱いが変わりがち
 - 応用はまず前向きなので、MIにアウトカムが使えない
 - 応用段階でMIモデルの変数まで収集しないでしょ?
 - なので応用では、MIじゃなくシンプルに補完されがち

・検証と応用で欠測の取り扱いが変わるとなぜ問題?
 - 検証でMI、応用でシンプルな補完だと後者を過大評価するかも
 - 検証では応用で用いるであろう補完法の成績も予め報告を

【ほか学んだこと】
・臨床応用のフェーズを「model deployment」と表現する
・予測研究のMIにはアウトカムも含める
・Pattern submodel法また出てきた…
・開発検証応用の各時点で変数測定法が異なると、予測能も当然異なる
・因果情報を予測モデルに含めるのは有用
 - 反事実との比較を可能とする
 - 意思決定に使うモデルには必要(ってこと?)

【コメント】
なるほど、予測研究では「欠測があること」自体が情報を持ち、変数のパラメータに注目しなければ予測性能には役立つ可能性があると…前回読んだ論文での「既存の欠測取り扱い法」でいうところの「using an additional category for missingness」になるんでしょうか。そんな簡単じゃないか。前回の論文ではConsが「MCARでもバイアスが持ち込まれる」とバッサリでしたが、こと予測においてはアリの可能性も。これはここ数年でホットな話題なんですね。「欠測指標」をモデルに含めるってどうするんだろう…各変数をカテゴリ化して欠測枠を作る?そしたらサンプルサイズ全然足りなくなるし…Pattern submodel法を読んだら解決?というところですが理解できる気がしないので、もう少し地固めから…もうちょっと欠測の取り扱いに関する論文読むかなぁ。病状説明約束している時間までもう1本読めそう…辛いけど頑張ろう。

このページのトップヘ