Giá trị p cho phép thử t được tính theo giả định rằng tất cả các quan sát là độc lập. Việc tính toán xác suất (chẳng hạn như giá trị p) khó khăn hơn nhiều khi bạn xử lý các biến phụ thuộc và không phải lúc nào cũng dễ dàng nhận thấy về mặt toán học khi có sự cố xảy ra với thử nghiệm khi có sự phụ thuộc. Tuy nhiên chúng ta có thể dễ dàng minh họa vấn đề bằng một mô phỏng.
Ví dụ, xem xét trường hợp có 5 phòng học ở mỗi hai trường, với 10 học sinh trong mỗi lớp. Theo giả định về tính quy tắc, giá trị p của bài kiểm tra phải được phân phối đồng đều trên khoảng nếu không có sự khác biệt về điểm kiểm tra trung bình giữa tất cả các lớp học. Đó là, nếu chúng tôi thực hiện rất nhiều nghiên cứu như thế này và vẽ sơ đồ của tất cả các giá trị p, thì nó sẽ giống với phân bố đồng đều hình hộp .( 0 , 1 )
Tuy nhiên, nếu có mối tương quan nào đó giữa lớp học giữa các kết quả của học sinh, các giá trị p không còn hoạt động như bình thường. Một mối tương quan tích cực (như người ta có thể mong đợi ở đây) thường sẽ dẫn đến các giá trị p quá nhỏ, do đó, giả thuyết null sẽ bị từ chối quá thường xuyên khi thực tế là đúng. Một mô phỏng R minh họa điều này có thể được tìm thấy dưới đây. 1000 nghiên cứu của hai trường được mô phỏng cho các mối tương quan trong lớp học khác nhau. Các giá trị p của phép thử t giảm dần được hiển thị trong biểu đồ trong hình. Chúng được phân phối đồng đều khi không có mối tương quan, nhưng không phải là khác. Trong mô phỏng, người ta cho rằng không có sự khác biệt trung bình giữa các lớp học và tất cả các lớp học đều có cùng mối tương quan trong lớp học.
Hậu quả của hiện tượng này là tỷ lệ lỗi loại I của bài kiểm tra t sẽ không còn nếu có mối tương quan trong lớp học. Ví dụ, một bài kiểm tra t ở mức 5% trên thực tế là xấp xỉ ở mức 25% nếu tương quan trong lớp học là 0,1! Nói cách khác, nguy cơ từ chối giả thuyết null giả định tăng đáng kể khi các quan sát phụ thuộc .
Lưu ý rằng các trục khác nhau một chút giữa các biểu đồ.
Mã R:
library(MASS)
B1<-1000
par(mfrow=c(3,2))
for(correlation in c(0,0.1,0.25,0.5,0.75,0.95))
{
# Create correlation/covariance matrix and mean vector
Sigma<-matrix(correlation,10,10)
diag(Sigma)<-1
mu<-rep(5,10)
# Simulate B1 studies of two schools A and B
p.value<-rep(NA,B1)
for(i in 1:B1)
{
# Generate observations of 50 students from school A
A<-as.vector(mvrnorm(n=5,mu=mu,Sigma=Sigma))
# Generate observations of 50 students from school B
B<-as.vector(mvrnorm(n=5,mu=mu,Sigma=Sigma))
p.value[i]<-t.test(A,B)$p.value
}
# Plot histogram
hist(p.value,main=paste("Within-classroom correlation:",correlation),xlab="p-value",cex.main=2,cex.lab=2,cex.axis=2)
}