Wszystko, co napisałeś, jest poprawne. Zawsze możesz przetestować takie rzeczy na przykładzie zabawki. Oto przykład z 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))
Przekonasz się, że interakcja jest bardzo znacząca, nawet jeśli prawdziwa korelacja jest taka sama w obu grupach. Dlaczego tak się dzieje? Ponieważ współczynniki regresji surowej w dwóch grupach odzwierciedlają nie tylko siłę korelacji, ale także skalowanie X (i Y) w dwóch grupach. Ponieważ te skalowania różnią się, interakcja jest znacząca. Jest to ważna kwestia, ponieważ często uważa się, że aby przetestować różnicę w korelacji, wystarczy przetestować interakcję w powyższym modelu. Kontynuujmy:
summary(lm(xy2[,2] ~ xy2[,1]))$coef[2] - summary(lm(xy1[,2] ~ xy1[,1]))$coef[2]
To pokaże, że różnica współczynników regresji dla modelu dopasowanego osobno w dwóch grupach da dokładnie taką samą wartość jak warunek interakcji.
Tym, co naprawdę nas interesuje, jest różnica w korelacjach:
cor(xy1)[1,2]
cor(xy2)[1,2]
cor(xy2)[1,2] - cor(xy1)[1,2]
Przekonasz się, że różnica ta wynosi zasadniczo zero. Standaryzujmy X i Y w dwóch grupach i zmontuj pełny model:
x <- c(scale(xy1[,1]), scale(xy2[,1]))
y <- c(scale(xy1[,2]), scale(xy2[,2]))
summary(lm(y ~ x + x:group - 1))
Zauważ, że nie uwzględniam tutaj przechwytywania ani głównego efektu grupy, ponieważ są one z definicji zerowe. Przekonasz się, że współczynnik dla x jest równy korelacji dla grupy 1, a współczynnik dla interakcji jest równy różnicy w korelacjach dla dwóch grup.
Teraz, jeśli chodzi o twoje pytanie, czy lepiej byłoby zastosować to podejście, niż test wykorzystujący transformację Fishera z r-na-z.
EDYTOWAĆ
Standardowe błędy współczynników regresji obliczane podczas standaryzacji wartości X i Y w grupach nie uwzględniają tej standaryzacji. Dlatego nie są poprawne. W związku z tym test t interakcji nie kontroluje odpowiednio poziomu błędu typu I. Przeprowadziłem badanie symulacyjne, aby to zbadać. Gdy , kontrolowany jest błąd typu I. Jednak gdy , błąd typu I testu t wydaje się być zbyt konserwatywny (tzn. Nie odrzuca się wystarczająco często dla danegoρ1=ρ2)= 0ρ1=ρ2)≠ 0αwartość). Z drugiej strony test wykorzystujący transformację F-do-Z Fishera działa prawidłowo, niezależnie od wielkości prawdziwych korelacji w obu grupach (z wyjątkiem sytuacji, gdy rozmiary grup stają się bardzo małe i prawdziwe korelacje w dwóch grupach podejdź bardzo blisko .±1
Wniosek: jeśli chcesz sprawdzić różnicę w korelacjach, użyj transformacji F-to-Z Fishera i przetestuj różnicę między tymi wartościami.