Top 5 This Week

関連記事

【医療統計版】MICEによる多重代入(1/5):MARの仮定と連鎖方程式

- 本サイト運営者のサービスの紹介 -

研究データを回帰分析へ渡したところ、登録した対象者よりも解析人数が少なくなっている場合があります。アウトカムは記録されていても、BMIや検査値、既往歴のどこかに欠測があり、必要な変数が全てそろった対象者だけが残っているためです。そして、変数ごとの欠測割合は小さく見えても、欠けている対象者が変数間で異なれば、完全ケース解析で失う人数は予想以上に多くなります。

このようなデータで多重代入を使う時、Rの関数を動かすこと自体は難しくありません。難しいのは、何を使って欠測値を補い、その補い方が解析したい関連を保っているかを判断する部分です。また、補完後のデータから計算した標準誤差には、元の観測情報だけでなく、欠測部分についてどれくらい分からないことが残っているかも反映させる必要があります。

MICEは、この補完と推定をつなぐ代表的な方法です。ただし、MICEを選んだという情報だけでは、どのような仮定で結果を得たのかは伝わりません。補完する変数ごとのモデル、予測変数、反復回数、生成するデータセット数、そして診断と感度分析まで記述して、初めて解析の中身が読者に見えるようになります。

多重代入とMICEの関係

多重代入では、欠測部分について異なる値を持つデータセットを複数生成し、それぞれに同じ解析を当てはめます。そして、各データセットから得た推定値と分散を統合し、欠測に由来する不確実性を含む推定結果を求めます。

不完全なデータからm組の補完データセットを作り、それぞれで同じ解析を当てはめ、得られた推定値をRubinの統合則でまとめる流れの模式図。
図1 観測値は変えず、欠測部分だけをm通りに埋めます。各組で同じ解析を行い、最後に推定値と分散をまとめます。対象者がm倍に増えるわけではありません。

ここで複数生成するのは、観測された値まで変更したデータではありません。通常の欠測値補完では観測値を固定し、欠測していた部分だけを変えます。したがって、30組のデータセットを生成しても、対象者が30倍に増えるわけではなく、同じ対象者について欠測部分の候補を30通り持つことになります。

MICEはmultiple imputation by chained equationsの略称として使われ、変数ごとに条件付きモデルを組み、そのモデルを順番に更新して補完を進めます。また、この変数別のモデル指定はfully conditional specification、略してFCSとも呼ばれます。MICEは多重代入を行うための方法ですが、多重代入の全てがMICEというわけではありません。

たとえば、BMIには連続変数用の補完方法、高血圧の有無には二値変数用の補完方法を割り当てられます。全ての変数を同じ分布で扱う必要がないため、連続値とカテゴリが混在する研究データに使いやすい点が特徴です。

ただし、変数ごとにモデルを自由に選べることと、それらを組み合わせた結果が理論的に整合することは別の問題です。この点は、交互作用や非線形項を含む解析で特に効いてきます。

欠測理由とMARの仮定

検査値が欠けている対象者を調べたところ、年齢が低い人ほど欠測が多かったとします。年齢が全員で観測されていれば、年齢を条件にして検査値の分布を推定することで、欠測している人と観測されている人の違いを一部説明できます。

しかし、同じ年齢の人同士でも、記録されていない検査値そのものが高いほど欠測しやすいなら、年齢だけではその違いを説明できません。この区別が、MARとMNARを考えるうえで非常に重要です。

観測された部分を$D_{\mathrm{obs}}$、欠測している部分を$D_{\mathrm{mis}}$、どこが観測されたかを表す指標の集合を$R$とすると、MARの仮定は次のように書けます。

$$\Pr(R\mid D_{\mathrm{obs}},D_{\mathrm{mis}}) = \Pr(R\mid D_{\mathrm{obs}}) \tag{1}$$

式(1)は、観測情報を条件にした後は、欠測の起こり方が未観測の値へ追加的に依存しない、という仮定を表しています。欠測が何の理由もなく起きるという意味ではなく、欠測に関わる違いを観測情報で説明できると置いています。

MCARはこれより強く、欠測の起こり方が観測値にも未観測値にも依存しない状態です。MNARは、観測情報を条件にしても未観測の値への依存が残る場合を指します。

MARは、データセット全体へ一度貼れば済むラベルではありません。どの情報を条件にしているかに依存するため、年齢だけを持つデータと、年齢に加えて過去の検査値や受診状況も持つデータでは、MARを置く根拠が異なります。

また、MARだけでMICEの推定が保証されるわけではなく、補完モデルが変数間の関係を十分に表現していることなども必要です。欠測機構の仮定と補完モデルの指定は、分けて確認しなければなりません。

観測データで確かめられる範囲

欠測の有無を目的変数にして年齢や既往歴との関連を調べれば、どの観測変数が欠測と結び付いているかは分かります。そして、その情報は補助変数の選択や欠測理由の説明に使えます。

ただし、そこで関連が見つからなかったからMCAR、あるいはMARが成立したと判断するのは注意が必要です。未観測の値との関連は、その分析では直接調べていません。また、標本が小さければ、観測変数との関連があっても検出できない場合があります。

同じ観測データと整合するMARモデルとMNARモデルが存在し得るため、通常、観測データだけから両者を決着させることはできません。欠測理由の記録、測定の手順、外部情報、そして感度分析が必要になるのは、このためです。

