La linea di fondo
Il coefficiente di correlazione del campione necessario per respingere l'ipotesi che il vero coefficiente di correlazione (Pearson) sia zero diventa piccolo abbastanza velocemente all'aumentare della dimensione del campione. Quindi, in generale, no, non si può avere contemporaneamente una grande (grandezza) coefficiente di correlazione e allo stesso tempo grande -valorep .
The Top Line (Dettagli)
Il test utilizzato per il coefficiente di correlazione di Pearson nella funzione è una versione leggermente modificata del metodo che discuterò di seguito.Rcor.test
Supponiamo che siano vettori casuali normali bivariati con correlazione ρ . Vogliamo testare l'ipotesi nulla che ρ = 0 contro ρ ≠ 0 . Sia r il coefficiente di correlazione del campione. Utilizzando la teoria della regressione lineare standard, non è difficile dimostrare che la statistica del test,
T = r √( X1, Y1) , ( X2, Y2) , ... , ( Xn, Yn)ρρ = 0ρ ≠ 0r
ha una distribuzionetn-2sotto l'ipotesi nulla. Perngrandi, la distribuzionetn-2 siavvicina allo standard normale. QuindiT2è approssimativamente distribuito al chi quadrato con un grado di libertà. (Sotto le ipotesi che abbiamo fatto,T2∼F1,n-2in realtà, ma l'approssimazioneχ21rende più chiaro quello che sta succedendo, penso.)
T= r n - 2-----√( 1 - r2)------√
tn - 2ntn - 2T2T2∼ F1 , n - 2χ21
Quindi,
dove q 1 - α è ilquantile ( 1 - α ) di una distribuzione chi-quadrato con un grado di libertà.
P ( r21 - r2( n - 2 ) ≥ q1 - α) ≈α,
q1 - α( 1 - α )
Ora, nota che aumenta all'aumentare di r 2 . Riorganizzando la quantità nella dichiarazione di probabilità, abbiamo quella per tutti
| r | ≥ 1r2/ (1- r2)r2
otterremo un rifiuto dell'ipotesi nulla a livelloα. Chiaramente il lato destro diminuisce conn.
| r | ≥ 11 + ( n - 2 ) / q1 - α-------------√
αn
Una trama
Ecco un diagramma della regione di rifiuto di in funzione della dimensione del campione. Quindi, ad esempio, quando la dimensione del campione supera 100, la correlazione (assoluta) deve essere solo di circa 0,2 per rifiutare il valore nullo a livello α = 0,05 .| r |α = 0.05
Una simulazione
Possiamo fare una semplice simulazione per generare una coppia di vettori a media zero con un coefficiente di correlazione esatto . Di seguito è riportato il codice. Da questo possiamo vedere l'output di 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)
Come richiesto nei commenti, ecco il codice per riprodurre il grafico, che può essere eseguito immediatamente seguendo il codice sopra (e utilizza alcune delle variabili ivi definite).
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()