データ分析の書記録

読んだ本の内容って忘れてしまいますよね。このブログは分析関係の読んだ本、勉強したことの記録です。

調査観察データの統計科学 1~2章

はじめに

因果推論についての解説本。かなり難しい。数式が多く説明自体が概念や統計学を理解している方向けに書かれていると感じました。
中~上級者向け。事前に岩波データサイエンスVol3を読んでおくと良いです。

1.2 実験研究と調査観察研究

データ分析において、モノゴト(政策や企画)の効果や因果関係を測る(因果推論)にはモノゴトを試した(介入した)「処置群」と「対照群」の2つの群の差を検証すればわかります。 こういった事象から得られるデータは2種類あります。

  • 実験研究:対象者を無作為に各群に割り当てしたもの、検証には最適だがデータを得るのが大変
  • 観察研究:無作為割り当てではないもの

世の中のデータは大体観察研究のデータばかりで、つまり処置群と対照群は性質から同等ではないということです。この群の性質が偏っているデータから効果や因果関係を正しく検証したいとします。 例えば、得られたデータを4変数に分けるとデータの関係性は以下のようなものが考えられます 。

f:id:shinomiya_note:20200305173956p:plain:w400

知りたいのは中間変数を媒介した効果(間接効果)より割り当て変数からの直接効果ですが、中間の定義は困難。また実務的には総合的な効果の方が結果として重要です。

1.5 欠測データの枠組み

データから因果推論を行う基本戦略は3つです。


1. 欠測データという枠組みで考える
2. 共変量をたくさん集めて使用する
3. セミパラメトリックロバストな手法を使う


補足:ちなみに欠測とは

  1. 変数レベルでの記入漏れや無回答
  2. 打ち切りや切断
  3. 経時データやパネルデータでの脱落や摩耗
  4. 調査の無回答や不参加

戦略1:欠測データの枠組みとは

  • データを対象者1人につき2つの結果変数Yが存在し、1つのみが観測、もう一つが欠測と考える
  • 欠測を表す変数M(=0,1) が結果変数Yに与える影響を考慮する
   z = 1 処置群 z = 0 対照群
介入を受けた場合 y_1 処置群データ 欠測
介入を受けない場合 y_0 欠測 対照群データ
共変量項目 x x

我々の知りたいことは介入効果の差E(y_1)-E(y_0)や、処置群(Z=1)の介入効果の差E(y_1|z=1) - E(y_0|z=1)です。 そのためには欠測部分を補ってやる必要があります。

因果効果の定義(2.4に該当)

ATE:平均処置効果ATE(ルービンの因果効果)

\begin{align} E(y_1-y_0) = E(y_1) - E(y_0) \end{align} 介入効果の差を平均処置効果ATEやルービンの因果効果と言います。まさに効果の差(の集団での平均)。

TET (ATT):処置群での平均処置効果

\begin{align}TET=E(y_1-y_0|z=1)]\end{align}

TEU (ATU):対照群での平均処置効果

\begin{align}TEU=E(y_1-y_0|z=0)]\end{align}

TETは処置群、TEUは対象群での効果です。実際には y1 or y0 の片方の値しか観測されないので、実利用には推定値が必要となります。
TETとTEUから因果効果はATE:E(y_1-y_0)=TET×p(z=1)+TEU×p(z=0)と表せます。(p(z=)はそれぞれの群の構成比率)

余談
ということは、因果効果は母集団の性質に影響されますね(例:処置群と対照群が1:10の人数なら、ほとんど対照群を抽出した元の混合母集団からぬきだしたものになっている)

2.2 欠測のメカニズム…ある対象者においてある変数がなぜ欠測したか?

欠測を表す変数Mが結果変数Yに与える影響をなぜ考える必要があるかというと、欠測の仕方に種類があるからです。

  1. 完全にランダムな欠測(MCAR:missing completely at random)
    ➡欠測するか否かの変数Mはランダム。よって結果変数YはMと関係がない(=Yの欠測は偶然)

  2. ランダムな欠測(MAR:missing at random)
    ➡欠測するか否かの変数Mは、他の変数を通してのみ関係するのでYの値の大小には関係しない(例:Xの値が高くなるとYが欠測する)

  3. ランダムでない欠測(NMAR:not missing at random, MNARともいう)
    ➡欠測するか否かの変数Mは、結果変数Yの値の大小や他の変数に関係する(例:Yの値が高くなるとY自身が欠測する等)

ですので、欠測の仕方に応じてYの欠測値を補ってやる必要があります。

欠測についての理解は下記の資料が役に立ちました。 ホクソエムさんがオススメしています。 欠損データ分析(missing data analysis)-完全情報最尤推定法と多重代入法-村山航

選択モデル

