8月27日(水)午後
原因が分からず、しょうがないので昨日の午前につくった関数で検定を行うことにした。
4個の数字から2個取り出す関数の適合度検定
myfunc01<-function(){ if (runif(1)>3/4)return(4) else if (runif(1)>2/4)return(3) else if (runif(1)>1/4)return(2) else return(1) }#1~4を同様に確からしく抽出する関数 myfunc02<-function(){ if (runif(1)>2/3)return(3) else if (runif(1)>1/3)return(2) else return(1) }#1~3を同様に確からしく抽出する関数 myfunc03<-function(){ x<-c(1,2,3,4) y<-x[c(-myfunc01())] z<-y[c(-myfunc02())] return(z) } myfunc04<-function(){ z<-c() for(i in 1:2)z<-c(z,10^(2-i)*myfunc03()[i]) return(sum(z)) } w<-0 for(i in 1:10000)w<-c(w,myfunc04()) > chisq.test(w) Chi-squared test for given probabilities data: w X-squared = 23935.25, df = 10000, p-value < 2.2e-16
一応これでp値が十分小さいといえるので、一様に取り出すことができていることが分かった。
数理統計に関する知識があいまい過ぎるので、今日の残りの時間は図書館で借りてきた「Rではじめる統計」を読むことにした。
以上