Regresyon eğimlerini karşılaştırarak gruplar arasındaki korelasyonları karşılaştırabilir miyiz?


10

Gelen bu soruya onlar (örneğin kadın vs erkek olarak) iki bağımsız gruplar için Pearson r karşılaştırmak nasıl sorun. Yanıt ve yorumlar iki yol önerdi:

  1. R "z-dönüşümü" kullanarak Fisher iyi bilinen formülü kullanın;
  2. Eğimlerin karşılaştırmasını kullanın (regresyon katsayıları).

İkincisi, sadece doymuş bir doğrusal model ile kolayca gerçekleştirilebilir: Y=bir+bX+cG,+dXG,, nerede X ve Y ilişkili değişkenler ve G,"İki grup", iki grubu gösteren bir yapay (0'a 1) değişkendir. Büyüklüğüd (etkileşim terimi katsayısı) tam olarak katsayıdaki farktır b modelden sonra Y=bir+bX ayrı ayrı iki grupta yürütülür ved's) önemi, gruplar arasındaki eğim farkının testidir.

Şimdi, eğim veya regresyon katsayısı. henüz bir korelasyon katmanı değil. Ama standartlaşırsakX ve Y- ayrı ayrı iki grupta - o zamandgrup 1'deki eksi r eşittir ve grup 0'daki r eşittir ve bu nedenle önemi iki korelasyon arasındaki farkı test edecektir: eğimleri test ediyoruz ancak korelasyonları test ediyor gibi görünüyoruz.

Doğru yazdım mı?

Eğer evet ise, korelasyonların daha iyi bir testi olduğu sorusu kaldı - bu tarif mi yoksa Fisher'ın mı? Çünkü aynı sonuçları vermezler. Ne düşünüyorsun?

Daha sonra Düzenle: @Wolfgang'a cevabı için teşekkür ederim Bununla birlikte, Fisher testinin neden r için bir testin yukarıda tarif edilen eğim altında karşılaştırma yaklaşımından daha doğru olduğunu anlamamı hissediyorum . Yani, daha fazla cevap bekliyoruz. Teşekkür ederim.

Yanıtlar:


10

Yazdığınız her şey doğrudur. Böyle bir şeyi her zaman bir oyuncak örneği ile test edebilirsiniz. İşte R ile bir örnek:

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))

Her iki grupta da gerçek korelasyon aynı olmasına rağmen etkileşimin oldukça önemli olduğunu göreceksiniz. Bu neden oluyor? Çünkü iki gruptaki ham regresyon katsayıları sadece korelasyonun gücünü değil, aynı zamanda iki gruptaki X (ve Y) 'nin ölçeklenmesini de yansıtmaktadır. Bu ölçekler farklı olduğu için etkileşim önemlidir. Bu önemli bir noktadır, çünkü korelasyondaki farkı test etmek için sadece yukarıdaki modeldeki etkileşimi test etmeniz gerektiğine inanılmaktadır. Devam edelim:

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

Bu, iki gruba ayrı ayrı monte edilen model için regresyon katsayılarındaki farkın size etkileşim terimi ile tam olarak aynı değeri vereceğini gösterecektir.

Gerçekten ilgilendiğimiz şey korelasyonlardaki farktır:

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

Bu farkın aslında sıfır olduğunu göreceksiniz. X ve Y'yi standartlaştıralımİki grupta tam modeli yeniden yerleştirelim:

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

Buraya kesme veya grup ana etkisini dahil olmadığımı unutmayın, çünkü tanımlarına göre sıfırdır. X katsayısının grup 1 korelasyonuna eşit olduğunu ve etkileşim katsayısının iki grup için korelasyon farkına eşit olduğunu göreceksiniz.

Şimdi, Fisher'in r-to-z dönüşümünü kullanan testi kullanmak yerine bu yaklaşımı kullanmanın daha iyi olup olmayacağı sorunuz için.

DÜZENLE

Gruplar içindeki X ve Y değerlerini standartlaştırdığınızda hesaplanan regresyon katsayılarının standart hataları bu standardizasyonu dikkate almaz. Bu nedenle, doğru değiller. Buna göre, etkileşim t-testi Tip I hata oranını yeterince kontrol etmez. Bunu incelemek için bir simülasyon çalışması yaptım. Ne zamanρ1=ρ2=0, sonra Tip I hatası kontrol edilir. Ancak,ρ1=ρ20, o zaman t-testinin Tip I hatası aşırı derecede muhafazakar olma eğilimindedir (yani, belirli bir süre için yeterince sık reddetmez αdeğeri). Öte yandan, Fisher'ın r-to-z dönüşümünü kullanan test, her iki gruptaki gerçek korelasyonların boyutuna bakılmaksızın (grup boyutlarının çok küçük olması ve iki gruptaki gerçek korelasyonlar hariç) yeterli performans gösterir. çok yaklaş±1.

Sonuç: Eğer korelasyonlardaki bir farkı test etmek istiyorsanız, Fisher'ın r-to-z dönüşümünü kullanın ve bu değerler arasındaki farkı test edin.


Fisher dönüşümünün diğer testlere göre herhangi bir avantajı var mı?
mark999

Görünüşe göre biraz fazla hızlıydım. Düzenlemelerimi görün. Umarım sorunuza cevap vermelidir.
Wolfgang

Yani @Wolfgang, eğim-altı-standardizasyon karşılaştırması yaklaşımının r'nin geçerli bir karşılaştırması olduğunu düşünüyorsunuz. Fisher'ın ünlü alternatifi aslında bunun bir yaklaşıklamasıdır. Seni doğru anladım mı?
ttnphns

Düzenlemelerimi görün. İlk sonuçlarımda çok hızlı davrandım.
Wolfgang

@ Wolfgang, daha sonra yanıtınızın EDIT'ini Fisher'ın daha iyi olduğunu belirtti. "Standart hatalar ... standardize ettiğinizde ... bu standardizasyonu dikkate almadığınız için" standart eğim altında karşılaştırma yaklaşımı yetersizdir. Lütfen standardizasyonu nasıl dikkate almaları gerektiğini açıklayın, böylece standardizasyonun altında eğim karşılaştırması Fisher'in testi kadar geçerli hale gelir.
ttnphns
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.