個人的なつまづきポイント1です。飛ばしても大丈夫です。”Yがどのような確率分布(モデル)とパラメータθから発生しているのか?” これが分かればYの欠測値を考えることができそうですが、肝心のYの欠測値は観測できませんからデータがありません。Yの観測値から推測が可能なのでしょうか?それを考えてみましょうというのがこの項です。

仮に欠測のない完全なデータであれば

結果Yから最尤推定をすればYの確率分布のパラメータθが求められます。
尤度(関数)は\displaystyle L(θ) = \prod_{i}p(y_i|θ)ですね( i:対象)。
尤度はパラメータθの値を決めたときに、すべての対象 i についてのp(y_i|θ)の積です。

欠測のあるデータであれば

さて、尤度に欠測データの枠組みを適用することを考えます(Y = (Yobs, Ymiss)とする。Yobs=観測値、Ymiss= 欠測値)。欠測データの枠組みでは欠測があるので、そのことを検討しなければいけません。そうすると尤度は下式になります(概念を考えるので、一旦対象 i のことは置いておいておきます)。 \begin{align} 𝑝(𝑦,𝑚|θ,Φ)=𝑝(𝑦|θ)𝑝(𝑚|𝑦,Φ) \end{align}

選択モデル m:欠測変数(欠測の有無)、Φ:欠測変数の確率分布のパラメータ