完全ケース解析との使い分け

完全ケース解析で回帰係数が偏るかどうかは、欠測割合だけでは決まりません。欠測によって、アウトカムと説明変数の関係がどのように選別されるかに依存します。

たとえば、説明変数を条件にしたアウトカムの平均を正しくモデル化しており、完全ケースになる確率が、その説明変数を条件にすればアウトカムへ依存しない状況を考えます。この場合、完全ケースに絞っても条件付き平均の関係が保たれ、回帰係数を推定できることがあります。したがって、完全ケース解析にMCARが常に必要と説明すると、成立条件を狭く言いすぎます。

反対に、同じ説明変数の値でもアウトカムによって完全ケースになる確率が異なるなら、残った対象者での関連が元の集団と異なる可能性があります。また、回帰係数が推定できる条件でも、元の集団の平均や有病割合まで同じように推定できるとは限りません。条件付きの関連と集団全体の要約は、推定したい量が異なるためです。

MICEには、不完全な対象者に残っている情報も使える利点があります。ただし、情報を使う範囲が広がる分、補完モデルへの依存も生じます。完全ケース解析との結果の差は、人数が増えた効果だけでなく、対象者の構成と補完仮定の違いも含んでいます。

私なら、方法を決める前に、完全ケースで何人残るかと、外れた人がどの群へ偏っているかを数えます。失っているものの大きさが分からないまま、補完するかどうかは決められないからです。

解析対象から外れる人の特徴と、欠測している変数の役割が分かると、どの方法で何を推定できるかを説明しやすくなります。そのため、欠測割合だけで解析法を切り替えるのではなく、推定対象と欠測機構に照らして完全ケース解析と多重代入の仮定を比べます。

単一代入で失われる不確実性

BMIが欠測した全員に観測者の平均BMIを代入すると、補完した人同士にはBMIの違いがなくなります。また、年齢やアウトカムとの関係を使っていないため、変数間の共分散も変わります。

回帰式から予測値を入れる方法なら、観測変数との関連はある程度反映できます。しかし、全員を回帰直線上へ置く決定的な補完では、同じ説明変数を持つ人の間にも残るばらつきが抜け落ちます。そして、その補完値を実測値と同じように扱って通常の標準誤差を計算すると、欠測値を知らないことによる不確実性を十分に反映できません。

多重代入では、欠測値の候補を生成する段階で、予測のばらつきとモデル推定の不確実性を扱います。正規線形モデルによる補完を例にすると、回帰係数や残差分散を推定値に固定せず、それらの不確実性を反映した値を使って欠測値を生成します。

ただし、乱数を加えさえすれば多重代入として妥当になるわけではありません。加えるバラつきがデータとモデルに結び付いており、その後の統合則と整合している必要があります。

連鎖方程式による更新

年齢は全員で観測され、BMI、総コレステロール、高血圧の有無には欠測がある場合を考えます。MICEは欠測部分へ初期値を入れた後、BMIを年齢、総コレステロール、高血圧の有無から補完し、続いて総コレステロールや高血圧の有無を更新します。

BMIを更新する時には、総コレステロールなどの欠測部分に現在入っている値を使います。そして、総コレステロールを更新する時には、直前に更新されたBMIを使います。このように、ある変数の補完結果が次の変数の予測へ渡されるため、連鎖方程式と呼ばれます。

欠測を持つ変数を$X_1,\ldots,X_p$、反復番号を$t$とすると、$j$番目の変数の更新は概念的に次の形です。

$$X_{j,\mathrm{mis}}^{(t)} \sim p_j\!\left( X_{j,\mathrm{mis}} \mid X_{j,\mathrm{obs}}, X_1^{(t)},\ldots,X_{j-1}^{(t)}, X_{j+1}^{(t-1)},\ldots,X_p^{(t-1)}, \theta_j^{(t)} \right) \tag{2}$$

式(2)は、ほかの変数について現在利用できる値と、補完モデルのパラメータを使い、$X_j$の欠測部分を更新することを表しています。$\theta_j^{(t)}$は、その反復で使う$j$番目の補完モデルのパラメータです。

1巡しただけでは、最初に置いた値の影響が残っている場合があります。そのため、全ての補完対象を更新する操作を繰り返し、初期値の影響が十分に小さくなったかを診断します。

miceでは、mが生成する補完データセット数、maxitが各連鎖の反復回数です。m=30, maxit=20なら、30本の連鎖をそれぞれ20回更新し、30組の補完データセットを得ます。600組を独立に生成したという意味ではありません。

補完の式をどの方法で書き、どの変数をその式に入れるかは、次の補完方法の選択と欠測率の読み方で扱います。

参考文献

van Buuren S, Groothuis-Oudshoorn K. mice: Multivariate Imputation by Chained Equations in R. Journal of Statistical Software. 2011;45(3):1-67.

White IR, Royston P, Wood AM. Multiple imputation using chained equations: Issues and guidance for practice. Statistics in Medicine. 2011;30(4):377-399.

Sterne JAC, White IR, Carlin JB, et al. Multiple imputation for missing data in epidemiological and clinical research: potential and pitfalls. BMJ. 2009;338:b2393.

Hughes RA, Heron J, Sterne JAC, Tilling K. Accounting for missing data in statistical analyses: multiple imputation is not always the answer. International Journal of Epidemiology. 2019;48(4):1294-1304.

Popular Articles