Contoh koefisien korelasi kuat dengan nilai p tinggi

21

Saya bertanya-tanya, mungkinkah memiliki koefisien korelasi yang sangat kuat (katakanlah 0,9 atau lebih tinggi), dengan nilai p tinggi (katakanlah, 25 atau lebih tinggi)?

Berikut ini contoh koefisien korelasi yang rendah, dengan nilai p tinggi:

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

cor = 0,03908927, p = 0,6994

Koefisien korelasi tinggi, nilai p rendah:

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

cor = 0.8807809, p = 2.2e-16

Koefisien korelasi rendah, nilai p rendah:

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

cor = 0,1035018, p = 2.2e-16

Koefisien korelasi tinggi, nilai p tinggi: ???

Zach
sumber

Jawaban:

36

Garis bawah

Koefisien korelasi sampel diperlukan untuk menolak hipotesis bahwa koefisien korelasi benar (Pearson) adalah nol menjadi kecil cukup cepat seiring dengan meningkatnya ukuran sampel. Jadi, secara umum, tidak ada, Anda tidak dapat secara bersamaan memiliki besar (besarnya) koefisien korelasi dan secara bersamaan besar -nilaihal .

Baris Atas (Detail)

Tes yang digunakan untuk koefisien korelasi Pearson dalam fungsi adalah versi yang sangat sedikit dimodifikasi dari metode yang saya bahas di bawah ini.Rcor.test

Misalkan adalah iid bivariat vektor acak normal dengan korelasi . Kami ingin menguji hipotesis nol bahwa versus . Biarkan menjadi koefisien korelasi sampel. Menggunakan teori regresi linier standar, tidak sulit untuk menunjukkan bahwa statistik uji, memiliki t n - 2 distribusi di bawah hipotesis nol. Untuk yang besarρ ρ = 0 ρ 0 r T = r (X1,Y1),(X2,Y2),...,(Xn,Yn)ρρ=0ρ0r tn-2T2T2F1,n-2χ21

T=rn-2(1-r2)
tn-2,mendekati standar normal. Makantn-2T2kira-kira chi-squared didistribusikan dengan satu derajat kebebasan. (Berdasarkan asumsi yang kami buat, dalam kenyataannya, tetapi perkiraan membuat lebih jelas apa yang sedang terjadi, saya pikir.)T2F1,n-2χ12

Jadi,

P(r21-r2(n-2)q1-α)α,
mana adalah kuantil dari distribusi chi-squared dengan satu derajat kebebasan.q1-α(1-α)

Sekarang, perhatikan bahwa meningkat karena meningkat. Menyusun ulang kuantitas dalam pernyataan probabilitas, kami memiliki itu untuk semua kita akan mendapatkan penolakan terhadap hipotesis nol pada level . Jelas sisi kanan berkurang dengan .r2/(1-r2)r2

|r|11+(n-2)/q1-α
αn

Sebuah jalan cerita

Berikut adalah plot wilayah penolakansebagai fungsi dari ukuran sampel. Jadi, misalnya, ketika ukuran sampel melebihi 100, korelasi (absolut) hanya perlu sekitar 0,2 untuk menolak nol pada tingkat .|r|α=0,05

Simulasi

Kita dapat melakukan simulasi sederhana untuk menghasilkan sepasang vektor mean-nol dengan tepat koefisien korelasi yang . Di bawah ini adalah kode. Dari sini kita bisa melihat output dari 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)

Seperti yang diminta dalam komentar, berikut adalah kode untuk mereproduksi plot, yang dapat dijalankan segera setelah kode di atas (dan menggunakan beberapa variabel yang didefinisikan di sana).

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()
kardinal
sumber
1
Jadi - apa intinya? Saya pikir Anda mengatakan bahwa, kecuali ukuran sampel kecil, nilai korelasi tinggi menyiratkan nilai-p rendah - tapi saya pikir itu akan membantu untuk menguraikannya secara eksplisit.
DW
@DW: Terima kasih banyak atas komentar Anda! Saya berharap garis bawah jelas dari gambar dan persamaan tampilan yang menunjukkan bahwa korelasi kuadrat yang diperlukan untuk mempertahankan nilai tetap menurun secara monoton sebagai fungsi dari ukuran sampel. Saya akan mencari cara untuk membuat pernyataan yang lebih eksplisit untuk efek ini dan memasukkannya ke tempat yang tepat. Sekali lagi terima kasih atas umpan balik yang membangun. hal
kardinal
@ cardinal, bisakah Anda memposting kode sumber untuk grafik yang Anda buat?
aL3xa
@ WD, saya telah berupaya mengatasi masalah Anda. Jika Anda melihat peningkatan yang dapat dilakukan, beri tahu saya.
kardinal
1
@ aL3xa: Saya telah menambahkan kode plot yang saya gunakan. Semoga ini membantu.
kardinal
17
cor.test(c(1,2,3),c(1,2,2))

cor = 0,866, p = 0,333

Aaron - Pasang kembali Monica
sumber
6
@Zach: Silakan mempertimbangkan kembali cek Anda sekarang karena kardinal dan shabbychef telah meluangkan waktu untuk memberikan jawaban penuh.
Aaron - Reinstate Monica
11

Estimasi tinggi koefisien korelasi dengan nilai p tinggi hanya bisa terjadi dengan ukuran sampel yang sangat kecil. Saya baru saja akan memberikan ilustrasi, tetapi Aaron baru saja melakukannya!

onestop
sumber
9

1/n-3ρ^>0hal

hal=2-2Φ(atanh(ρ^)n-3),
ΦH0:ρ=0

nρ^hal

 #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
 }

ρ^=0,5hal=0,2

print(n.size(0.5,0.2))

[1] 8.443062

n,halρ^

shabbychef
sumber
1

Iya nih. Nilai p tergantung pada ukuran sampel, sehingga sampel kecil dapat memberikan ini.

Katakan ukuran efek sebenarnya sangat kecil, dan Anda menggambar sampel kecil. Untungnya, Anda mendapatkan beberapa poin data dengan korelasi yang sangat tinggi. Nilai p akan tinggi, sebagaimana mestinya. Korelasi tinggi tetapi bukan hasil yang sangat bisa diandalkan.

Korelasi sampel dari R's cor () akan memberi Anda perkiraan korelasi terbaik (diberikan sampel). Nilai-p TIDAK mengukur kekuatan korelasi. Ini mengukur seberapa besar kemungkinan hal itu muncul seandainya sebenarnya tidak ada efek, mengingat ukuran sampel.

Cara lain untuk melihat ini: Jika Anda memiliki ukuran efek yang sama, tetapi mendapatkan lebih banyak sampel, nilai p selalu menjadi nol.

(Jika Anda ingin lebih dekat mengintegrasikan gagasan tentang perkiraan ukuran efek dan kepercayaan tentang perkiraan, mungkin lebih baik menggunakan interval kepercayaan; atau, gunakan teknik Bayesian.)

Brendan OConnor
sumber
α=0,05x <- seq(0,4); y <- seq(0,4) + rnorm(5); cor.test(x,y)