ビッグデータ 疫学 統計学

欠損値、どう扱う?多重代入法の仕組みと使い方

タジュウダイニュウホウとはなんぞや?という方も、「欠損値」「ミッシングデータ」という言葉は聞いたことがあるかもしれません。

簡単に言えば、多重代入法とは欠損値を補完するための手法の一つです。

さぁ、多重代入法の世界へようこそ。

多重代入法とは?

多重代入法(Multiple Imputation)とは、データセットに存在する欠測値(欠損値)に対応するための統計的な手法の一つです。本来得られるはずだったデータが得られていない状態である欠測値を処理する方法であり、欠損したデータを尤もらしい値で補う(補完する)ことを目的とします。

多重代入法の基本的な考え方は、欠損データのある変数と他の変数との関係性を考慮に入れ、データセット内の他の変数の情報を利用して欠損データを推測することです。これにより、データセット全体の統計的特性をより正確に保持することを目指します。

この手法は、欠測データの分布から独立かつ無作為に抽出されたM個のシミュレーション値によって欠測値を置き換えることで欠損値を補完します。このM個のデータセットそれぞれで分析を行い、最後にその結果を統合するという流れをとります。

多重代入法の目的は、個々の欠測値を完全に復元させることではなく、母集団のパラメータを適切に推定することにあります。不完全なデータを用いた分析であっても、完全データによる分析と同様に統計的に妥当な結果を得られるようにすることが目標です。

他の欠測値対処法との比較 欠測値の対処法には、主に単一補完(Single Imputation)と多重補完(多重代入法)、そしてモデル解析(一般化線形混合モデルなど)があります。最近の傾向では、多重補完かモデル解析が良いとされています。

従来の欠損値対処法の問題点

多重代入法が登場する以前から用いられていた従来の欠損値対処法には、いくつかの問題点があります。主な手法として、リストワイズ削除(完全ケース分析)と単一代入法が挙げられますが、それぞれ以下のような課題を抱えています。

リストワイズ削除(完全ケース分析)

リストワイズ削除は、欠損値を含む観測値(行)をデータセットから完全に削除する方法です。

  • 情報損失:欠損値を含む観測値が削除されるため、その観測値に含まれる欠損していない変数の情報まで失われます。これにより、分析結果の有効性が多重代入法と比較して低くなる可能性があります。
  • バイアスの発生:削除された観測値が、残された観測値とは異なる特性を持つ場合(例えば、特定のグループで欠損が発生しやすいなど)、残された観測値が母集団とかけ離れてしまう可能性があります。この場合、そこから得られるパラメータ推定値にバイアスがかかってしまいます。

単一代入法(一変量代入法を含む)

単一代入法は、欠損している箇所に対して一つの尤もらしい値を推定し、代入する方法です。様々な方法がありますが、例えば平均値代入法や確率的回帰代入法などがあります。一変量代入法は、この単一代入法の一種で、欠損値をその変数の統計的な指標(平均値、中央値、最頻値など)で置き換えます。

  • 分散の過小評価と有意性検定の楽観視:単一代入法では、欠損値を一つの確定した値として扱うため、データに含まれるばらつき(不確実性)を過小評価してしまう傾向があります。特に、平均値代入法はデータのばらつきの表現が著しく損なわれるとされています。これにより、標準誤差が小さく見積もられ、信頼区間が狭くなり、統計的有意性検定が実際よりも「楽観的」になってしまう可能性があります。多重代入法は複数回代入を行うことで、サンプリングの分散を適切に評価しようとします。
  • 変数間の相関の無視:一変量代入法では、欠損値を扱う際に他の変数との関係性を考慮しません。そのため、変数間に存在する相関関係やパターンを見逃し、データセットの本質的な特性や構造を適切に反映できない可能性があります。
  • データ分布の歪み:平均値や中央値などの単一の値で欠損値を置き換えると、データの元の分布が歪み、分散が低下することがあります。
  • 非ランダムな欠損への不適性:データがランダムに欠損していない場合(欠損が欠損している変数自身の値に依存するMNARなど)、一変量代入法は適切な解決策とはなりません。例えば、平均値代入法はバイアスを生じる可能性が指摘されています。

これらの問題点から、特にMAR(Missing At Random:観測データに依存する欠損)の仮定が成り立つ場合において、欠損値の不確実性をより適切に考慮できる多重代入法が推奨されるようになっています。

分析の流れ

多重代入法によるデータ分析は、主に以下の3つのステップで行われます。

