Kiểm tra giả thuyết cho dữ liệu lớn nên mức độ khác biệt mong muốn vào tài khoản, thay vì có sự khác biệt hay không. Bạn không quan tâm đến H0 rằng ước tính là chính xác 0. Cách tiếp cận chung sẽ là kiểm tra xem sự khác biệt giữa giả thuyết null và giá trị quan sát có lớn hơn giá trị ngưỡng đã cho hay không.
X1¯> X2¯
T= X1¯- X2¯- δS2viết sai rồi---√+ δS2viết sai rồi---√≈ N( δS2viết sai rồi---√, 1 )
T= X1¯- X2¯S2viết sai rồi---√≈ N( δS2viết sai rồi---√, 1 )
H0: X1¯- X2¯= δ
X1¯- X2¯- δS2viết sai rồi---√≈ N( 0 , 1 )
HMộtX1¯- X2¯> δ .
mod.test <- function(x1,x2,dif,...){
avg.x1 <- mean(x1)
avg.x2 <- mean(x2)
sd.x1 <- sd(x1)
sd.x2 <- sd(x2)
sd.comb <- sqrt((sd.x1^2+sd.x2^2)/2)
n <- length(x1)
t.val <- (abs(avg.x1-avg.x2))*sqrt(n)/sd.comb
ncp <- (dif*sqrt(n)/sd.comb)
p.val <- pt(t.val,n-1,ncp=ncp,lower.tail=FALSE)
return(p.val)
}
n <- 5000
test1 <- replicate(100,
t.test(rnorm(n),rnorm(n,0.05))$p.value)
table(test1<0.05)
test2 <- replicate(100,
t.test(rnorm(n),rnorm(n,0.5))$p.value)
table(test2<0.05)
test3 <- replicate(100,
mod.test(rnorm(n),rnorm(n,0.05),dif=0.3))
table(test3<0.05)
test4 <- replicate(100,
mod.test(rnorm(n),rnorm(n,0.5),dif=0.3))
table(test4<0.05)
Cung cấp cho:
> table(test1<0.05)
FALSE TRUE
24 76
> table(test2<0.05)
TRUE
100
> table(test3<0.05)
FALSE
100
> table(test4<0.05)
TRUE
100