Missing
誰しも必ず聞いたことがある曲。
それは"Missing"。今日はそんなMissingな話。
ありますよね、卒業研究とか、病院でも、学校でも、企業でも。
データが欠損してる!
そんなときに対応するための話です。
自分の研究では姿勢に関する研究を行っていますがどうしても欠損値がでてきてしまいます。(例:もうしたくない、歩けない、そもそも来ない、データ取得したけどカルテに記載がない)
特に縦断的なデータ(術前とかに何回も測定するタイプ)に多い印象です。
欠損がでたときどうすればいいのか、出た部分だけ削除して統計解析をしていいのか(リストワイズ処理)などなど扱い方について勉強しました。
昔から欠損データ処理についての議論はあり、大きな雑誌でもすぐに削除して統計処理なんてパターンが多かったみたいです。ITTやPer Protcol解析などだけではそもそもデータがないことには対応ができなかったみたいです。
結局2000年代に入り、ASA(アメリカ統計学会)でも研究が増え、その取扱についても研究が進んでいます。
結局一番大切なのはそもそも欠損を生じないような創意工夫が最も重要で欠損してもどうするか事前にどう処理するか決めてる必要があるとNRCは言っています。
統計詳しくない私からしたら、"いや代入するほうが大変やん"と思い、症例を削除したり、ある項目だけ(ペアワイズ)で相関を見たりしがちです。しかし、上の図の様に青の欠損のところを無視して処理をしてしまうと、真の値から結果が歪んでしまいます。なんで無視できる"Ignorable"欠損と、無視できない"Nonignorable"の欠損かどうかを判別する必要がでてきます。更に、研究者にとって大切なデータをCompleteでないからといって減らしてしまうことは、検出力の観点からも、不合理で、効率性が低下させてしまいます。
欠損データのパターンによって無視していいのかできないのかを判断します。MCARはRCTと同じ原理原則なので無視可能です。しかし臨床ではめったに無い。大体がMARとされます。MNARは欠損データに関連する項目すらデータとして集計していない状態となります。なんで代入が大変です。MARとMNARは無視できない欠損なので代入が求められます。
RやSPSS、SASを利用した多重代入法"Multiple Imputation"がよく用いられます。SPSSでは特定のPackageが必要となります。Rubinさんが欠損したら、代入パターンをいくつもつくってそれを別々に統計かけて、最後に統合を行うように発表してから現在もその原則に則り利用されています。注意点は代入モデルと解析モデルが適合していないとだめです。例えば代入したデータと代入時に使用していないデータをT検定かけたりです。代入時に使用しなければなりません。
多重代入は欠損データの分布から無作為にMデータセット作成し欠損値を補完します。目的は代入ではなく母集団の推定にあります。Mindの中でも症例減少バイアスがあるので質の高い研究のためには欠損値の補完は重要となります。
アルゴリズムは概ねどれも代入後のRMSEに差は少ないですが
DA、FCS、EMBと大別されます。上2つがMCMCを利用し、下はEMにBootstrappingを適用しています。多変量正規分布に対数関数変換が必要な場合があったりします。私はRでAmeliaⅡ(EMB)を使用していますが医学系論文ではMICE(FCS)が多い印象です。
Rのdensityplotやdisperse関数で代入の密度、収束を視覚的に確認したり、Missing Mapの作成により欠損値パターンの確認が必要です。Rubinの解析過程に入ります。Lattice、Miceadds Packageなどで重回帰、相関などの解析を行い、最後に現在まで仮定していたMARもしくはMCARがMNARであった場合とどの様に異なるのか感度分析を行います。感度分析はSensMiceで行いますが古いMICEにしか対応していないせいか、うまく走りません。感度分析はなぜかできませんでした。感度分析は必須ではありませんが論文化するときはComplete Dataとの比較をする必要があると思います。誰か感度分析教えてください。
左のほうがより実践的ですが、読んだあと、実装するなら直接CRANを覗くほうがいいかなと思います。MiceaddsやAmeliaのPackageは端的で初心者の私でもわかりやすかったです。右はより理論体系に特化している印象です。
おわり。
この記事が気に入ったらサポートをしてみませんか?