代入(または生成)

このステップでは、元のデータセットの欠損値に対して、複数の尤もらしい値を代入し、M個の「擬似的な完全データセット」(欠損値の無いデータセット)を作成します。多重代入法は、欠測データの分布から独立かつ無作為に抽出されたM個のシミュレーション値によって欠測値を置き換えるものです。この目的は、個々の欠損値を完全に復元することではなく、母集団のパラメータを推定することです。代入には、適切な代入モデルを設定することが重要であり、分析モデルで使用する全ての変数は代入モデルに含めるべきとされています。

推定(または分析)

作成されたM個の補完済みデータセットそれぞれに対して、本来行いたい統計解析(例:回帰分析など)を実行します。この段階では、完全データでの推定値$\hat{Q}$と、その推定に関するサンプリングの妥当性$U$を推定します。各データセットで得られる解析結果は、それぞれ異なるものになります。

統合(またはプーリング)

ステップ2で得られたM個の解析結果(パラメータ推定値や標準誤差など)を、Rubin's Rulesなどの手法に基づいて1つの最終的な結果に統合します。統合されたパラメータは、各データセットで推定されたパラメータの算術平均で求められます。また、多重代入による推定のサンプリング分散$T$は、代入データセット内の分散と代入データセット間の分散を考慮して計算されます。この統合により、多重代入法の目的である母集団のパラメータの推定を行います。論文などで報告されるのは、この「プールされた (pooled)」最終結果です。

これらの3つのステップを経て、多重代入法は欠測値の不確実性を考慮した統計的な推測を可能にします。

理論的背景とアルゴリズム

多重代入法の理論的背景とアルゴリズムについて、ソースと会話履歴に基づいてご説明します。

多重代入法は、統計的に妥当な欠測値対処法として、Rubin (1978, 1987) によってベイズ統計学の枠組みで提唱されました。その目的は、個々の欠測値を完全に復元することではなく、不完全データを用いた統計分析が、欠測値のない完全データによる統計分析と同様に統計的に妥当になるように、母集団のパラメータを推定することにあります。

理論的背景

  1. ベイズ統計学の枠組み: 多重代入法の理論は、事前情報とデータを利用して確率を更新するベイズ統計学のメカニズムに基づいて構築されています。観測データを事前情報として、欠測データの事後予測分布を構築し、そこから尤もらしい値を複数回サンプリング(代入)します。
  2. MAR (Missing At Random) の仮定: 多重代入法は、通常、欠測が観測データには依存するが、欠測している変数自体の値には依存しないというMAR(Missing At Random)の仮定のもとで妥当性が担保されます。
  3. 複数の代入:多重代入法では、欠測データの不確実性を考慮するために、欠測値に対してM個の「尤もらしい値」を代入し、M個の擬似的な完全データセットを作成します。この「尤もらしい値」は、欠測データの分布から独立かつ無作為に抽出されたシミュレーション値です。

アルゴリズム(計算方法)

多重代入法の理論は事後分布からの無作為抽出に基づきますが、その実装は計算上困難な場合があるため、様々な計算アルゴリズムが提唱されています。

主なアルゴリズムには以下のようなものがあります。

  1. MCMC (Markov chain Monte Carlo: マルコフ連鎖モンテカルロ法):
    • Rubinによって提唱された元来の多重代入法はMCMCに基づいています。特に、データ拡大法 (Data Augmentation: DA) と呼ばれるアルゴリズムが用いられます。
    • DAは、未知のパラメータと欠測値のペアを、観測データと現在の推定値に基づいて交互にサンプリングする**反復プロセス(I-StepとP-Step)**を繰り返します。
  2. FCS (Fully Conditional Specification: 完全条件付指定) / MICE (Multiple Imputation by Chained Equations):
    • MCMCの代替法として提唱されたアルゴリズムの一つです。
    • MICEはFCSを実装した一般的な手法です。これは、欠測値を持つ各変数に対して、他のすべての変数(観測値および、他の変数ですでに代入された値を含む)を説明変数とする回帰モデルを構築し、そのモデルを用いて欠測値を推定(代入)するというプロセスを変数ごとに連鎖的に(chainedに)繰り返します。このプロセス全体を複数のサイクルにわたって繰り返すことで、代入データセットを更新していきます。アルゴリズム自体はギブスサンプリングに似ています。
    • MICEでは、対象となる変数の種類(連続変数、2値変数など)に応じて、線形回帰モデル やロジスティック回帰モデル など、様々な回帰モデルや他の手法を用いることができます。
    • RのMICEパッケージ、SPSS (PASW Missing Values)、SOLASなどのソフトウェアに実装されています。
  3. EMB (Expectation-Maximization with Bootstrapping):
    • MCMCの代替法として提唱されたもう一つのアルゴリズムです。