選択モデルと言い、欠測データのモデルを考えるアプローチの一つです。 統計モデルの考え方は、"データの変数は確率変数であり何かしらの確率分布から発生している"というものなので、mにも確率分布のパラメータがあるわけです。
しかしY =(観測データY_{obs}、欠測データY_{miss}であり観測できないY_{miss}を含んでいるためθ を推定できないので ”観測データのみの尤度" に積分消去(周辺化)します。
\begin{align} p(y_{obs},m|θ,Φ) = ∫p(y|θ)p(m|y,Φ)dy_{miss} \end{align}

完全尤度とも呼ばれる

さてさて、欠測するか否かの変数Mは結果変数Yとの関わりにより3タイプありましたよね。よって次はp(m|y,Φ)を考えてやります。

「完全にランダムな欠測MCAR」の時は、
  • ”結果変数Yと欠測変数Mは関係がない” ➡ p(m|y,Φ) = p(m|Φ)
「ランダムな欠測MAR」の時は、
  • ”Y自体の数値(の大小や有無)と欠測変数Mは関係がない” ➡ p(m|y,Φ) = p(m|y_{obs},Φ)

これらを完全尤度に代入すると

\begin{align} p(y_{obs},m|θ,Φ) &= p(y_{obs}|θ)p(m|Φ) \end{align}

「完全にランダムな欠測MCAR」

\begin{align} p(y_{obs},m|θ,Φ) &= p(y_{obs}|θ)p(m|y_{obs},Φ) \end{align}

「ランダムな欠測MAR」


MCARとMARではy_{miss}がすでに消去できています。つまりθの最尤推定量を得るためならYの欠測値を考慮せずにパラメータθを推定して良いことになります。Yの観測値の尤度p(y_{obs}|θ)からY全体を考えて良さそうですね。
ランダムでない欠測MNARではp(m|y,Φ)のままなので欠測値y_{miss}が含まれたままですね。詳細は省きますが、"ランダムでない欠測"も"ランダムな欠測”と同じように因果効果の話では扱ってよいとのことです。

おまけ:完全尤度の計算

\begin{align} p(y_{obs},m|θ,Φ) = ∫p(y|θ)p(m|y,Φ)dy_{miss} \end{align} さらに周辺化するためにyをobsとmissにわけて
\begin{align} = ∫p(y_{obs}|θ)p(y_{miss}|θ)p(m=1|y_{obs},Φ)p(m=0|y_{miss},Φ)dy_{miss} \end{align} 積分に関係しないy_{obs}は前に出します。 \begin{align} = p(y_{obs}|θ)p(m=1|y_{obs},Φ)∫p(y_{miss}|θ)p(m=0|y_{miss},Φ)dy_{miss} \end{align}

※したがって尤度(対象者iの積の表記)は下記のようになります。

\displaystyle L(θ,Φ)=\prod_{i:m=1}p(y_i,|θ)p(m_i|y_i,Φ)  \prod_{i:m=0}∫p(y_i|θ)p(m_i|y_i,Φ)dy_i

2.5 共変量調整による因果効果推定

続いて戦略2:共変量をたくさん集めて使用するに移ります。

   z = 1 処置群 z = 0 対照群
介入を受けた場合 y_1 処置群データ 欠測
介入を受けない場合 y_0 欠測 対照群データ
共変量項目 x x

欠測データの枠組みでは、欠測値をいかに補って因果効果を検証するかですが、両群に共通な共変量項目のデータをそれに利用する、というのが戦略2になります。とはいえ、様々な条件が成り立つ必要があります。

例えば以下のようなデータと関係性があるとします。

データと関係性

f:id:shinomiya_note:20200228170417p:plain:w300

Xの親の学歴や年収、本人の能力が高ければ、Zの英語教育の有無やYの成績も当然変わってきますよね。これでは純粋に英語教育Zの効果を測ることができません。よってこのバイアスを調整してやる必要があります。まずはXを利用してどのように表せるか確認します。

共変量を適用した表現

共変量の存在を2.2の選択モデルの考え方に適用します。 \begin{align} p(y_1,y_0,z,x)= p(z|y_1,y_0,x) p(y_1,y_0|x) p(x) \end{align} 右辺 =「結果yと共変量xを条件づけた割り当てzの分布」×「共変量xを条件づけた結果yの分布」×「共変量xの分布」と表現します。

共変量を用いて因果効果を推定するための条件

「割り当てZ(英語教育プログラム)が共変量Xにのみ依存し、結果変数Yには依存しない」と仮定します。 例でいえば親の学歴や収入、事前の成績、能力によって英語教育プログラムの参加が決定される場合です。 これを"強く無視できる割り当て条件"と言います。
この条件はXとZが関係し、ZとYが独立していることになります。
つまり p(z|y_1,y_0,x) = p(z|x)が成り立ります(yはzには関係なし!)
この式をベイズの定理で言い換えて式変換すると
\begin{align} p(z|y_1,y_0,x) = \frac{p(y_1,y_0|z,x)p(z|x)}{p(y_1,y_0|x)} = p(z|x) \end{align} より \begin{align} p(y_1,y_0|z,x) = p(y_1,y_0|x) … (z=1,0) \end{align} となり、 p(y_1,y_0|z,x) = p(y_1,y_0|x)も成立します。
➡ つまり「強く無視できる割り当て条件」は「共変量xを条件づければ、Yはどちらの割り当て(群)Zに割り当てられたかには関係しない」ということになります。

z=1,0のときそれぞれでy1,y0で周辺化して積分消去して期待値を取ると \begin{align} E(y_1|z=1,x)= E(y_1|z,x) = E(y_1|x)\\ E(y_0|z=0,x)= E(y_0|z,x) = E(y_0|x) \end{align} と表記できます。上記式を「平均での独立性」が成立していると言います。上記式の意味するところはzが関係しないので、観測値だけの平均値の差で全体の因果効果が推定できることになります。

よって共変量を付与した因果効果は
\begin{align} E(y_1-y_0|x) &= E(y_1|x) - E(y_0|x) \\ &= E(y_1|z=1,x)-E(y_0|z=0,x) \end{align} となります。ですが本来知りたいのは共変量の影響を除いた効果ですので、 \begin{align} E(y_1-y_0) &= E(y_1)-E(y_0) \\ &= E_x[E(y_1-y_0|x)] \\ &= E_x[E(y_1|x) - E(y_0|x)] \\ &= E_x[(E(y_1|z=1,x)-E(y_0|z=0,x)] \end{align}

Exは共変量xに対しての期待値を取ることですね。これを共変量調整と言います。
これで共変量を利用してバイアスを調整した因果効果が求められることが分かりました。

2.6 既存の共変量調整方法と問題点

既存の共変量を用いたバイアス調整の方法はいくつかあります。

共変量調整方法

マッチング
  • 共変量が同じになる対象者のペアを作って差を検討する方法。完全に同じ値同士をマッチングさせるのは完全マッチング。
サブグループ解析
  • 共変量のある特定の値の対象者のみに限定して解析
層別解析
  • 共変量の値をいくつかの層に分け、層ごとで比較
回帰モデル
  • 割り当てzごとに共変量xを説明変数にした回帰モデルを作成し、E(y1|z=1)-E(y0|z=0)の差を取る
  • 割り当てzと共変量xを説明変数にした重回帰モデル(y~z+x、線形モデルでは共分散分析とも呼ばれる)

一方、それぞれに問題点があります。

各調整方法の問題点

マッチングの問題点
  • マッチングが困難
    • 共変量が多すぎるとき
    • サンプルサイズ小さいとき
    • カテゴリ変数があるとき
  • 両群で完全一致は無理なのでマッチングさせるかが恣意的
  • 共変量の値が重なら過ぎるとマッチングできない=サポート問題
サブグループ解析の問題点
  • 共変量xの条件付き効果になる
層別解析の問題点
  • どのように層を別分けるかの問題
  • 恣意的
回帰モデルの問題点
  • 共変量が多いと必要データ量が膨大になる(次元の呪い)
  • 従属変数yと共変量x間に適切な回帰モデルを設定する想定 ➡ 回帰モデルといっても線形(パラ)なのかカーネル回帰(ノンパラ)なのか・・・できるだけロバストが良い(次元の呪いもあるし)
  • 線形モデル(≒共分散分析)では各群の回帰モデルの傾きが同一という仮定が必要

➡ これらの想定の必要がない傾向スコアを持ちいたセミパラメトリックな手法(戦略3)!