बड़े डेटा के लिए परिकल्पना परीक्षण में वांछित अंतर का स्तर होना चाहिए, बजाय इसके कि कोई अंतर है या नहीं। आप H0 में रुचि नहीं रखते हैं कि अनुमान ठीक 0. है। एक सामान्य दृष्टिकोण यह जांचने के लिए होगा कि क्या शून्य परिकल्पना और देखे गए मूल्य के बीच का अंतर किसी दिए गए कट-ऑफ मूल्य से बड़ा है या नहीं।
X1¯>X2¯
T=X1¯−X2¯−δS2n−−−√+δS2n−−−√≈N(δS2n−−−√,1)
T=X1¯−X2¯S2n−−−√≈N(δS2n−−−√,1)
H0:X1¯−X2¯=δ
X1¯−X2¯−δS2n−−−√≈N(0,1)
HAX1¯−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)
जो देता है :
> 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