Die Quintessenz
Der Stichprobenkorrelationskoeffizient, der erforderlich ist, um die Hypothese zu verwerfen, dass der wahre (Pearson) -Korrelationskoeffizient Null ist, wird mit zunehmender Stichprobengröße recht schnell klein. Im Allgemeinen können Sie also nicht gleichzeitig einen großen (betragsmäßigen) Korrelationskoeffizienten und einen gleichzeitig großen Wert habenp .
Die Top Line (Details)
Der für den Pearson-Korrelationskoeffizienten in der Funktion verwendete Test ist eine sehr geringfügig modifizierte Version der unten diskutierten Methode.Rcor.test
Angenommen, sind bivariate normale Zufallsvektoren mit Korrelation . Wir wollen die Nullhypothese testen, dass gegen . Sei der Probenkorrelationskoeffizient. Unter Verwendung der Standardtheorie der linearen Regression ist es nicht schwer zu zeigen, dass die Teststatistik
ein Verteilung unter der Nullhypothese. Für große , die Verteilung nähert sich den Standard normal. Daher& rgr; & rgr; = 0 & rgr; & ne; 0 r T = r √( X1, Y1) , ( X2, Y2) , … , ( Xn, Yn)ρρ = 0ρ ≠ 0r tn-2ntn-2T2T2≤F1,n-2≤21
T= r n - 2-----√( 1 - r2)------√
tn- 2ntn - 2T2ist ungefähr im Chi-Quadrat verteilt mit einem Freiheitsgrad. (Unter den Annahmen, die wir getroffen haben, ist , aber die Annäherung macht klarer, was los ist, denke ich.)
T2∼ F1 , n - 2χ21
Also
wobei ist das Quantil einer Chi-Quadrat-Verteilung mit einem Freiheitsgrad.q 1 - α ( 1 - α )
P ( r21 - r2( n - 2 ) ≥ q1 - α) ≈α,
q1 - α( 1 - α )
Beachten Sie nun, dass zunimmt, wenn zunimmt. Wenn wir die Menge in der Wahrscheinlichkeitsrechnung neu ordnen, gilt das für alle
Wir erhalten eine Ablehnung der Nullhypothese auf Stufe . Klarerweise nimmt die rechte Seite mit .r2/ (1- r2)r2
| r | ≥ 11 + ( n - 2 ) / q1 - α-------------√
αn
Eine Handlung
Hier ist eine Darstellung der Zurückweisungsregion vonals Funktion der Stichprobengröße. Wenn die Stichprobengröße beispielsweise 100 überschreitet, muss die (absolute) Korrelation nur etwa 0,2 betragen, um die Null auf dem Niveau von abzulehnen .| r |α = 0,05
Eine Simulation
Wir können eine einfache Simulation durchführen, um ein Paar von Vektoren mit einem exakten Korrelationskoeffizienten zu erzeugen . Unten ist der Code. Daraus können wir die Ausgabe von betrachten 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)
Wie in den Kommentaren angefordert, ist hier der Code zum Reproduzieren des Plots, der unmittelbar nach dem obigen Code ausgeführt werden kann (und einige der dort definierten Variablen verwendet).
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()
cor = 0,866, p = 0,333
quelle
Eine hohe Schätzung des Korrelationskoeffizienten mit einem hohen p-Wert konnte nur mit einer sehr kleinen Stichprobengröße erfolgen. Ich wollte gerade eine Illustration liefern, aber Aaron hat das gerade getan!
quelle
quelle
Ja. Ein p-Wert hängt von der Stichprobengröße ab, daher kann eine kleine Stichprobe dies ergeben.
Angenommen, die wahre Effektgröße war sehr klein, und Sie zeichnen ein kleines Beispiel. Glücklicherweise erhalten Sie einige Datenpunkte mit sehr hoher Korrelation. Der p-Wert wird hoch sein, wie es sein sollte. Die Korrelation ist hoch, aber kein sehr zuverlässiges Ergebnis.
Die Stichprobenkorrelation von Rs cor () gibt Ihnen die beste Schätzung der Korrelation (unter Berücksichtigung der Stichprobe). Der p-Wert misst NICHT die Stärke der Korrelation. Sie misst, wie wahrscheinlich es wäre, wenn tatsächlich keine Auswirkung aufgetreten wäre, wenn man die Größe der Stichprobe berücksichtigt.
Eine andere Möglichkeit, dies zu sehen: Wenn Sie dieselbe Effektgröße haben, aber mehr Samples erhalten, geht der p-Wert immer auf Null.
(Wenn Sie die Begriffe der geschätzten Effektgröße und des geschätzten Vertrauens näher integrieren möchten, ist es möglicherweise besser, Konfidenzintervalle zu verwenden oder Bayes'sche Techniken zu verwenden.)
quelle
x <- seq(0,4); y <- seq(0,4) + rnorm(5); cor.test(x,y)