この記事では「欠測値(欠損値)とは?埋め方(補完方法)や対処法はある?」ということでお伝えしていきます。
データを解析する中で、厄介なのが欠測値ですよね。
この記事では
- そもそも欠測値(欠損値)とは?
- 欠測値の原因やメカニズムは?
- 欠測値の埋め方(補完方法)や対処法はある?
といったことをお伝えしていきますね!
欠測値(欠損値)って?
そもそも欠測値とは、本来得られるはずだったデータが得られていないことです。
例えば、下記のようなデータの黄色いセル。
全被験者からWeek4までデータを取りたかったのですが、被験者2ではWeek3とWeek4のデータが取られていません。
同様に、被験者3ではWeek3のデータが取られていません。
こういったデータのことを欠測値(欠損値)と呼んでいます。
欠測値があると何が問題なのか?
では、欠測値があると何が問題になるのでしょうか?
大きく分けると3つあります。
- 本来得られるはずだった解析結果が得られにくくなる
- データ数が少なくなる
- 試験の信頼性の問題になる
欠測値は「本来得られるはずだったデータが得られていない」ことですから、欠測のあるデータ全体で解析をしても、本来得たかった解析結果は得られにくいですよね。
そもそも欠測値をそのまま放置して解析をするとデータ数が少なくなるため、サンプルサイズの小ささにつながります。
また、多少の欠測はどの研究でもあり得るとは認識されていますが、欠測が多すぎるとその試験自体「大丈夫か!?」となってしまいます。
そのため、どれだけ欠測値への対処が適切でも、欠測値が多すぎれば意味がないことに。
なので大前提として欠測を起こさないことが大事であることは念頭に置いておきましょう。
欠測値の原因は?欠測のメカニズム3パターン
そもそも欠測値の原因はどんなものがあるのでしょうか?
実は原因は様々です。
- 被験者が来院しなかった
- データの取得し忘れ
- データの入力し忘れ
- などなど
試験や研究は人が実施して、人を対象とするため、ヒューマンエラーは避けられないです。
そのため、多少の欠測があることは周知の事実だし、多少であれば欠測自体は特に指摘されることはありません。
そして、欠測値には3つのパターンがあるとされています。
- MCAR(Missing Completely At Random)
- MAR(Missing At Random)
- MNAR(Missing Not At Random)
理論上は、この3つのパターンがあるとされているのですが、実務上は、それほどこの3パターンを意識して解析することはありません。
なぜなら、欠測がどんなメカニズムだったのかの真相は誰にもわからないから。
実際に起こった欠測がどのパターンか分からないので、実務ではほとんどの場合MARを仮定して解析されることが多いイメージですね。
欠測値(欠損値)の埋め方・補完方法はある?埋め方以外に対処法は?
では欠測値が発生したとして、対処法や埋め方(補完方法)はあるのでしょうか?
大きく分けると3つほどあります。
- 単一補完(Single Imputation)
- 多重補完(Multiple Imputation)
- モデル解析(一般化線形混合モデル:Generalized Linear Mixed Model)
欠測値への対処方法1:単一補完(Single Imputation)
欠測値への対処方法として、まずは単一補完法があります。
単一補完とは「なにかしらの一つの値で補完する(欠測値を埋めてしまう)」という方法のこと。
例えば最も有名なのは、LOCF(Last Observation Carried Forward)ですかね。
これは、最後に得られたデータで欠測値を補完する、という方法のこと。
上記の通り、12週のデータが欠測だった場合には、最後に得られている8週のデータで補完してしまおう、というものですね。
しかしこの方法には強い仮定があります。
それは「最後に得られた値がそれ以降ずっと続く」という仮定。
本来、欠測じゃなければ得られたかもしれない値はもっと違うところにあったかもしれないですし、むしろその可能性の方が高いかもしれない。
そのため、欠測値が本来どのようなデータだったかは、誰も知らないので欠測への対処法にはかなり強い仮定が入るんだ、ということは理解しておいてください。
その他の単一補完法としては「ベストケースアナリシス」や「ワーストケースアナリシス」といったものがあります。
ベストケースアナリシスは、群間で一番差がつくように補完すること。
ワーストケースアナリシスは、群間で一番差がつかないように補完すること。
欠測値への対処方法2:多重補完(Multiple Imputation)
次の対処法は、多重補完法です。
先程の単一補完法は「一つのデータで埋めてしまう」という方法だったのですが、多重補完法はどういった方法でしょうか。
多重補完では以下の3つのことをやっています。
- 欠測値を代入したデータを複数個用意
- それぞれのデータに対して分析を実施
- 最終的にそれらの結果を統合して欠測値を補完
例えば、欠測値を補完した5個のデータを用意したとします。(5個じゃなくてもOK)
この時の補完方法は、乱数を使ったアルゴリズムに基づいた単一補完。
その5個に対して、やりたい解析を実施します。
すると解析結果が5個出てくるため、最終的にはそれを統合して1つの結果にしてしまいます。
欠測値への対処方法3:モデル解析(一般化線形混合モデル:Generalized Linear Mixed Model, MMRM)
最後に紹介するのが、モデル解析。
一般化線形混合モデル、と言われているものです。
特に連続変数(量的データ)に対してはMMRM(Mixed Model Reapeated Measure)というような解析手法として知られていますね。
一般化線型混合効果モデルは、被験者を変量効果として解析することで、個人個人の効果を統合して全体の効果を推定するイメージです。下記の図で、Aさんの時点4と時点5のデータが欠測だったとしても、Aさんの効果(直線)は推定でき、全体の効果も推定できるイメージです。
詳しいアルゴリズムなどは難しいので割愛しますが、理解しておいて頂きたいのは、この方法が欠測値を「補完」しているわけではないということ。
欠測値を考慮して解析はするが、あくまで補完法ではない、ということだけは理解しておきましょう。
欠測値(欠損値)への対処方法の大前提と論文への書き方は?
ここまで、欠測値に関して整理してきました。
そして、欠測値に対しての対処方法もお伝えしました。
では、欠測値が起こっても対処方法があるんだから、欠測値はどうとでもなるし安心だ、と思ったら注意です!
なぜなら、欠測値への対処方法としてはどんな方法でも「これがベスト」という方法はないから。
冒頭でもお伝えしましたが、欠測じゃなかった時にどんな値だったか誰も知らないから、どれが対処方法として正解かもわからない。
そして欠測への対処方法には、強い仮定が入ることもお伝えしました。
そのため、仮定をずらしても同じ解析結果が得られるのか、という感度解析を実施することがとても重要。
感度解析として実施した複数の解析で結論が同じになれば、例え欠測があったとしても頑健性のあるデータだったということを主張できます。
欠測値(欠損値)に対して論文への書き方は?
ありとあらゆる臨床研究で欠測値は生じうるものです。
むしろ欠測値がない臨床研究は存在するのか?と思うほど、欠測値はとても身近なものです。
そのため、論文へも欠測値へどのように対処したのかを記載していく必要があります。
例えば下記の論文を参考にしてみましょう。
(引用:https://evidence.nejm.org/doi/full/10.1056/EVIDoa2200097)
この論文のMethodを見ると、欠測値に関してかなり詳細に記載されております。
We assumed missing data to be missing at random and used multiple imputation by chained equations to impute missing data.
まずメインとなる欠測値への対処は、Missing at Random(MAR)を仮定して、多重補完法を実施した、ということが記載されております。
その次に、下記の記載もあります。
As a sensitivity analysis, we first performed our primary analysis (ANCOVA) using complete case data. In addition, we modeled our complete case data using a linear mixed model with LVEF as a continuous outcome, with treatment group and visit included as fixed effects and random intercepts by patient.
つまり、「コンプリートケース解析(欠測値を除外した解析)」と「MMRM(混合効果モデル)」を使った解析の2つを、感度解析として用いていることがわかります。
このように、「メインとなる欠測値への対処」と「感度解析」の2つを実施し、それを論文に報告することが重要になります!
まとめ
いかがでしたか?
この記事では「欠測値(欠損値)とは?埋め方(補完方法)や対処法はある?」ということでお伝えしました。
- そもそも欠測値(欠損値)とは?
- 欠測値の原因やメカニズムは?
- 欠測値の埋め方(補完方法)や対処法はある?
といったことが理解できたのなら幸いです!
こちらの内容は動画でもお伝えしていますので、併せてご確認くださいませ。
コメント