きたいちのメモ
前説
定義や、定義を変形して得られる式を区別なく出せるのは、文脈を共有できていることが前提にあるから。*1
ということで、ある勉強会の資料中に「defineされてない作用素があるから、この補足があったら私はサイコーに嬉しいのに!」と思った内容(と質疑)があったのでここに書く。
目的は、の定義と条件付き期待値との関係を整理すること。
以下、1次元の確率変数Xについて書く。
は指示関数。なら1で、そうでなければ0。 とかで書いた方が親切っぽいけどめんどうなので省略。
1.期待値
まず、期待値は次であると定義する。
ただし、確率・統計の文脈で話をするときに、(測度論的)確率論をひっぱり出すとオーバースペックになることがある。*2
ということで、上の話に直して、さらに密度関数p(x)が存在する前提で書き直すと、見慣れた形になる。
2.どこかの集合上の期待値
ここから集合が出てくるけど、何も書かなければ集合は全て病的でないものを考える。(数学的に扱いやすいもの、くらいの意味で)
適当な集合Aを考える。
わかりにくい場合は「Aは事象」と考えればOK。
ある集合Aの上で計算した期待値を、次のように定義する*3
(Aは、上の区間だと考えよう。)
ここで、そのものは条件付き期待値ではない。*4
では、いくつかの集合でを分割するような状況を考えてみよう。
分割というのは、どうしは排反かつ、となる意味*5。例えば正と負に分けるとかをイメージすればOK。
このとき、和集合をの代わりにと書くことがある。ただし書籍によってまちまちだから、確認が必要
この状況下でを確かめよう。
最初の等号はの定義から
二番目の等号は高校で習う積分の性質
三番目の等号はがの分割であること
最後の等号は期待値の定義から
というわけで、との関係が整理できた。
3.条件付き期待値とある集合上における期待値
ある集合Aで限定して計算した期待値を考えることがある。
言葉が怪しくなったけど、ある集合A上で確率分布を考え直して、A上で期待値を計算する、という意味。先の内容とは確率分布を考え直している点が異なることに注意が必要。
これを条件付き期待値といい、次で定義する。
で、条件付き期待値を式変形すると、2.のとの関係が次のようになることがわかる。
ここの、が、上の確率分布になっていて、これを条件付き分布と呼ぶ*6。 (例えば、A上で積分すると1になっていることがわかるよね。)
両者の関係性
であることが分かったので、次の変形が成立することがわかった。
うん、すっきり。
ちなみに1変数で考えたけど、2変数以上で、集合Aの代わりにある変数を周辺化する形でも上記は考えられる。
の記法って、馴染みないよね。
あやしいあいしいしい
クラスターRCTとかマルチレベルモデル、他にdesign effectとか測定の一致がどうとかで、グループ内での変量効果的な物を考えることがある。
この、ある種の変量効果の比を、グループ内相関だとかクラスター内相関とか、級内相関だとかICCだとかの名前で呼び、相関係数の一種として考えているみたい。
ところで、いわゆる一般的なピアソンの積率相関係数は[-1,1]であり、(標本相関係数の定義とCauchy–Schwarzの不等式により)その推定値も[-1,1]からはみ出さない性質がある。
ということは、級内相関も当然[-1,1]くらいに理論値も推定値も収まってるはず、くらいの先入観を持ってもおかしくない。*1
本記事では、この先入観について、簡単な例を考えてみよう、というもの。 別にその辺の解説記事を否定するものではないから、自分の宗教に合わなければ信じなければよい。
今回対象とするiccについて
一元配置変量モデルにおけるICC(1,k)を考える。 最も簡単なタイプで、繰り返し測定のモデル的なやつ。
つまり、観測値が次のモデルに従って生成されると考える。
ここで、、、とする。モデル通りの設定なので特に変なことはしていない。
で、ICC(1,k)の定義は以下
ここから、ICC(1,k)の定義から、次の性質を持つことがわかる。
- 分散に関わる量の比なので、必ず0以上
- 最大は1になる
なので、-1から1の値をとる、みたいな解説はこの時点で間違いであると考えてもよい。
相関係数なのに[0,1]なのかよ、と思わないでもないけど、回帰分析の重相関係数は[0,1]なのでまだ許せる。
iccの推定方法
定義の性質は分かった、では推定値の性質はどうか。
例えばRでは、irrパッケージやpsychパッケージでiccを計算できる。
iccが考えているのは変量効果であるため、本来ならば分散成分の推定が必要となる。 分散成分は次の方法で推定される。
昔ながらの分散分析モデルで推定する
混合モデルをいわゆるMLEとかで頑張って推定する
前者はいわゆるrepeated measurement anovaな感じの計算であり、irrパッケージはこれしか対応しない。 後者は少し新しい方法で、計算コストは少し高いがそれなりに良い推定ができる。 現在のpsychパッケージはデフォルトでこちらの方法で計算する。
古典的な方法で計算する推定値の挙動
ここからが本題。 「昔ながらの分散分析モデルで推定したicc(1,k)はどのような分布となるか」を考えてみよう、コードは以下
library(psych) nrow<-10 ncol<-4 T_sd<-1 W_sd<-2 run <- 100 estimated_icc <- rep(0,run) for (i in 1:run){ #T_i+W_ijの行列を作成 idat<-diag(rnorm(nrow,sd=T_sd)) %*% matrix(1,nrow=nrow,ncol=ncol) + matrix(rnorm(nrow*ncol,sd=W_sd),nrow=nrow,ncol=ncol) #平均のICC(1,k)を計算 estimated_icc[i]<-ICC(idat,lmer=FALSE)$results$ICC[4] } hist(estimated_icc)
このコードは、10人を4回測定するモデルで、分散の設定値からとなる。 実行するとこのモデルの元での100回分のiccの推定値のヒストグラムを出力する。
乱数なので実行するたび結果が変わる、そのうちの一回がこれ。
ここから、次のことがわかる。
- 古典的な方法で計算するicc(1,k)は、今回の設定では負の値をとるどころか-1よりも小さい値をとる
結果から考えられること
「級内相関係数は分散の比であるため、[0,1]である」というのが定義よりわかる一方、 「古典的な計算方法で求めた級内相関係数は、測定人数が少ない場合、相関係数のイメージと異なり、-2や-3などの推定値が平気で返ってくる。」というのが数値実験よりわかる。
これらから、級内相関の理論上の値域と、推定値の値域の解離が激しくなる場合が存在し、相関という言葉からナイーブに解釈したら事故る、と言えそう。
定義から素朴に考えると、iccがとんでもない値をとらず事故りにくくなる状況は以下になる。
1は言わずもがな。ただし無条件で良い結果が出るわけではなく、古典的な計算方法がよくない結果を返す時には推定に失敗することが多くなる。(lmer=TRUEで試すとよくわかる。)これは、そもそもデータの条件が良くないことを自覚するべき。
2はサンプルサイズが多ければ安定するだけと言う話。
3は少し曲者で、測定回数(=k)が多いと、そもそもicc(1,k)の意味が変わってくる。これは定義式から明らかなのだけど、kを大きくしてしまうとicc(1,k)は1に漸近する。数値的には事故りにくいけど、それは分析の目的とそぐわないのでは、的な。
4は、そもそも定義も求めてるものも違うんだから当たり前。ただし数値的な意味では確かに安定していて、検証の範囲でiccの絶対値が1を超えることはなかった。
結論
分散成分の推定値が負になるくらいの不適解に相当する状況だと思うけど、無批判に受け取るには結構すごい値だよね、というところ。
*1:なんとも言えない感じの解説をいんたーねっと上で見かけた
よくわからんモデルの比較
注意
正しさに一切の保証がない。
勉強中で、間違ったこと書いてある可能性が高い。
メモ
モデルとその推定方法(計算のための方針)を区別しよう
- 周辺な構造のモデル
counter factualなoutcomeの周辺期待値をモデルにしたもの。 みたいな感じで記述するイメージ。 Yではなく反事実な量についてのモデルであることに注意が必要
- 周辺な構造のモデルの推定はどうやってするの
IPWとかを使って、V以外では unconfoundedな集団を観測データから作る。 (pseudo population と呼ぶようだ。) その集団から推定を行う。 なので、割り当てに関するweightingが必要っぽい
- 構造がネストするモデル
周辺なやつは、実はについての情報をモデルに含んでいる
ので、これをとしてしまうことで、a=0の値をunspecifiedにすることができる。
モデルの仮定を減らすことができるので嬉しい。
nest感はtime varyingについて考えるまでは漂わない。 (というか、time varyingでない場合にはsemiparametric marginal strucrural modelとstructural nested mean modelは同じものになるらしい (fine point 14.2))
- 構造がネストするモデルの推定はどうやってするの
g-estimation らしい
g-estimation は何をやっている?
これは14章とそのプログラム例を元にしたメモ書き
rank -preservation な感じにcounterfactualが表せるとする。
(これを導入している理由は「わかりやすいから」らしい。なので、14.4がこれの説明に割かれている。)
consistencyのもとで、実測値に書き換えられる。 左辺第二項について整理したり、counter factualを観測値に変えたりすると
ということで、をどうにかして当てたい。
上式の推定量的なものを本文ではHとおいてある。(うまくいけばHはを当てることができるね)
過去記事潜在反応を交換する練習 - べんきのにっきから
conditional exchangeabilityの条件下において、割り当てと観測には次が成立する(aとAが使い分けられてない気がするけど、まぁいいや。)
邪魔な量があるので消しておくと
で、左辺をプロビットでもロジットでもいいのでなんだかモデル化すると
となる。
で、(2)が成立しているなら、(3)のは0になるはずだ、と。
どうにかして、そうなるようなを当てればよい。
方法の一つは総当たり。(ほんとに?と思ったけどサンプルはそうなっていた。えぇ・・・)
(0):割り当てのモデルを推定してIPを推定する
(1):重みをIPとしてが0に近いモデルを探し当てる
(2):そのときのがATE
信頼区間も出せるよ、とのこと。でも多分ロバスト標準誤差とかそういうのが必要になるはず。
effect modification (Vとする)があるとかで、いっぱい推定しなきゃいけない場合は
にして
両方0になるところを探すということなのだろう(二つある場合のモデルに自信がない。あってるのかな、これ。)
周辺なほうとネストしてる方の違い
もしmodificationが存在している場合、周辺構造モデルで計算すると、を入れ忘れていても(つまり、モデルを誤特定していても)ATEは計算できる。(Vをきちんとモデルに含めてあげると、Vごとの効果が推定できる。) 一方、ネストの方でmodificationの項を入れ忘れてしまうと、結果はbiasedとなってしまうようだ。 これは、ネストの方は (confounder)ごとに計算していることが理由らしい。
層で標準化した平均
概要
周辺構造モデルで出てくる逆確率の最も簡単なパターンの計算練習
今回は特にcounter factualな話は出てこない。確率と期待値の機械的な計算に慣れる。
treatmentをA、共変量をLと読めばこれが何に通じるかがイメージできそう。は指示関数。
基本的には十分性質の良いものとする。(counter factual関係ないとは言ったけど、positivityが微妙に絡んでいる気はする。)
ゴール
多分次を導けること
変形
積分についているはその台を示す。
(1.1)の左辺を積分に直す。
ここで、同時分布は次のように修正できることを思い出す。
がipwとして扱われる量になっている。
すると、(1.2)の右辺は
で、p(A|L)が消えるから↓のようになって
p(L)とIはいったん考えないように追い出して
条件付き期待値が出てきた。
の下付きの部分は、何の上で計算しているから自明じゃないから残しておく。
ということで、(1.2)はここまで計算できた
でAに関する積分だけど、的な計算を多分することになって、A=aの上でだけ残るから、次のように変形して良いはず。
あとは普通に期待値として計算できるから
参考
Naimi, A. I., Cole, S. R., & Kennedy, E. H. (2017). An introduction to g methods. International journal of epidemiology, 46(2), 756–762. https://doi.org/10.1093/ije/dyw323 オンラインで読める
これのsupplementaryで周辺構造モデルのIPWを導いている。
第二部
で、結局何に使えるの?みたいなやつ
(ここからはまだうまく消化できていない)
supplementaryの derivation of g-formulaの行間を埋める作業
time varyingなやつで、とりあえず2点のtreatmentがあるとする。exchangeabilityとかconsistencyは都合のいい感じに成立していると仮定する。
また、law of iterative expectationは勝手に用いる
ゴール
がなんかいい感じに変形できて、IPWの計算が役に立ちそうな雰囲気を出していることを確認する。
計算
まず、繰り返し期待値の性質から次のように変形できる
次に、繰り返し期待値の部分が交換可能であることを利用し、に具体的な割り当てを考えてもよい
さらに、繰り返し期待値の性質から、Yをさらに条件付き期待値にする
もう一度交換可能であることを利用し、に具体的な割り当てを考えてもよい
ととなっているので、にconsistencyを考えることができる
まとめると、次のように整理できたことになる。
残念ながら、ここの条件付き期待値がなんの分布の上で計算しているのかきちんと整理できていないのだけど、が第一部で計算した層で標準化した量に対応するはず。
というので、第一部で求めたのはなんだか色々役に立ちそうだ、と言うところらしい。
第三部
第一部で計算した量に対して、適当な条件が仮定できるときに潜在反応の期待値に変形できることを確認する。
ゴール
consistency
conditional exchangeability
positivity
のもとで次の関係になること
計算
まず、consistencyが成立するなら(3-1)式左辺は、潜在反応に置き換えられる。
ついでに積分に戻す。
同時分布と条件付き分布の関係を用いて次のように変形できる*1。
続けて、conditional exchangeabilityからと変形できて
とAのそれぞれの積分に直すことができて
で、難しそうな方の条件付き期待値が1になるから*2
あとは同時分布に直したら、これがになる。
ということで(3.1)式が証明できた。
追記
スティルチェスでもなんでもない記法で展開しているから、 Aがdiscreteだったらそもそも記法的にアウトなのである。(そこだけΣで書き直せば解決するのだけど。)
で、の状況下(一点)ではとなる。
もしaが適当な長さをもつ区間であったなら、となり、1にならない。
となると、上記の式変形はAがdiscreteでないと成立しないのだろうか。困った。
潜在反応を交換する練習
概要
よく忘れる内容の復習。どうしても覚えられない。
無視できそうな感じの独立性まで
条件付き分布が存在するかとかラドン=ニコディム微分がとかそう言うのではなく、ただ式変形の意味での復習
なお、causal inference bookとの整合的には次に注意
- 大文字と小文字は区別は面倒なので使い分けない(分けないと困る場合のみ使い分けようと思うがこの記事ではその必要はなかった)
- 割付はAであるがこの記事ではzを用いている
復習1:条件付き独立の定義
条件付き独立はこう書けること
左辺を同時分布にして戻すとこうなる
復習2:交換可能性の定義
交換可能(exchangeable)はこう書けること
勝手に()で括られて一瞬「?」となるけど、xで条件づけるとの同時分布とzが独立になっている、というのがポイント。
で、(1)の左辺を同時分布に戻すとこうなる。(p(x)を両辺にかけてある)
復習3:交換可能性から期待値を計算する
同時分布については、 交換可能性には関係なく 、単純に次のように変形できる
(2)と(3)は同時分布を別の書き方で表したものに過ぎない。
つまり「(2)の右辺=(3)の右辺」になる。でもよく見ると同じ項が多いので
結局こうなる
でも、この左辺は次のように変形できる
$$ \begin{align} \displaystyle p(z|y^{1},y^{0},x) & =\frac{p(y^{1},y^{0},z,x)}{p(y^{1},y^{0},x)}\frac{p(z,x)}{p(z,x)}\frac{p(x)}{p(x)}\\ \displaystyle & =\frac{p(y^{1},y^{0},z,x)}{p(z,x)}\frac{p(x)}{p(y^{1},y^{0},x)}\frac{p(z,x)}{p(x)}\\ \displaystyle & =p(y^{1},y^{0}|z,x)\frac{1}{p(y^{1},y^{0}|x)}p(z|x) \end{align} $$
最初の=は条件付き確率を戻したのと、1になるp()を追加している。 次の=は順番を入れ替えただけ、最後は条件付き確率に戻した。
これは(4)の左辺をただ変形したもので、p(z|x)に等しい。
結果として、次が成立する。
なので、たとえばを周辺化してからの期待値を計算すれば、次のようになる。
についても同様
これがmean的なexchangeable。
A structual approach to selection bias
というのを読んだ。 2004年の論文らしい。
自分用のメモ
associationの指標がcausalな指標とならない場合の一つに「共通の結果でconditioningしてしまった、というのが挙げられる。例えば
case-controlで人選ミスってしまう
RCTでもなんかいろいろあってloss to follow upして(欠測データになる)しまう
(被験者をボランティアとかで募ってしまって)自己選択バイアス
で、まぁ選択バイアスみたいなのがあって、適当にconfounderで調整しようとしてもselectionに対策できていないと結局それはcausalな指標のestimatorとしてはbiasedだよねっていう。
どうやって調整するのかで、stratificationでダメな時があるから、IPWとかg-estimationとか使ったほうがいいよねー。
あと、このpaperのメインの話ではないけど、選択バイアスとか交絡とか言葉の意味が人によってまちまちだから、統一的に使えるようになった方がわかりやすくていいよね。
みたいなことが書いてあった。
感想
causal inference bookで読んだような話が書いてあった。 (同じ著者なんだからそりゃそうだよね。)
なので、例の本の8章、14章を読み直すのが良さそうである。
あの本、time varyingのあたりから難しくてボコボコにされた。 22章のtarget trialについては読んですらいない。
きちんと読み直さないと。