効果検証入門が良かったのでまとめてみた③
はじめに
効果検証入門のまとめの続きです。前回はセレクションバイアスを軽減する基本的な方法である回帰分析についてまとめました。本記事ではセレクションバイアスを軽減する手段の1つである傾向スコアを用いた分析について説明していきます。 kutohonn.hatenablog.com
参考文献
効果検証入門
傾向スコア分析の仕組み
傾向スコアとは各サンプルにおいて介入が行われる確率のことです。傾向スコアを用いた分析は、介入が行われた仕組みに着目しています。介入グループと非介入グループのデータの性質を近くする操作を行うことで、セレクションバイアスを軽減します。この操作は以下の仮定に基づいて行われます。 以下は回帰分析の仮定(CIA)と傾向スコア分析の仮定の比較をしたものです。
セレクションバイアスを取り除くためには、目的関数に対して介入が独立している必要があることを前回説明しました。この独立性を満たすために回帰分析で考えられている仮定はCIAというものでした。これは共変量の値が同一のユーザの中で、目的関数に対して介入変数が独立しているという仮定です。一方、傾向スコアでは、傾向スコアが同一となるサンプルの中で、目的関数に対して介入変数が独立しているという仮定です。つまり回帰分析との違いは、介入が目的関数に対して独立であることを、共変量で条件づけるのではなく、傾向スコアで条件付ける点にあります。そのためには各データの傾向スコアを求めてあげる必要があります。
傾向スコアの推定方法
傾向スコアを用いた分析では、上記で説明したように傾向スコアを求める必要があります。しかしながら傾向スコアを直接観測できる状況はほとんどないため、何かしらのモデルを用いて手持ちのデータから傾向スコアを推定する必要があります。この時多くの場合でロジスティック回帰が用いられます。(共変量数が多い場合は、勾配ブースティングも有効のようです。)ロジスティック回帰は介入変数の値を目的変数とし、以下のような回帰式となっています。
ここでのロジスティック回帰は、仮に変数と、0か1の値をとるを与えると、となる確率を推定するモデルを得る方法と言えます。 ロジスティック回帰によって得られたモデルを利用することで傾向スコアの推定値を得ることができます。ここで重要なのは傾向スコアの推定値のみでモデルのパラメータ自体は特に分析する必要はありません。機械学習をやっている方だとモデルの妥当性や精度を考慮する必要があるように感じるかもしれません。しかしながら効果の分析において、傾向スコアの推定に用いたモデルの解釈は質の保証にはなりえません。そのため傾向スコアの推定を行ったモデルやそのパラメータに関しては特に解釈を行う必要はありません。
傾向スコアを用いた分析方法
ここでは傾向スコアを用いた2つの分析手法について説明します。
傾向スコアマッチング
こちらはとてもシンプルなアイデアです。傾向スコアマッチングでは、介入ありグループから取り出したサンプルと傾向スコアの値が近いものを介入なしグループから取り出してペアにします。そしてペアの中で目的変数の差を算出し、これを全てのデータで行いその平均を効果の推定値とします。先ほど説明したように傾向スコアが同じ値を持つサンプルの中では介入変数はと独立して決定されていると考えられます。そのためこの中でグループ間の比較を行ってもセレクションバイアスの影響を受けることなく効果を推定することができます。
マッチングにおいては傾向スコアごとにグループ間を比較し、それらの結果をグループに属しているサンプルの数を重みとした重み付きの平均を算出することで、効果を推定しています。マッチングによって推定される効果は以下のようになります。
これは介入を受けたサンプルにおける介入効果の期待値で、ATT(Averaged Treatment effect on Treated)と呼ばれます。ATTは介入を受けたサンプルにおける効果なので、ATTの推定を行った値は平均的な効果を推定した値ATE(Average Treatment Effect)と結果が異なる場合があります。
マッチングは実際の計算時間が長くなってしまう傾向にあります。また傾向スコアのモデルに含まれる変数が多くなると、傾向スコアが完全に一致しないため、傾向スコアの値が似ているサンプルをペアにする必要があります。
逆確率重み付き推定(IPW)
逆確率重み付き推定(Inverse Probability Weighting;IPW)では、傾向スコアをサンプルの重みとして利用し、データ全体の介入を受けた場合の結果の期待値] と、介入を受けなかった場合の結果の期待値(E[Y^{(0)}])を推定します。そしてその後にこれらの差分を取ることで効果を推定します。 式を用いて説明します。
上記は単純にZ=1の時のY(1)、Z=0の時のY(0)の平均の推定値を示しています。これらの差から効果の推定を行うとセレクションバイアスの影響を受けてしまいます。そこで傾向スコアの推定値\hat{P}(X_i)を用いて以下のように変形します。
こちらがIPWで用いる重み付きの平均です。傾向スコアの推定値\hat{P}(X_i)の逆数を重みとして平均を取っています。詳細は省きますがこうすることによりセレクションバイアスの影響を低減することができます。あとはこれらの差分を取ることで効果を推定することができます。
IPWでは先に]と]を推定し,その推定結果の差分を取ることで効果を推定しました。これはつまりデータ全体での平均的な効果を推定したことになります。これはATEの推定を行っていることになり、介入の効果がサンプルによって異なるような場合でもそれを考慮した平均的な効果が推定されることになります。
より良い傾向スコアとは
傾向スコアは回帰分析と同様、どのように推定してもセレクションバイアスを消し去ってくれるような便利な道具ではありません。 ここではより良い傾向スコアを得るためには何をする必要があるかについて説明します。 傾向スコアを用いた分析では、マッチングもしくは重み付けを行ったあとのデータにおいて、共変量のバランスが取れているかが重要です。
傾向スコアと回帰分析の比較
介入の効果の分析において、傾向スコアは共変量の影響を取り除くという点で回帰分析と役割はほぼ同じです。ではどのように使い分ける必要があるのでしょうか。以下に回帰分析と傾向スコアのメリットデメリットを整理してみます。
回帰分析 | 傾向スコア | |
---|---|---|
メリット | 手軽で取り組みやすい モデリングが正しくできる場合、効果の標準誤差が小さくなる(検証結果の質が上がる) |
に対するモデリングを行わなくて良い 情報を入手しやすいの決定方法に関する調査を行うだけで良い |
デメリット | 目的関数と共変量の関係について入念にモデリングを行わないといけない | マッチングは計算に時間を要するため大量のデータには不向き |
よっての値がどのような仕組みで決まるかに関して豊富な情報を持つ場合には、回帰分析を行うメリットが大きく、に関する情報があまりない場合には傾向スコアを用いるほうが望ましいです。
おわりに
今回は傾向スコアについてまとめてみました。傾向スコアのアイデアはシンプルながら個人的に非常に面白いなと思いました。