Possiamo confrontare le correlazioni tra i gruppi confrontando le pendenze di regressione?


10

In questa domanda si chiedono come confrontare Pearson r per due gruppi indipendenti (come maschi contro femmine). Risposta e commenti suggeriscono due modi:

  1. Usa la famosa formula di Fisher usando "z-tranformation" di r;
  2. Utilizzare il confronto delle pendenze (coefficienti di regressione).

Quest'ultimo potrebbe essere facilmente eseguito solo tramite un modello lineare saturo: , dove e sono le variabili correlate e è una variabile fittizia (0 vs 1) che indica i due gruppi. La grandezza di (il coefficiente del termine di interazione) è esattamente la differenza nel coefficiente dopo il modello condotto in due gruppi individualmente, e il suo significato ( 's) è quindi il test della differenza di pendenza tra i gruppi.X Y G d b Y = a + b X dY=un'+BX+csol+dXsolXYsoldBY=un'+BXd

Ora, pendenza o regressione coef. non è ancora un coef correlazione. Ma se standardizziamo e - separatamente in due gruppi - allora sarà uguale alla differenza r nel gruppo 1 meno r nel gruppo 0 e quindi il suo significato testerà la differenza tra le due correlazioni: stiamo testando pendenze ma sembra [come se -?] stiamo testando le correlazioni.Y dXYd

Ho scritto correttamente?

Se sì, rimane la domanda che è un test migliore delle correlazioni: questo è quello descritto o quello di Fisher? Perché produrranno risultati non identici. Cosa ne pensi?

Modifica successiva: Ringraziando @ Wolfgang per la sua risposta, mi sento comunque dispiaciuto capire perché il test di Fisher è più corretto di un test per l'approccio di confronto di pendenza sotto standardizzazione sopra descritto. Quindi, più risposte sono benvenute. Grazie.

Risposte:


10

Tutto quello che hai scritto è corretto. Puoi sempre provare cose del genere con un esempio di giocattolo. Ecco un esempio con R:

library(MASS)

rho <- .5  ### the true correlation in both groups

S1 <- matrix(c( 1,   rho,   rho, 1), nrow=2)
S2 <- matrix(c(16, 4*rho, 4*rho, 1), nrow=2)

cov2cor(S1)
cov2cor(S2)

xy1 <- mvrnorm(1000, mu=c(0,0), Sigma=S1)
xy2 <- mvrnorm(1000, mu=c(0,0), Sigma=S2)

x <- c(xy1[,1], xy2[,1])
y <- c(xy1[,2], xy2[,2])
group <- c(rep(0, 1000), rep(1, 1000))

summary(lm(y ~ x + group + x:group))

Cosa troverai che l'interazione è molto significativa, anche se la vera correlazione è la stessa in entrambi i gruppi. Perché succede? Perché i coefficienti di regressione grezza nei due gruppi riflettono non solo la forza della correlazione, ma anche il ridimensionamento di X (e Y) nei due gruppi. Poiché tali ridimensionamenti differiscono, l'interazione è significativa. Questo è un punto importante, poiché si ritiene spesso che per testare la differenza nella correlazione, sia sufficiente testare l'interazione nel modello sopra. Continuiamo:

summary(lm(xy2[,2] ~ xy2[,1]))$coef[2] - summary(lm(xy1[,2] ~ xy1[,1]))$coef[2]

Questo ti mostrerà che la differenza nei coefficienti di regressione per il modello montato separatamente nei due gruppi ti darà esattamente lo stesso valore del termine di interazione.

Ciò a cui siamo veramente interessati è la differenza nelle correlazioni:

cor(xy1)[1,2]
cor(xy2)[1,2]
cor(xy2)[1,2] - cor(xy1)[1,2]

Scoprirai che questa differenza è essenzialmente zero. Standardizziamo X e Y all'interno dei due gruppi e rimontiamo il modello completo:

x <- c(scale(xy1[,1]), scale(xy2[,1]))
y <- c(scale(xy1[,2]), scale(xy2[,2]))
summary(lm(y ~ x + x:group - 1))

Nota che non includo qui l'intercettazione o l'effetto principale del gruppo, perché sono zero per definizione. Scoprirai che il coefficiente per x è uguale alla correlazione per il gruppo 1 e il coefficiente per l'interazione è uguale alla differenza nelle correlazioni per i due gruppi.

Ora, per la tua domanda se sarebbe meglio usare questo approccio piuttosto che usare il test che utilizza la trasformazione r-to-z di Fisher.

MODIFICARE

ρ1=ρ2=0ρ1=ρ20α±1

Conclusione: se si desidera verificare una differenza nelle correlazioni, utilizzare la trasformazione r-to-z di Fisher e verificare la differenza tra tali valori.


La trasformazione di Fisher presenta dei vantaggi rispetto agli altri test?
mark999,

Ho scoperto che ero un po 'troppo veloce. Vedi le mie modifiche. Speriamo che questo risponda alla tua domanda.
Wolfgang,

Quindi, @ Wolfgang, ritenete che l'approccio del confronto tra pendenze sotto la standardizzazione sia un valido confronto di r. La famosa alternativa di Fisher è in realtà un'approssimazione. Ti ho capito bene?
ttnphns,

Vedi le mie modifiche. Sono stato troppo veloce con le mie conclusioni iniziali.
Wolfgang,

@ Wolfgang, successivamente aggiunto EDIT della tua risposta afferma che Fisher è migliore. L'approccio del confronto di pendenze sotto standardizzazione è inadeguato perché "gli errori standard ... quando si standardizza ... non prendono in considerazione questa standardizzazione". Per favore, spiegami come dovrebbero tenere conto della standardizzazione in modo che l'approccio del confronto tra pendenze sotto la standardizzazione diventi valido quanto il test di Fisher.
ttnphns,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.