[程式] R模擬

看板Statistics作者時間11年前 (2013/03/12 01:23), 編輯推噓1(102)
留言3則, 2人參與, 最新討論串1/1
------------------------------------------------------------------------ [軟體程式類別]: R [程式問題]: 顯著比例沒有隨SD下降而上升 [軟體熟悉度]: 新手(不到1個月) [問題敘述]: 1.我先產生一組N(0,1)和N(1,1)的mixture data(樣本數4,比例分別是0.3和0.7),然後 用t.test檢定mu=0.7,共做了10000次,顯著比例有隨SD下降而上升 2.但是我用two-sample去做,它的顯著比例不管SD怎麼變,都在0.05左右 (case和control組樣本數各4,這兩組也都是N(0,1)和N(1,1)的mixture data,一樣做 10000次) 3.所以我用看起來是two-sample,實際上是one-sample的t檢定,但是顯著比例也都維持 在0.05左右,我想可能是程式有問題,檢查很多次,還是不知道錯在哪 (case樣本數4,control樣本數1000,也是N(0,1)和N(1,1)的mixture,但是control組 的mean皆在0.7附近,所以等同於one-sample) [程式範例]: n <- 10000 y <- matrix(NA, 1004, n) t <- numeric(n) p <- numeric(n) for(j in 1:n){ x1 <- rnorm(4,0,1) x2 <- rnorm(4,1,1) u <- runif(4) v <- as.integer(u > 0.3) y[1:4,j] <- v*x2+(1-v)*x1 z1 <- rnorm(1000,0,1) z2 <- rnorm(1000,1,1) u1 <- runif(1000) v1 <- as.integer(u1 > 0.3) y[5:1004,j] <- v1*z2+(1-v1)*z1 t[j] <- t.test(y[1:4, j],y[5:1004, j], alternative="two.sided",var.equal = T)$statistic p[j] <- t.test(y[1:4, j],y[5:1004, j], alternative="two.sided",var.equal = T)$p.value } b <- sum(p<0.05)/n 麻煩版上高手幫忙 謝謝~ ----------------------------------------------------------------------------- -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 111.248.84.130 ※ 編輯: romotting 來自: 111.248.84.130 (03/12 01:26)

03/12 05:08, , 1F
n=4 is too small.
03/12 05:08, 1F

03/12 10:59, , 2F
t[j], p[j]比較的兩組樣本,分佈是不是一樣阿?
03/12 10:59, 2F

03/12 11:00, , 3F
如果分佈一樣,那就是看type I error,都是0.05不意外
03/12 11:00, 3F
文章代碼(AID): #1HFXCVXe (Statistics)