これらのアルゴリズムは、理論的な事後分布からのサンプリングを効率的に近似することで、多重代入法を実用的なものにしています。ソースによると、MICE、SAS、SPSSなどのアルゴリズム間での比較検証も行われています。また、多重代入の手法としては、回帰分析を用いた推定 や、KNN (K-Nearest Neighbors) を用いたアプローチ、予測平均マッチング (Predictive Mean Matching: PMM) などが挙げられますが、これらはMICEなどのアルゴリズムの中で、具体的な代入モデルとして使用されることが多い手法です。

どのアルゴリズムや手法が優れているかは状況によって異なり、現時点では全ての状況でこれがベスト、という方法は確立されていません。しかし、いずれの手法も、単一代入法で失われがちな変数間の相関関係を考慮しデータの分布をより適切に維持する ことで、単一代入法よりも精度の高い推定を可能にするという利点があります。

適切な代入データセット数(M)

多重代入法で作成するM個のデータセット数については、概ね20~50程度が適切だと考えられています。欠測率に応じて設定を変更することが適切であり、例えば欠測率20%未満ならばM=20、20%~30%ならばM=30、30%~40%ならばM=40、40%~50%ならばM=50といった具合に設定することが推奨されています。M=100を超えても得られるものは非常に少なく、数百まで増やしても補定値の精度を保証できなくなるおそれがあります。現在の計算機環境では、Mを大きくしても負担にならないことも多いです。

多重代入法の利点・課題・実用例

多重代入法の利点

多重代入法の主な利点は以下の通りです。

  • 変数間の関係性の保持: 他の変数との相関を考慮するため、データの本質的な特性をより正確に反映できます。
  • データの分布の維持: データの全体的な分布をより忠実に保持することができます。
  • 欠損データのより良い推定: 一変量代入法よりも欠損データの推定値が精度が高くなる傾向があります。
  • 複数の手法の適用可能性: 回帰分析、KNN、MICEなど、データセットの特性に応じて様々な手法を選択できます。

多重代入法の課題

多重代入法にはいくつかの課題も存在します。

  • 複雑性と計算コスト: 一変量代入法よりも複雑であり、特に大規模データセットや反復的な手法を用いる場合に計算コストが高くなることがあります。
  • モデル選択とパラメータの調整: 適切なモデルの選択やパラメータの設定が難しく、データの特性や分析目的に応じて慎重に行う必要があります。
  • 過剰なデータ補完: 特性の歪み 多重代入法、特に反復的な手法では、過度な補完により元のデータの自然な変動やパターンが失われるリスクがあります。
  • データの種類とサイズの制限: 大規模な高次元データや特定のデータタイプ(カテゴリカルデータ、時系列データなど)の扱いに特別な考慮が必要な場合があります。

多重代入法の実用例

多変量代入法は様々な分野で応用されています。

  • 医療データの分析: 患者の他の健康指標や履歴に基づいて欠損値を推定し、臨床研究や治療計画に活用します。
  • 市場調査: 回答者の他の回答や属性情報を用いて欠損値を補完し、市場傾向の分析や消費者行動の予測に利用します。
  • 金融リスクモデリング: 他の市場指標や過去データに基づいて欠損値を補完し、リスク評価や投資戦略の策定に役立てます。

多重代入法のソフトウェアでの利用

多重代入法は、R (miceパッケージ)、SPSS、Stata、SAS、Amelia、SOLAS、AMOS など、多くの統計ソフトウェアで利用可能です。

Rにおける多重代入法の主要なパッケージであるmice()

多重代入法に関する前回の説明を踏まえ、Rにおける多重代入法の主要なパッケージであるmice()についてご説明します。

miceは、Rで多重代入法を実行するためのパッケージです。シンプルに言うと、「欠損している変数を、欠損していない他の変数で予測して埋める」という欠損値の対処法を提供します。医学研究などでは、欠損値を持つ対象をすべて削除する完全ケース分析や、平均値などの一意の値を代入する方法はバイアスにつながることが分かっており推奨されていません。そのような背景で、多重代入法、特にmiceパッケージのような手法が広く利用されています。

