Điểm mấu chốt
Hệ số tương quan mẫu cần thiết để bác bỏ giả thuyết rằng hệ số tương quan thực (Pearson) bằng 0 trở nên nhỏ khá nhanh khi kích thước mẫu tăng. Vì vậy, nói chung, không, bạn không thể đồng thời có hệ số tương quan lớn (tính theo độ lớn) và giá trị đồng thời lớnp .
Dòng trên cùng (Chi tiết)
Thử nghiệm được sử dụng cho hệ số tương quan Pearson trong hàm là phiên bản sửa đổi rất ít của phương pháp tôi thảo luận dưới đây.Rcor.test
Giả sử là iid hai biến vectơ ngẫu nhiên bình thường với tương quan ρ . Chúng tôi muốn kiểm tra giả thuyết rằng ρ = 0 so với ρ ≠ 0 . Gọi r là hệ số tương quan mẫu. Sử dụng lý thuyết tuyến tính hồi quy chuẩn, nó không phải là khó khăn để chứng minh rằng các số liệu thống kê kiểm tra,
T = r √(X1,Y1),(X2,Y2),…,(Xn,Yn)ρρ=0ρ≠0r
cóphân phốitn-2theo giả thuyết null. Đối vớinlớn,phân phốitn-2tiếp cận chuẩn thông thường. Do đóT2xấp xỉ bình phương phân phối với một bậc tự do. (Theo các giả định chúng tôi đã thực hiện,T2~F1,n-2trong thực tế, nhưngχ21xấp xỉ làm cho rõ ràng hơn những gì đang xảy ra, tôi nghĩ.)
T=rn−2−−−−−√(1−r2)−−−−−−√
tn−2ntn−2T2T2∼F1,n−2χ21
Vậy,
trong đó q 1 - α là lượng tử ( 1 - α ) của phân bố chi bình phương với một bậc tự do.
P(r21−r2(n−2)≥q1−α)≈α,
q1−α(1−α)
Bây giờ, lưu ý rằng đang tăng khi r 2 tăng. Sắp xếp lại số lượng trong báo cáo xác suất, chúng tôi có tất cả
| r | ≥ 1r2/(1−r2)r2
chúng ta sẽ bác bỏ giả thuyết khống ở cấp độα. Rõ ràng phía bên tay phải giảm vớin.
|r|≥11+(n−2)/q1−α−−−−−−−−−−−−−√
αn
Một âm mưu
Đây là một âm mưu của khu vực từ chối như một chức năng của kích thước mẫu. Vì vậy, ví dụ, khi kích thước mẫu vượt quá 100, tương quan (tuyệt đối) chỉ cần khoảng 0,2 để loại bỏ null ở mức α = 0,05 .|r|α=0.05
Một mô phỏng
Chúng ta có thể thực hiện một mô phỏng đơn giản để tạo ra một cặp vectơ trung bình bằng không với hệ số tương quan chính xác . Dưới đây là mã. Từ đó chúng ta có thể nhìn vào đầu ra của cor.test
.
k <- 100
n <- 4*k
# Correlation that gives an approximate p-value of 0.05
# Change 0.05 to some other desired p-value to get a different curve
pval <- 0.05
qval <- qchisq(pval,1,lower.tail=F)
rho <- 1/sqrt(1+(n-2)/qval)
# Zero-mean orthogonal basis vectors
b1 <- rep(c(1,-1),n/2)
b2 <- rep(c(1,1,-1,-1),n/4)
# Construct x and y vectors with mean zero and an empirical
# correlation of *exactly* rho
x <- b1
y <- rho * b1 + sqrt(1-rho^2) * b2
# Do test
ctst <- cor.test(x,y)
Theo yêu cầu trong các ý kiến, đây là mã để tái tạo cốt truyện, có thể được chạy ngay sau đoạn mã trên (và sử dụng một số biến được xác định ở đó).
png("cortest.png", height=600, width=600)
m <- 3:1000
yy <- 1/sqrt(1+(m-2)/qval)
plot(m, yy, type="l", lwd=3, ylim=c(0,1),
xlab="sample size", ylab="correlation")
polygon( c(m[1],m,rev(m)[1]), c(1,yy,1), col="lightblue2", border=NA)
lines(m,yy,lwd=2)
text(500, 0.5, "p < 0.05", cex=1.5 )
dev.off()