Ví dụ về hệ số tương quan mạnh với giá trị p cao


21

Tôi đã tự hỏi, có thể có một hệ số tương quan rất mạnh (giả sử .9 hoặc cao hơn), với giá trị p cao (nói 0,25 hoặc cao hơn)?

Đây là một ví dụ về hệ số tương quan thấp, với giá trị p cao:

set.seed(10)
y <- rnorm(100)
x <- rnorm(100)+.1*y
cor.test(x,y)

cor = 0,03908927, p = 0,6994

Hệ số tương quan cao, giá trị p thấp:

y <- rnorm(100)
x <- rnorm(100)+2*y
cor.test(x,y)

cor = 0,8807809, p = 2,2e-16

Hệ số tương quan thấp, giá trị p thấp:

y <- rnorm(100000)
x <- rnorm(100000)+.1*y
cor.test(x,y)

cor = 0.1035018, p = 2.2e-16

Hệ số tương quan cao, giá trị p cao: ???

Câu trả lời:


36

Đ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=rn2(1r2)
tn2ntn2T2T2F1,n2χ12

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(r21r2(n2)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/(1r2)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+(n2)/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()

1
Vậy - điểm mấu chốt là gì? Tôi nghĩ rằng bạn đang nói rằng, trừ khi kích thước mẫu nhỏ, giá trị tương quan cao hàm ý giá trị p thấp - nhưng tôi nghĩ nó sẽ giúp đánh vần rõ ràng.
DW

p

@cardinal, bạn có thể, xin vui lòng, gửi mã nguồn cho biểu đồ bạn đã tạo?
aL3xa

@DW, tôi đã cố gắng giải quyết các mối quan tâm của bạn. Nếu bạn thấy những cải tiến có thể được thực hiện, xin vui lòng cho tôi biết.
Đức hồng y

1
@ aL3xa: Tôi đã thêm mã âm mưu tôi đã sử dụng. Hi vọng điêu nay co ich.
Đức hồng y


11

Ước tính cao về hệ số tương quan với giá trị p cao chỉ có thể xảy ra với cỡ mẫu rất nhỏ. Tôi đã định cung cấp một minh họa, nhưng Aaron vừa mới làm điều đó!


9

1/n3ρ^>0p

p=22Φ(atanh(ρ^)n3),
ΦH0:ρ=0

Bạn có thể biến điều này thành một chức năng đưa ra yêu cầu nρ^p

 #get n for sample correlation and p-value, 2-sided test of 0 correlation
 n.size <- function(rho.hat,p.val) {
   n <- 3 + ((qnorm(1 - 0.5 * p.val)) / atanh(rho.hat))^2
 }

Chạy cái này cho ρ^=0.5p=0.2

print(n.size(0.5,0.2))

[1] 8.443062

Vì vậy, cỡ mẫu của bạn phải ở khoảng 8. Chơi xung quanh với chức năng này sẽ cho bạn một số ý tưởng về mối quan hệ giữa n,pρ^


1

Vâng. Giá trị p phụ thuộc vào kích thước mẫu, vì vậy một mẫu nhỏ có thể cung cấp giá trị này.

Nói kích thước hiệu ứng thật là rất nhỏ và bạn vẽ một mẫu nhỏ. May mắn thay, bạn có được một vài điểm dữ liệu với tương quan rất cao. Giá trị p sẽ cao, như nó phải vậy. Tương quan là cao nhưng nó không phải là một kết quả rất đáng tin cậy.

Tương quan mẫu từ R's cor () sẽ cho bạn biết ước tính tốt nhất về tương quan (đã cho mẫu). Giá trị p KHÔNG đo lường cường độ tương quan. Nó đo lường khả năng nó có thể phát sinh trong trường hợp thực sự không có hiệu lực, xem xét kích thước của mẫu.

Một cách khác để thấy điều này: Nếu bạn có cùng kích thước hiệu ứng, nhưng lấy được nhiều mẫu hơn, giá trị p luôn luôn về không.

(Nếu bạn muốn tích hợp chặt chẽ hơn các khái niệm về kích thước hiệu ứng ước tính và độ tin cậy về ước tính, có thể tốt hơn là sử dụng khoảng tin cậy; hoặc, sử dụng các kỹ thuật Bayes.)


α=0.05x <- seq(0,4); y <- seq(0,4) + rnorm(5); cor.test(x,y)
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.