miceパッケージは、連鎖方程式による多重代入法(Multiple Imputation by Chained Equations; MICE)というアルゴリズム(またはFully Conditional Specification; FCS)に基づいています。この手法は、複数の変数に個人ごとに異なるパターンで欠損が発生した場合に有効な解析を行うために開発されました。

mice()パッケージでできること

複数の補完済みデータセットの作成

mice()関数を使って、元のデータセットの欠損値を複数の尤もらしい値で補完し、M個の「擬似的な完全データセット」を作成します。

    • 関数呼び出しの基本的な形式は mice(data, m, maxit, method, seed, ...) のようになります。
    • dataまたはdf引数で、多重代入の対象となる欠損値を含むデータを指定します。
    • m引数で作成する補完済みデータセットの数を指定します。一般的には20〜50程度が推奨されています。
    • maxit引数で代入アルゴリズムの反復回数を指定します。最初の数回(例:10-20回)はバーンイン期間として破棄されることが一般的です。
    • method引数で、各変数の補完に使用する方法を指定できます。データ型に応じて様々な方法(予測平均マッチングpmm, ベイズ線形回帰norm, ロジスティック回帰logreg, 多項ロジットpolyreg, 順序ロジットpolrなど)が選択可能で、デフォルト設定も存在します。
    • seed引数を設定することで、乱数のシードを固定し、解析の再現性を確保できます。
    • デフォルトでは、指定したデータセットに含まれる全ての変数が多重代入に使用されます。subset()などを用いて、特定の変数を代入に使用しないようにすることも可能です。解析モデルで使用する全ての変数を補完モデルに含めることが推奨されています。
    • 補助的な変数を補完モデルに加えることで、欠測値の予測精度を高め、最終的な分析の標準誤差を減らし、MAR仮定をより確からしくすることが期待できます。
各データセットでの統計解析の実行

with()関数を用いて、M個の補完済みデータセットそれぞれに対して、本来行いたい統計解析(例:回帰分析など)を自動で実行できます。

    • with(data = df_miced, lm(outcome ~ variable1 + variable2 + ...)) のように記述します。
    • lm()glm()などのメジャーなパッケージは問題なく使用できます。ただし、一部のモデル(例:混合効果モデルのlmer()、一般化推定方程式のgee())はwith()の中で直接使用するとエラーになることがあります。lmer()についてはbroom.mixed()パッケージを使うことで対応可能になる場合があります。
解析結果の統合(プーリング)

pool()関数を用いて、M個のデータセットそれぞれから得られた解析結果(パラメータ推定値や標準誤差など)を、Rubin's Rulesなどの手法に基づいて1つの結果に統合します。

    • pool(miced_lm)のように、with()で実行した解析結果のオブジェクトをpool()に渡します。
    • 統合後の結果はsummary()などで確認できます。MICEによる解析結果は、完全ケース分析と比較して信頼区間が狭くなるなど、より多くの情報を用いた有効な解析ができていることを示す場合があります。

その他

  • 多重代入後の補完値の分布を確認するために、densityplot()のような関数を利用できます。また、complete()関数を使って、補完済みデータセットのいずれか1つを取り出して内容を確認することも可能です。
  • mice()は大規模データセットの場合、計算負荷が高くなり、時間がかかったり、Rがフリーズしたりすることがあります。そのため、解析負荷を減らすために使用する変数を限定したり、少ないデータセット数と反復回数でトライアル実行して動作を確認したりする工夫が推奨されています。また、一度作成した補完済みデータセットを保存しておくことが推奨されます。
  • EZRのメインメニューには多重代入法の実装はありませんが、EZRのバックグラウンドで動いているR環境でmiceパッケージを使用することは可能です。

mice()パッケージは、Rにおいて多重代入法(特に連鎖方程式アルゴリズム)を用いて、欠損値のあるデータセットを適切に補完し、その後の統計解析と結果の統合を一連の流れで行うための主要なツールです。

バイアスを減らし、欠測値の不確実性を考慮した正確な統計的推測を可能にするために広く利用されていますので、欠損値への対処への理解を深めたい方は、mice()パッケージへ挑戦してみてはいかがでしょうか。

多重代入法はどのような仮定に基づいて行われる?

本セクションは、ややマニアックな内容なので、深く踏み込まなくても大丈夫です。理論的背景をしっかりと理解したい方はぜひご一読ください。

ということで。多重代入法は、主に以下の仮定に基づいて行われます。

欠測メカニズムに関する仮定(MAR: Missing At Random)

