a=0でのリスク比とmodifier
概要
例の本の4.3、marginalなりすくとconditionalなりすくの関係性について。
それらしく書いてみたけど、中学生レベルの計算であり、中身はない。
設定
層において、conditionalなりすく比は分かっていて、
それでいて、marginalなりすく比が1未満になって欲しいような状況があるとする。
このとき、どういう状況を確かめればいいんだろうか、と読むことにする。
方針
面倒になったので普通に書く
まず、周辺でのrrを、特定のconditionalなrrで書き換える。
そのため、書き換えられるよう、都合のよい式変形をおこなう。
ここで、をw(l)とでもおけば、conditionalとmarginalの橋渡しができるweightと考えることができる。
weightをlで周辺化したら1になるのは明らか。
一方、と変形することもできる。
式変形その2
層lのconditionalなrisk ratioをr(l)とおく。(1)が<1となるような不等式を考える。
左辺をてきとうに変形して、何かしら考察する。
分母はlに依存しないからどうにかできる。
右辺を0にするため、良い感じの項を作る。
両辺から引いて消す
ここから、次の3者の関係で、(1)<1となる条件を考察できそうだ。
- lの偏り
- lでの(ベースラインというかuntreatedな)リスク
- lでの1-リスク比
必要な値
とはいえ、これだとgivenな値が少なすぎて直感的でない。
いったん、として(2)式を具体的に考えてみる。
適当に変形して
もう少し適当に変形して
ここから、層内のリスク比が1から正負のそれぞれの方向に離れているとき、marginalなリスク比が1未満となる状況を整理できそう。
左辺の1-r(l)に関連する比が、良い感じに崩れていることが要求されるっぽい。
個別具体の数値例は、上式に適当に値を突っ込めばOK
書籍のあれだと、r(0)=2でr(1)=0.5だから、
となるから、P(0)とP(1)、つまりlの存在比と、それぞれで条件づけたリスクの比で決まる、と読めば良いのかな。
untreatedな状態で高リスクな層があるけど、存在割合は少ないから全体的にはそうでもない、とかそんな。
しかしこれだと、lがbinary以外の場合における考察にどれくらい有用なんだろう?
悲しみのメモ
sharp causal null hypothesisの話
sharp causal null hypothesisってなんなのという話。
これを見ると、例えば2値の割付Aにおいて、populationのどのような個人にも効果がない状態を
とし、sharp causal null hypothesisがtrueだと書いてあった。
好みで記法ちょっと変えていて、individualをで、populationをで書いた。こっちの方がみたいで確率変数っぽくみえるよね。
ちなみに、命題「sharp null .... が真→ATE=0」は正しい。
というのも、なんだから、ATEもになるよね。
nondeterministic potential outcomeの話
以下では、TP1.2*1の計算の気持ちが掴めなかったので、雑に考えてみる。
それっぽい変形を考えてはみたけど、確率1で間違っている。
期待値の変形が何度かされていたんだけど、それぞれが一体なんの分布の上で積分してるのか全く直感的でなかったので、なんとかこれを補いたいのがモチベーション。
量子とかそういうのは興味がないので、以下、そう言った視点は全て捨てる。
non deterministicな状況をどう考えるか*2は余地がありそう。反応を規定する要素を完全に取り込み切れていない状態と考えられるならば、それっぽい感じがある。
もし、potential outcomeがdeterministicではなかったとし、A=aにおけるpotential outcomeの分布がパラメータtに依存し、tはなんらかの分布を持つとする。
潜在反応のpdfをと書く。さらにtの分布をp(t)とおく。
ここから、potential outcomeの平均的なpdfをとしたら、次のように計算できる?*3S(t)はオレオレ記法でtの台の意味。
このとき、the average potential outcome in the populaitionは、おそらくこういう量を計算しようとしているんじゃないかな?と思う。
もしこれが正しいなら、朧げに何を計算しているかをなんとなくイメージできた気がする。
参考にしようと思ったけど、結局読まなかった。
おしだせ、しゅうごうのぞく
内容
加法族を押し出した場合にも加法族になることを考える練習
何年か前の自分の為に書いた。強烈にくどい書き方であるが、当時の私にはこれくらいでないと分からない。
押し出しの定義
集合X,Y
関数
集合族、
を用いて、押し出しを次の通り定義する*1。
押し出し :
ここから、ある集合Zについてを示すには、その逆像がとなることを示せばよいことがわかる。
押し出しで示したいこと
が加法族ならも加法族
が加法族であることは前提になっている
このあと表記上の理由から、とおく。(文字数を減らしたいだけ)
1. 空集合を含む
示すべき内容
方針
特になし。を示すだけ。
【証明】
仮定よりが加法族であるから、。
まとめると、次の通り。
ということで、が証明できた。
2. 補集合で閉じる
示すべき内容
方針
のとき、であることを確認すればよい。
そのため、の定義から、「」と「」が成立することを示せばよい。ただし前者はまぁ自明っぽいよねということで後者だけ確認する。
【証明】
ある集合Bがとする。 このとき押し出しの定義からである。
仮定よりが加法族であるから、(なので、)となる。
ここで、「」と「」を考えると、次のようになる。
ということで、が確認できたので証明できた。
3. 加算加法性を持つ
示すべき内容
方針
のときであることを確認すればよい。
先と同様に、の定義から、「」が成立することを示せばよい。
【証明】
可算個の集合がとする。 このとき押し出しの定義からである。
仮定よりが加法族であるから、(なので、)となる。
ここで、「」を考えると、次のようになる。
ということで、が確認できたので証明できた。
補足:証明のために必要な内容
式変形でしれっと使用した関係がいくつかあるので、書いておく。
関係1 :
これ約束か定義だと思う。
関係2 :
これは逆像の定義をよく考えたら全射、単射に関係なく成立する。
関係3 :
関係4 :
*1:押し出しも引き戻しも、どちらも逆像で定義している
きたいちのメモ
前説
定義や、定義を変形して得られる式を区別なく出せるのは、文脈を共有できていることが前提にあるから。*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)ごとに計算していることが理由らしい。