Yüksek p değerine sahip güçlü korelasyon katsayısı örneği


21

Merak ediyorum, çok güçlü bir korelasyon katsayısına sahip olmak mümkün mü (örneğin, 9 veya daha yüksek), p değeri yüksek (örneğin .25 veya daha yüksek) olabilir mi?

İşte p değeri yüksek, düşük korelasyon katsayısı örneği:

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

kor = 0.03908927, p = 0.6994

Yüksek korelasyon katsayısı, düşük p değeri:

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

kor = 0.8807809, p = 2.2e-16

Düşük korelasyon katsayısı, düşük p değeri:

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

kor = 0.1035018, p = 2.2e-16

Yüksek korelasyon katsayısı, yüksek p değeri: ???

Yanıtlar:


36

Alt çizgi

Gerçek (Pearson) korelasyon katsayısının sıfır olduğu hipotezini reddetmek için gereken örnek korelasyon katsayısı, örneklem büyüklüğü arttıkça oldukça hızlı bir şekilde küçülür. Yani, genel olarak hayır, aynı anda büyük (büyüklükte) bir korelasyon katsayısına ve aynı anda büyük bir değerine sahip olamazsınızp .

Üst Çizgi (Ayrıntılar)

fonksiyonunda Pearson korelasyon katsayısı için kullanılan test, aşağıda tartıştığım yöntemin çok az değiştirilmiş bir versiyonudur.Rcor.test

Varsayalım bağıntı ile istatistiksel bağımsız iki değişkenli normal rasgele vektörlerdir p'ye . O Biz Sıfır hipotezini test etmek istiyorum ρ = 0 versus ρ 0 . Örnek korelasyon katsayısı r olsun . Standart doğrusal regresyon teorisi kullanılarak, test istatistiğinin, T = r olduğunu göstermek zor değildir. (X1,Y1),(X2,Y2),,(Xn,Yn)ρρ=0ρ0r bir yer alırtn-2geçersiz hipoteze göre dağılımı. Büyükn için,tn-2dağılımı standart normale yaklaşır. Dolayısıyla,T2, yaklaşık bir derece serbestlik ile dağıtılmış yaklaşık olarak ki-karedir. (Yaptığımız varsayımlar altında,gerçeklikteT2F1,n-2, ancakχ21yaklaşımı olan biteni daha açık bir hale getiriyor, sanırım.)

T=rn2(1r2)
tn2ntn2T2T2F1,n2χ12

Yani, Burada q, 1 - α olduğu ( 1 - α ) miktarsal bir serbestlik derecesine sahip olan bir ki-kare dağılım.

P(r21r2(n2)q1α)α,
q1α(1α)

Şimdi, not bu olarak artmaktadır r 2 artar. Olasılık beyanındaki miktarı yeniden düzenleyerek, hepsine sahibiz | r | 1r2/(1r2)r2 seviyesindeki boş hipotezireddederiz. Açıkça sağ tarafnile azalır.

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

Bir entrika

İşte red bölgesi örneklem büyüklüğünün bir fonksiyonu olarak. Bu nedenle, örneğin, örneklem büyüklüğü 100'ü aştığında, (mutlak) korelasyonun, boş değeri α = 0,05 düzeyinde reddetmek için sadece yaklaşık 0.2 olması gerekir .|r|α=0.05

Bir simülasyon

Kesin bir korelasyon katsayısına sahip bir çift sıfır ortalama vektör çifti üretmek için basit bir simülasyon yapabiliriz . Kod aşağıda. Bundan çıktısına bakabiliriz 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)

Yorumlarda istendiği gibi, yukarıdaki kodu izleyen derhal çalıştırılabilen arsa reprodüksiyonu için kod buradadır (ve burada tanımlanan değişkenlerin bazılarını kullanır).

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
Peki, sonuç ne? Bence, örneklem büyüklüğü küçük olmadıkça, yüksek bir korelasyon değerinin düşük bir p-değeri anlamına geldiğini söylüyorsunuz - ama bence açıkça ifade etmenin yardımcı olacağını düşünüyorum.
DW

p

@cardinal, lütfen oluşturduğunuz grafiğin kaynak kodunu gönderebilir misiniz?
aL3xa

@DW, endişelerinizi gidermek için bir girişimde bulundum. Yapılabilecek iyileştirmeler görürseniz, lütfen bana bildirin.
kardinal

1
@ aL3xa: Kullandığım çizim kodunu ekledim. Bu yardımcı olur umarım.
kardinal


11

Yüksek p-değeri olan korelasyon katsayısının yüksek bir tahmini ancak çok küçük bir örneklem büyüklüğü ile gerçekleşebilir. Bir örnek vermek üzereydim, ama Aaron bunu yaptı!


9

Fisher RZ dönüşümü ile null altında örnek korelasyonunun hiperbolik arkı, sıfır ve ortalama hata ile yaklaşık normal olduğuna inanıyorum.1/n-3ρ^>0p

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

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
 }

ρ^=0.5p=0.2

print(n.size(0.5,0.2))

[1] 8.443062

n,pρ^


1

Evet. Bir p değeri numune büyüklüğüne bağlıdır, bu nedenle küçük bir örnek bunu verebilir.

Gerçek efekt boyutunun çok küçük olduğunu ve küçük bir örnek çizdiğini söyleyin. Şansınız varsa, çok yüksek korelasyon ile birkaç veri noktaları elde edersiniz. P değeri olması gerektiği gibi yüksek olacaktır. Korelasyon yüksektir, ancak bu çok güvenilir bir sonuç değildir.

R'nin cor () 'undaki örnek korelasyonu size korelasyonun en iyi tahminini (örnek verilen) söyleyecektir. P değeri korelasyonun gücünü ölçmez. Numunenin büyüklüğü göz önüne alındığında, aslında etkisinin olmaması durumunda ne kadar muhtemel olabileceğini ölçer.

Bunu görmenin başka bir yolu: Aynı etki büyüklüğüne sahipseniz, ancak daha fazla örnek alıyorsanız, p değeri her zaman sıfıra gider.

(Tahmini etki büyüklüğü ve tahmine ilişkin güven kavramlarını daha yakından bütünleştirmek istiyorsanız, güven aralıklarını kullanmak daha iyi olabilir veya Bayesian tekniklerini kullanmak daha iyi olabilir.)


α=0.05x <- seq(0,4); y <- seq(0,4) + rnorm(5); cor.test(x,y)
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.