Rで 因子の性質を逐次調べる 簡潔な記述 &例r1r2
■ 簡略な、因子の性質を調べる記述 点推定
;記事「詳細 osw事例《r1r2》で 因子の性質を逐次調べ plotする」
を簡潔に書き換える osw事例データで 逐次因子を仕分ける式を組む
記述例では、生起抑制因子1,2個を一括して式化 汎用性を考えて曝露はdfから読む
・率のぶれ幅・無関連因子を仕分けることが課題になる
lm系多因子モデル ← データ → ベクトル化 → 論理グループ
↓ ↓ 因子選択
交互作用 難 論理グループ
影響因子 ;生起・抑制・阻止 BG
↓ G分け
因子独立 ;加工
↓ 単純化
層化的 : 率が個々Gに決まる
■ 因子選択 ; 度数で調べる ~ riskで逐次調べる記述
生起因子の確認
以前の記事「生起:vi ,tyap,cake、抑制 :w,rol,choco、阻止: jero,cabe 」とみたてたのだが、生起因子かどうか vi ty ca ? ca:cake
ひたすら調べる式 ・・
yos*(1-vi)*(1-ty)*(1-ca) の和は 0 !
なのだが、下図のとおり tyには実は生起性がなく、vi、caが生起とすべき
sum(yos*(vi)*(ty)*(ca))などで発生数をひたすら調べた結果 事例全体の発生数から
このようなことから、生起因子をvi,caと決め 、抑制2因子の条件下で、阻止性を調べる記述としてみる
・記述例
曝露ありなしについて発生率をplotする
曝露数or非曝露数<10が信頼できないので強調する記述を追加
# ▼ riskを生起、抑制、阻止にわたって逐次調べる記述 ▼
rd_<- NULL
y1<- yos # ↓ dfでなく、ベクトルで記してもよい
v1<- 1- (1-osd[,13]) *(1-osd[,12]) # vi または tyap *(1-osd[,8]) caを生起vとし
v2<- 1- (1-osd[,7])*(1-osd[,14]) # r または choco を抑制vとおく
r1_<-NULL
r2_<-NULL
plot(xlim=c(0.5,0.75),ylim=c(0.65,0.8),"")
for (k in 1:15) #▼ riskを生起、抑制、阻止にわたって逐次調べる記述▼▼▼
{
v3<-osd[,k]
r1<-sum( v1*v2*y1*v3)/sum( v1*v2*v3) # 簡略な式
# r1p <-(+ 1+ sum( v1*v2*y1*v3))/sum( v1*v2*v3) # +1
# r1m <-( -1+ sum( v1*v2*y1*v3) )/sum( v1*v2*v3) #-1
r2<-sum( v1*v2*y1*(1-v3))/sum( v1*v2*(1-v3)) # 簡略な式
# r2p <-(+ 1+ sum( v1*v2*y1*(1-v3)))/sum( v1*v2*v3) # +1
# r2m <-( -1+ sum( v1*v2*y1*(1-v3)) )/sum( v1*v2*v3) # -1
r1_<- c(r1_,r1)
r2_<- c(r2_,r2) # ↓ ばらつき記述--観察度数からくる・・
text( x=r1 ,y=r2,"---",cex=exp(5-sum( v1*v2*v3) ),col="gray" ) # 信頼のなさをlogistic関数から表現
text( x=r1 ,y=r2,"|",cex=exp(5-sum( v1*v2*(1-v3)) ) )
text( x=0.6+0.01*k, y=0.6+0.01*k ,"・",cex=0.7 )
text(x=r1,y=r2,"*") # risk 値 plot
# text(x=r1p,y=r2p,"*",cex=0.7) # risk 値 plot
# text(x=r1m,y=r2m,"*",cex=0.7) # risk 値 plot
} # ↓ 図 ・ 表
# text(x=r1_,y=r2_,"*") # risk 値 plot
text(x=r1_,y=r2_+0.005, colnames(osd),cex=0.7) # r1,r2ともベクトルのままplot
text(x=r1_+0.006,y=r2_+0.01,round(r1_-r2_,3),cex=0.7)
# ▼ riskを生起、抑制、阻止にわたって逐次調べる記述▼▼▼
・結果
r1とr2が因子ごと簡潔な式から計算され保存される
vi r ch 曝露下での各因子 有無ごと risk RD付き
milkのばらつき 曝露数が小さく横軸方向に広がる
この記述はロジスティック関数を用いて信頼のなさを表し、(非)曝露数kの小さい;10以下のIDの場合、 "|" や "--" がみえる またこのとき、大きい方はG平均に近づく
コホートであるから、r1r2プロットでは実は、ばらつく方向は右下がりになり、それぞれのデータが揺れた時の取りうる幅は往々重なる
tyなどに阻止性を疑いうる watには抑制性があるかもしれない
■ 記述の用法
・生起因子から逐次探すには、
生起を探すとき i=1 j=1 とし kを走らせる 生起が決まれば、・・
抑制を 〃 i=生起因子 j=1 〃 抑制が決まれば、・・
阻止を 〃 i=生起因子 j=抑制 〃
・ただし、生起因子を ひたすら調べるには、
sum( v1*v2・・・y1) が >0 となる因子を度数だけから探せる
例:sum(y1*(1-vi)*(1-ty)*(1-ca))
↑ ありなし・因子を代えて yに絡む因子かを 数値:度数で調べる
生起因子は、生起性があるもの という定義だからである
また、生起因子以外のGを調べる場合、v1を1-v1として、条件を変えながら手探り的に率をみるとよい このさい、いずれのレベルの発生をBGとするかなどを考えることができる
■ まとめ
・簡潔な記述 因子の仕分けは、総当たり調整や、曝露非曝露riskをみる方法で行ったことがある
RDで平面にプロットする、記事「 Rの汎用記述 MHRDの総当たり計算 ~ osw事例データ」で試した
Gのriskでみる方法は、記事「詳細 osw事例《r1r2》で 因子の性質を逐次調べ plotする」で試した
これらは、記述がやや長い
・調整後比較する方法;総当たり・・やcRDで選別する方法を試してきたが 新しい式は、Gを絞っていくことを積で表すことで、より簡潔になった
■ 課題 信頼性や、とりうる幅
・信頼性と、曝露数により起こりうるばらつき、効果による因子の仕分けを次回の記事で記す