🙆‍♀️

サンプリングウェイトとIPWと標準化

2024/03/31に公開

やりたいこと

  • 因果推論におけるIPWが、調査などにおけるサンプリングバイアスを補正するための手法とつながっていることの理解を深める
  • その上で、IPWと標準化法の繋がりを調査などにおけるサンプリングの考え方から確認する(因果推論の本によくある式変形とは違うアプローチ)
  • 脱線だけれど、IPWでは重みの平均が2 (Stabilized weightでは1) になると言われていることを確認する

survey/sampling weightの考え方からIPWを考える

y_1, y_2, y_3, ...y_i...y_Nという集団の中から、S_i=1iだけが含まれるn人のサンプルが得られたとする。このとき、サンプルに含まれる何かしらのメカニズムが裏にあって、個体iがサンプルに含まれる確率Pr(S_i=1) := \pi_i(>0)をイメージする (\pi_i=0だとそもそも元の集団に含まれないことになるので0より大きいと考える)。

今、手元のサンプルの和から、母集団の和を得ようとすると、\pi_iの逆数をかけてあげることが自然である (本来10人いる人が1人しか選ばれない時、得られた1人の値に10をかけてあげたくなる)。

\sum^{N}_{i=1} {y_i} = \sum^{n}_{j=1} {\frac{y_j}{\pi_j}}

元の集団の和を取る形の記載にする場合は、S_i=0の時は0になることを利用してS_iを使う:

\sum^{n}_{j=1} {\frac{y_j}{\pi_j}} = \sum^{N}_{i=1} {\frac{S_iy_i}{\pi_i}}

よって、元集団における平均を標本から復元する式は次のようになる:

\frac{1}{N} \sum^{N}_{i=1} {y_i} = \frac{1}{n} \sum^{n}_{j=1} {\frac{y_j}{\pi_j}} = \frac{1}{N} \sum^{N}_{i=1} {\frac{S_iy_i}{\pi_i}}

次に、サンプリングに関連する変数が1つあってK個の水準を持つカテゴリカル変数であったとし、k=1,2,...,Kに対してPr(S_k=1) := \pi^{(k)}と書く。また、サンプルの中でそれぞれの水準に属する個体数をn^{(k)}とする (ただし、\sum^{K}_{k=1} \pi^{(k)} = n)。

水準kの個体を1^{(k)}, 2^{(k)}, ..., j^{(k)},...,{n^{(k)}}と数え上げるとして、

\begin{align*} \frac{1}{N} \sum^{K}_{k=1} \sum^{n^{(k)}}_{l={1^{(k)}}} \frac{y_{l}}{\pi^{(k)}} &= \frac{1}{N} \sum^{K}_{k=1} \frac{n^{(k)} \bar{y}^{(k)}}{\pi^{(k)}} \quad \text{where} \, \, \bar{y}^{(k)} = \frac{1}{n^{(k)}} \sum^{n^{(k)}}_{l=1^{(k)}} {y_l} \\ \end{align*}

と書ける。

ここでの標本に含まれるかどうかを治療を受けるかどうかに読み替えれば、\pi^{(k)}が水準kにおける治療を受ける確率、n^{(k)}が治療群の水準kにおける症例数となる。

(自分用のメモ: これが岩崎先生の因果推論本の式7.1に相当)。

IPWと標準化法の繋がりを見る

元の集団における水準kの個体数をN^{(k)}とすると、\pi^{(k)}=\frac{n^{(k)}}{N^{(k)}}と書ける。これを用いて先の式を変形していくと:

\frac{1}{N} \sum^{K}_{k=1} \frac{n^{(k)} \bar{y}^{(k)}}{\frac{n^{(k)}}{N^{(k)}}} = \sum^{K}_{k=1} \frac{N^{(k)} \bar{y}^{(k)}}{N} = \sum^{K}_{k=1} q^{(k)}\bar{y}^{(k)}

となる。q^{(k)}は、元集団の中での水準k比率を表しているので、標本における水準kでのアウトカムyの平均を元の集団での平均に戻す作業を行なっていると言える。これが、元の集団を標準集団 (Standard population) として、標本のデータを標準集団におけるデータに変換する、標準化という方法である。今回のやり方は直接標準化 (direct standardization) とも言う (岩崎先生の因果推論本のp.132より; 上記式は同ページの式6.2, 6.3あたりに相当)。

