morの解析ブログ

解析疫学、リスクにまつわるメモや計算

「推定」のまわりをさぐる.率の重ね合わせをどう計算するか、因子の性質をどう分けるか、教科書では「解析はMHにより行う、因子が多ければ重回帰を用いる」という風で詳しい例は少ない.独自(のつもり)な思いつきで具体に試行.
 数理を用いるべきアセスメントにも切り込む.

phyper 0.5からどれだけ離れたかで 因子効果を分ける abs(ph15-0.5)《 超幾何分布を使ったplotシリーズ》

mor

 コホート内で、ある程度交絡を除いたのちに、因子の効果の起こり難さでみる
 ph が その中心 0.5から どれだけ離れているかを計算する 無関連な因子を仕分ける
▼ phyperで大きな値を示す因子

 因子の、曝露数による観察発生度数の phyper値 ベクトルは、ph15 であった

 phyper( oamz[1,],37,16,oamz[2,]) 

  y yakih spi pote cabe jero

1.0000000 0.7438876 0.4218412 0.5423578 0.7542633 0.6934652 
rol tyap milk cafe wat cake
0.4686631 0.8075626 0.3499018 0.5822086 0.3139147 0.3481803
vice choco salad
0.9995383 0.3178896 0.4798673

 tyap が一見、生起性なのだが、
  v1<- 1- (1-osd[,13]) *(1-osd[,12]) # vi または   ca  を生起vとし    
      v2<- 1- (1-osd[,7])*(1-osd[,14])            #   r    または choco  を抑制vとおく 
としてあったので この結果からは、tyapは阻止性を持つといえる
▼ 一斉に描画 ph‥ph

abs(ph15-0.5)

         y        yakih         spi         pote        cabe 
0.50000000 0.24388755 0.07815877 0.04235777 0.25426333
jero  rol tyap milk cafe
0.19346521 0.03133691 0.30756262 0.15009818 0.08220859
wat cake vice choco salad  

0.18608529 0.15181973 0.49953830 0.18211043 0.02013270
・記述
plot(ph15,abs(ph15-0.5)) 
text(x=ph15,y=rank(abs(ph15-0.5))/35,colnames(oamz),cex=0.7)
# n<10因子名を小さくするなら、
# text(x=ph15,y=rank(abs(ph15-0.5))/35,colnames(oamz),cex=0.5+(oamz[2,]/10)*0.1) 

# はじくべき因子名 n<10 を赤字で 隅に表示
text(x=0.1*1:sum(1-abs(oamz[2,]>10))+0.25,y=0.45, colnames(oamz)[abs(oamz[2,]>10)<0.001] ,cex=0.7, col= "red" )  

 

 各因子は、生起側なほど右に、抑制側で左に位置し、0.5から偏るほど上にplotされる
 0.5周辺の因子は、この層においては、発生に無関連な因子となる
▼ まとめ 
 足切りすべき n<10 の因子、絶対値の小さな起こりやすい因子を一見で判別できる
 この事例では、この段階まで取り上げなかった、弱抑制性な因子と阻止性のある因子がかなりの数、残るとの結果になる
メモ
・記述のポイント

 | phyper-0.5 | が示す 起こり難さ

mor

 phyperは、HG(a,YY,N-Y,k) による値である
 とりうる発生度数が大になるほど非線形に大となる
 とりうる発生数が極端に小さい、または大きい時、起こり難いことを示す
 | phyper-0.5 | という量を設ければ、起こりやすいなら、小さく、起こり難いなら、大きくなる 
 plot( phyper(15:25,31,14,30) )
   plot( abs(phyper(15:25,31,14,30)-0.5) )