非心カイ二乗分布

  • 昨日、検出力のことを書いた
  • 独立性検定が、自由度次元空間である点を中心とした標準正規分布の生起確率を仮定し、統計量がそこからの距離の二乗に応じて減じるものであるとしたものであると示した
  • 今、任意の点が真値であって、そこからの逸脱が標準正規分布であるときに、上述の独立性の検定を行う場合を考える
  • ある閾値統計量以上の統計量が観測される確率がパワーである
  • 今、真値(原点からの距離をrとする)を中心としたk次元標準正規分布があるときの、原点からの距離の二乗の分布が、対立仮説が真のときの独立性検定のカイ二乗値の分布となる
  • これは、自由度k、非心パラメータr^2の非心カイ二乗分布(Wiki)に従う
  • 次元k
  • 真値mを任意に与える
  • 真値を中心に標準正規乱数を発生させ
k<-6 # 次元

m<-runif(k) # 真値
mr<-sqrt(sum(m^2)) # 原点-真値間距離
N<-10000 # 乱点の数
xs<-t(matrix(rnorm(N*k),k,N)+m) # 乱点の座標

K<-apply(xs^2,1,sum) # 乱点の原点からの距離の二乗〜独立性検定のカイ二乗値
p<-ppoints(N,a=0) # トーマスプロットのための、クオンタイル点

Q<-qchisq(p,k,ncp=mr^2) # クオンタイル点に対する、自由度k、非心パラメタmr^2のカイ二乗値
# 乱点由来のカイ二乗値と非心カイ二乗分布の理論値を重ねてプロット
ylim<-c(0,max(K,Q))
plot(p,sort(K),type="l",ylim=ylim)
par(new=TRUE)
plot(p,Q,col=2,type="l",ylim=ylim)
# 両者を子プロット
plot(sort(K),Q)
abline(0,1) # y=xを重ね描図
  • これを幾何的に考えてみよう

http://www.genome.med.kyoto-u.ac.jp/StatGenet/testRY20110208/powerFig.jpg

  • Oが原点、Xが真値の点
  • aは検定閾値を決める値で、半径aの球が描かれている
  • a^2が検定閾値統計量である
  • 今、真値の点は原点からの距離b離れている
  • ここで、真値から、ランダムなずれが、直線OXから角度tの方向にずれているとする
  • この方向に距離OA2以下、OA1以上でずれると、検定統計量はa^2以上になる
  • 距離OA1,OA2を求めよう
  • 直角三角形OXA3を考えれば、
    • XA3 = b \cos(t)
    • OA3 = b \sin(t)
  • 直角三角形XA1A3を考えれば
    • A2A3^2+XA3^2=XA2^2
  • この関係から
    • OA2=b\cos(t) -\sqrt{a^2-b^2\sin^2(t)}
    • OA1=b\cos(t) +\sqrt{a^2-b^2\sin^2(t)}
    • ただし、a^2-b^2\sin^2(t)<0の場合は、実数解はない(交点なし)
  • 掲載図とは異なり、[tex:b