個人影響分析(R)とバックグラウンド(追)
・解析では交絡が外にあることがむしろ多い.ブログの多くの記事でモデル推定係数の異常を調べたが、これと関係することなのだった.交絡が外にあれば、正しく調整できないから、推定結果は正しい保証がない.むしろ外にある交絡の大きさを計りたい.中規模例では(おそらく他の原因による)各因子の係数異常も不規則に現れ、モデルからは迫り難いと思えた.そのうち、表から解析する方法に気づき、そして、id影響分析をしてみたらと思いついた.
方向は、影響分析による係数変化を調べ、これがBGと扱える要件を備えていれば、その計算値から、主たる影響因子である交絡の大きさを計算するもの.
他の因子の係数異常に注意しながら調べる.
・調整が無効なのだから、係数を正しく知る手段はないようにも思えるが、コホートでかつ単純な変量のモデリングで、係数と切片のどちらかが知れればもう一方が決まる.また、多変量になっても生起因子が1つなら、手持ちのデータから切片の計算を介して、及ぼされた影響を峻別して、計算できることになる.
□影響分析
・id影響分析は、個人を1人づつ削除したときのモデルの係数を調べることにする.
id影響分析のモデルは、生起因子を欠いたデータであってもよい.影響分析の結果、係数は無関係id、非発生id、発生idに大別される.よくみると特徴的な係数を示すメンバー数があり、これをバックグラウンド(BG)としてみる.
なぜ、バックグランドメンバーBGとしていいのか.
①BGを除いたデータを解析すると生起因子のリスク値が明瞭に上昇する.
②各因子曝露群発生率が、交絡の期待値周辺にばらつき、サプレッサー効果が残る.
率:各因子における曝露発生数/各因子に対する曝露数
交絡の期待値:各因子に対する曝露数 × 生起因子による発生数 / 全体数
つまり、各因子ごとにみると、生起因子以外の効果(各因子に含まれていた、リスク分)が消えている.
これらから、BG数はバックグラウンドの要件を備えているといえるので、BGの数と同一視する.
BGの数を全体メンバー数から比として、係数化すれば、これがその強さとなる.
--------------- スクリプト------------------------
nulm <- glm(formula = y ~ 1, family = binomial(link = "logit"), data = kanko)
betad <- NULL
betaone <- NULL
for (i in 1:265) {
+ kandif <- kanko[-i,]
+ tempm <- glm(formula = y ~ 1, family = binomial(link = "logit"), data = kandif)
+ betad[i] <- tempm$coefficient["(Intercept)"]
+ }
beta.val <- betad
plot(beta.val)
write.table(betad, file="betad.csv", sep=",")
hist(beta.val)