Một ví dụ khác về thử nghiệm với kết quả có thể không có kết quả là thử nghiệm nhị thức cho tỷ lệ khi chỉ có tỷ lệ chứ không phải kích thước mẫu. Điều này không hoàn toàn phi thực tế - chúng ta thường thấy hoặc nghe những tuyên bố được báo cáo kém về hình thức "73% số người đồng ý rằng ..." và v.v., nơi mẫu số không có sẵn.
H0: π= 0,5H1: π≠ 0,5α = 0,05
p = 5 %1195 %α = 0,05
p = 49 %
p = 50 %H0
p = 0 %p = 50 %p = 5 %p = 0 %p = 100 %p = 16 %Pr ( X≤ 3 ) ≈ 0,0021 < 0,025p = 17 %Pr ( X≤ 1 ) ≈ 0,109 > 0,025p = 16 %p = 18 %Pr ( X≤ 2 ) ≈ 0,0327 > 0,025p = 19 %mẫu ít có ý nghĩa nhất có thể là 3 thành công trong 19 thử nghiệm với nên điều này lại có ý nghĩa.Pr ( X≤ 3 ) ≈ 0,0106 < 0,025
Trong thực tế, là tỷ lệ làm tròn cao nhất dưới 50% có ý nghĩa rõ ràng ở mức 5% (giá trị p cao nhất của nó sẽ là 4 lần thành công trong 17 thử nghiệm và chỉ đáng kể), trong khi là kết quả khác không thấp nhất không có kết quả (vì nó có thể tương ứng với 1 thành công trong 8 thử nghiệm). Như có thể thấy từ các ví dụ trên, những gì xảy ra ở giữa thì phức tạp hơn! Biểu đồ bên dưới có đường màu đỏ tại : các điểm bên dưới đường thẳng có ý nghĩa rõ ràng nhưng những điểm ở trên nó không có kết luận. Mẫu của các giá trị p sao cho sẽ không có giới hạn đơn và thấp hơn trên tỷ lệ phần trăm quan sát được để các kết quả có ý nghĩa rõ ràng.p = 13 % α = 0,05p = 24 %p = 13 %α = 0,05
Mã R
# need rounding function that rounds 5 up
round2 = function(x, n) {
posneg = sign(x)
z = abs(x)*10^n
z = z + 0.5
z = trunc(z)
z = z/10^n
z*posneg
}
# make a results data frame for various trials and successes
results <- data.frame(successes = rep(0:100, 100),
trials = rep(1:100, each=101))
results <- subset(results, successes <= trials)
results$percentage <- round2(100*results$successes/results$trials, 0)
results$pvalue <- mapply(function(x,y) {
binom.test(x, y, p=0.5, alternative="two.sided")$p.value}, results$successes, results$trials)
# make a data frame for rounded percentages and identify which are unambiguously sig at alpha=0.05
leastsig <- sapply(0:100, function(n){
max(subset(results, percentage==n, select=pvalue))})
percentages <- data.frame(percentage=0:100, leastsig)
percentages$significant <- percentages$leastsig
subset(percentages, significant==TRUE)
# some interesting cases
subset(results, percentage==13) # inconclusive at alpha=0.05
subset(results, percentage==24) # unambiguously sig at alpha=0.05
# plot graph of greatest p-values, results below red line are unambiguously significant at alpha=0.05
plot(percentages$percentage, percentages$leastsig, panel.first = abline(v=seq(0,100,by=5), col='grey'),
pch=19, col="blue", xlab="Rounded percentage", ylab="Least significant two-sided p-value", xaxt="n")
axis(1, at = seq(0, 100, by = 10))
abline(h=0.05, col="red")
(Mã làm tròn được lấy từ câu hỏi StackOverflow này .)