相対危険度と閾値モデル

  • 今、prevalence=prev, リスクアレルホモの非リスクアレルホモに対する相対危険度がrであるとする
  • 今、この着目SNP以外の要因が平均0、分散1の正規分布であるとする
  • 閾値モデルで、閾値Tにて発病するとすると、Tとpの関係は、Rの関数を使えば、T=qnorm(p=1-prev,mean=0,sd=1)=qnorm(p=1-prev)。ただし、ここでは、着目SNPがもたらす分散のずれなどは無視して、大まかに、prevとTとの関係を示したが、複合遺伝性疾患のような1座位のリスクが低い場合はこのおおざっぱな仮定も悪くない
  • このSNPの3ディプロタイプのリスク平均が+m,0,-mであるとすると、それぞれのディプロタイプにおける、発病者比率は、pnorm(q=T-m),pnorm(q=T),pnorm(q=T+m)であらわされる。mの前の符合がリスクの符合と反対であることに注意する
  • リスクアレルホモの非リスクアレルホモに対する相対危険度は、pnorm(q=T-m)/pnorm(q=T+m)である。ここでヘテロのリスクが遺伝モデルでどうなるか、など気になるところだが、そこも無視して、r=pnorm(q=T-m)/pnorm(q=T+m)を満足するようなmの推定をすることとする
  • 次の関数で、ある程度の精度を持って、このmの値が推定できる
GetDeltaM<-function(p,r){
t<-qnorm(p=1-p)
loop<-0
m<-0
b<-0.001
prem<-0
tmpr<-1

while(loop==0){
prem<-prem+b
tmpr2<-(1-pnorm(q=t-prem))/(1-pnorm(q=t+prem))
if(r>tmpr & r<=tmpr2){
loop<-1
ret<-list(t=t,m=(prem+prem-b)/2)
#ret<-list(t=t,m=prem,thisr=tmpr2,thisr2=tmpr)
}else{
tmpr<-tmpr2
}


}
return(ret)

}
  • これにより、prev=0.01,r=2のようなときは、閾値がa$t=2.326348、アレル1本分のリスク差がa$m=0.1305であることが次の実行結果からわかる
a<-GetDeltaM(p=0.01,r=2)
a
$t
[1] 2.326348

$m
[1] 0.1305