Все, що ви написали, є правильним. Ви завжди можете перевірити подібні речі на прикладі іграшки. Ось приклад з 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))
Що ви виявите, що взаємодія є надзвичайно важливою, хоча справжня кореляція однакова в обох групах. Чому це відбувається? Оскільки коефіцієнти необробленої регресії в двох групах відображають не тільки силу кореляції, але і масштабування X (і Y) у двох групах. Оскільки ці лущення відрізняються, взаємодія є важливою. Це важливий момент, оскільки часто вважають, що щоб перевірити різницю кореляції, потрібно просто перевірити взаємодію у наведеній вище моделі. Давайте продовжимо:
summary(lm(xy2[,2] ~ xy2[,1]))$coef[2] - summary(lm(xy1[,2] ~ xy1[,1]))$coef[2]
Це покаже вам, що різниця в коефіцієнтах регресії для моделі, встановленої окремо в двох групах, дасть вам абсолютно те саме значення, що і термін взаємодії.
Що нас насправді цікавить, - це різниця у кореляціях:
cor(xy1)[1,2]
cor(xy2)[1,2]
cor(xy2)[1,2] - cor(xy1)[1,2]
Ви побачите, що ця різниця по суті дорівнює нулю. Давайте стандартизуємо X і Y у двох групах і перевстановимо повну модель:
x <- c(scale(xy1[,1]), scale(xy2[,1]))
y <- c(scale(xy1[,2]), scale(xy2[,2]))
summary(lm(y ~ x + x:group - 1))
Зауважте, що я не включаю сюди перехоплення чи основний ефект групи, оскільки вони за нульовим визначенням дорівнюють нулю. Ви побачите, що коефіцієнт для x дорівнює співвідношенню для групи 1, а коефіцієнт взаємодії дорівнює різниці кореляцій для двох груп.
Тепер, для вашого питання, чи було б краще використовувати цей підхід порівняно з використанням тесту, який використовує перетворення Фішера r-to-z.
EDIT
Стандартні похибки коефіцієнтів регресії, які обчислюються при стандартизації значень X і Y в межах груп, цю стандартизацію не враховують. Тому вони неправильні. Відповідно, t-тест на взаємодію не контролює адекватно коефіцієнт помилок типу I. Я провів імітаційне дослідження, щоб вивчити це. Коли , то помилка типу I контролюється. Однак, коли , то помилка t-тесту типу I, як правило, занадто консервативна (тобто вона не відкидає досить часто для даногоρ1=ρ2= 0ρ1=ρ2≠ 0αзначення). З іншого боку, тест, що використовує перетворення Фішера r-to-z, виконує адекватно, незалежно від розміру справжніх кореляцій в обох групах (за винятком випадків, коли розміри груп отримують дуже малі та справжні кореляції у двох групах наблизитися до .± 1
Висновок. Якщо ви хочете перевірити різницю кореляцій, використовуйте перетворення r-to-z Фішера і перевіряйте різницю між цими значеннями.