多重代入法は、MAR(Missing At Random:観測データに依存する欠損)であると仮定して、観測データを条件とする欠測データの事後予測確率を構築し、補完を行います。MARとは、欠測が、観測されている他の変数によって説明できる場合に成り立つ仮定です。例えば、ある変数の欠測が、年齢や性別といった、欠測していない他の変数に依存する場合などがこれにあたります。 ソースでは、欠測の種類としてMCAR(Missing Completely At Random:完全にランダムな欠損)、MAR、MNAR(Missing Not At Random:欠損データに依存する欠損)が挙げられています。MARの仮定が満たされない、つまり欠測が欠損している変数自身の値に依存するMNARの場合、多重代入法を適用してもバイアスが生じる可能性があります。ソースでは、MNARに対応する手法の検討は未だ発展途上であることにも触れられています。 実際の解析を行う際には、「欠損値の現れ方が MAR であることを確認する」ことが作業手順の一部として挙げられています。MCARが仮説検定によって棄却されない場合はMCARと判断され、listwise deletionも可能ではありますが、ケース数を維持する目的で多重代入が行われることもあります。

理論的背景(ベイズ統計学および事後予測分布)

多重代入法の理論は、ベイズ統計学の枠組みで構築されています。具体的には、MARという仮定のもと、観測データを事前情報として欠測データの事後分布を構築し、この事後予測分布から無作為に抽出された複数のシミュレーション値(補完値)によって欠測値を置き換えます。新しい情報(観測データ)が見つかる度に確率(事後分布)を更新するという考え方が、ベイズ統計学の根幹にあります。この事後予測分布からのサンプリングによって補完値を生成することが、理論的妥当性を保持するために望ましいとされています。 特に、miceパッケージなどで用いられる連鎖方程式(Multiple Imputation by Chained Equations; MICE)は、理論的には完全条件付指定(Fully Conditional Specification; FCS)またはEMBアルゴリズムなど、複数のアルゴリズムが存在しますが、多くの手法は欠損データのベイズ統計による事後推定分布を使用しています。連鎖方程式では、各変数の条件付き分布を残りの変数によって互いに規定できるという仮定(相互条件付き識別性 [FCS])のもと、変数ごとにモデルを構築し、補完値を逐次的に更新していくプロセスを繰り返します。ただし、MICEの理論的正当性については、厳密な意味では必ずしも保証されないことがあるとも述べられています。

補完モデルの適切性

多重代入法を用いた解析の統計的な妥当性は、適切な代入によって多重代入が行われているか、および分析段階の完全データ推論が適切であるかに依るとされています。 「適切な代入」のためには、代入モデルは、欠損データのメカニズムに関連する予測因子を含む必要があります。例えば、分析モデルで相関している変数のいずれかを代入モデルから除外すると、相関の推定値にバイアスが生じる可能性があります。また、分析モデルのアウトカム変数を代入モデルで使用しないことも推定値にバイアスを生じさせるとされています。 そのため、一般的には、分析モデルで使用する全ての変数は、代入モデルにも含めるべきであると推奨されています。さらに、補助的な変数を補完モデルに含めることで、欠測値の予測精度を高めることが期待できます(これはソースの直接的な記載ではなく、一般的な多重代入の解説に基づく補足情報です)。

まとめると、多重代入法は、欠測メカニズムがMARであること、およびその理論的背景であるベイズ統計学に基づいた事後予測分布からのサンプリングという主要な仮定・考え方のもとで行われます。また、解析の妥当性を保つためには、適切な変数選択による補完モデルの構築が重要となります。

まとめ

多重代入法は、データセット内の欠損値を補完するための統計的手法です。欠損箇所に対し、他の変数との関係性を考慮して複数の「尤もらしい」値を算出し、複数の補完済みデータセットを作成します。

次に、各データセットで統計分析を実行し、最後にそれらの結果を統合して一つの最終結果(母集団パラメータの推定値など)を得ます。これにより、欠損データを除外したり単一の値で補完したりする方法の欠点である情報損失やバイアス、不確実性の過小評価を克服し、より正確な統計的推測を目指します。

分析は代入・推定・統合の3段階で行われ、MAR(欠損が観測値に依存)の仮定を置くことが多く、Rのmiceパッケージなどで実装されています。

名前からは欠損値への対処がなかなか連想されないかもしれませんが、本記事を通じて多重代入法と欠損値をつなげて覚えていただければと思います。

-ビッグデータ, 疫学, 統計学

© 2025 RWE