今、手元の標本が治療を受けた (A=1) サンプルであるとし、標準集団を全員が治療を受けた集団として上の式を眺める。識別三条件 (交換可能性、正値性、一致性) を満たしていれば、

\sum^{K}_{k=1} q^{(k)}\bar{y}^{(k)} = \sum^{K}_{k=1} Pr[X = k]\,E[Y|A=1, X = k] = E[Y^{A=1}]

となり、因果推論の文脈で見る標準化の式を得る。

Weightの平均が2になることを確認する

最後に、今回の件と直接関係はないけれど、これまで気になっていて確認できていなかった、Unstabilized weightsの平均が2になると良いという件(see What If)について、確認する。誤りがあったらご指摘頂きたい。

個体iの重みをw_i、治療をA_i、標本サイズをN、標本での治療群サイズをn_1、対称群サイズをn_0として、重みの和を考えると:

\begin{align*} \sum^{N}_{i=1} w_i &= \sum^{N}_{i=1} [A_i w_i + (1-A_i)(1-w_i)] &= \sum^{n_1}_{j_{1}=1} w_{j_1} + \sum^{n_0}_{j_{0}=1} (1-w_{j_0})\\ &= \sum^{n_1}_{j_{1}=1} \frac{n^{(k)}}{n_1^{(k)}} + \sum^{n_0}_{j_{0}=1} \frac{n^{(k)}}{n_0^{(k)}} \\ &\approx n_{1} \frac{N}{n_{1}} + n_{0} \frac{N}{n_{0}} \\ &= 2N \end{align*}

となる。ただし、\bar{w}^{(1)}は治療群における重みの標本平均、\bar{w}^{(0)}は対照群の重みの標本平均として書いて、これらがNにおける治療群の占める割合と対照群の占める割合でそれぞれ近似できると重みの合計が2N、すなわち、重みの標本平均が\bar{w}=2になる。

ただ、別のやり方も考えることができて:

\begin{align*} \sum^{n_1}_{j_{1}=1} w_{j_1} + \sum^{n_0}_{j_{0}=1} (1-w_{j_0}) &= \sum^{K}_{k=1} w^{(k)} n^{(k)}_1 + \sum^{K}_{k=1} (1-w^{(k)}) n^{(k)}_0 \\ &= \sum^{K}_{k=1} \frac{n^{(k)}}{n^{(k)}_1} n^{(k)}_1 + \sum^{K}_{k=1} \frac{n^{(k)}}{n^{(k)}_0} n^{(k)}_0 \\ &= 2N \end{align*}

とも書けると思う。ここで、n^{(k)}_1は水準kで治療群の標本サイズ、n^{(k)}_0は水準kで対照群の標本サイズ、n^{(k)}は水準kの標本サイズである。こう考えるときは特に近似などを使っていないが、傾向スコア推定のモデルが不適切だと、\pi^{(k)} = \frac{n^{(k)}_1}{n^{(k)}}が成り立たないなどがあるのかもしれない。また、どちらのやり方にしても、正値性の仮定が破れていると、kで和を取る操作をしてもNがうまく復元されないと思われる。

ここで重みの平均が2から離れている時は、傾向スコア推定モデルの誤特定あるいは正値性の仮定の破綻の可能性があるとのことだが(see What If)、そのことを明確に?導き出すことはできなかった。ただ、上記考察したような現象によって恐らく同地関係がどこかで崩れるようなことが起きるのだろうと思われる。

なお、Stabilized weightの場合は平均が1になるが、これは上の導出から簡単に分かる。

ここまで書いてみて

今更気付いたのですが、Nospareのブログで、サンプリングウェイトの話や前回の記事で触れたHorvitz-Thompson推定量(HT推定量)について整理された記事がありました。。。→survey weightの役割

まぁ自分の理解のために整理したのでよしとする。

そして、HT推定量を基準化したHajek推定量のWLSからの導出について私が書いた記事はこちら

Discussion