n個のパラメタ

  • なにかしらに、複数のパラメタが関与していることを予想している
  • どういう風に影響しているのか、かなり検討がつかない
  • 悩んだら、シミュレーションしてみることにする
  • 変数が多いと、格納の仕方も面倒
  • 変数が多いと、個々のパラメタの影響、パラメタ組み合わせの影響、そのいずれも、知りたいわけだけれど、うまくグラフ表示できない(場合分けが多すぎる)
  • 下手に場合分けするよりは、ずらーっと並べて、様子を見る、というのも一つの手
  • 以下は、4パラメタについて、4重ループでデータ産生し、それを、4階層アレイに納めて、プロットするときは、「すべて」「階層1つについて選別」「階層2つについて選別」などする例

http://www.genome.med.kyoto-u.ac.jp/StatGenet/testRY20110208/emakimono.jpeg

# a 検定半径 a^2:検定カイ二乗値
# b 対立仮説半径 b^2:対立仮説最頻カイ二乗値
# df 自由度・次元
# t 0<= theta <= pi/2

as<-sqrt(0:5)
as[1]<-0.000001
bs<-sqrt(0:5)
bs[1]<-as[1]
dfs<-c(2,5,10,20)
ts<-seq(from=0,to=1,length.out=7)*pi/2
nperm<-1000
out<-array(0,c(length(dfs),length(as),length(bs)))
out2<-array(0,c(length(dfs),length(as),length(bs),length(ts)))

for(i in 1:length(dfs)){
	for(j in 1:length(as)){
		for(k in 1:length(bs)){
			out[i,j,k]<-pchisq(as[j]^2,dfs[i],bs[k]^2,lower.tail=FALSE)
			for(i2 in 1:length(ts)){
				df<-dfs[i]
				Kv<-c(1,rep(0,df-1))
				Tiis<-matrix(c(1,rep(0,df-1)),nrow=1)
				#c1<-qchisq(p,df=dfs[i],lower.tail=FALSE)
				Ks<-bs[k]
				CheckDists<-as[j]

				if(df>1){
					for(i3 in 2:df){
						tmpt1<-rep(0,df)
						tmpt1[1]<-cos(ts[i2])
						tmpt1[i3]<-sin(ts[i2])
						tmpt2<-tmpt1
						tmpt2[i3]<--tmpt1[i3]
						Tiis<-rbind(Tiis,tmpt1,tmpt2)
					}
				}

				SPout<-SpherePower(df=df,Kv=Kv,Ks=Ks,CheckDists=CheckDists,Tiis=Tiis,nperm=nperm)
				#matplot(t(SPout$p.out),type="l")
				#SPouts[i,,]<-SPout$p.out
				out2[i,j,k,i2]<-SPout$p.out
			}
			plot(out2[i,j,k,])
		}
	}
}

plot(out2,type="l")
plot(out2[1,,,],type="l")
plot(out2[,1,,],type="l")
plot(out2[,,1,2],type="l")