wt=α+b1age+b2gender+b3age∗gender+ϵ
∂wt∂gender=b2+b3age
gender=0age=0gender=1age=1gender=0age=1gender=1age=0
wt=α+b1young.male+b2old.male+b3young.female+ϵ
old.femaleb1old.femaleyoung.maleαwtold.female
…
Наведені вище приклади є надто складним способом дійти до цього висновку (що ми насправді просто порівнюємо чотири групові засоби), але для того, щоб дізнатися про те, як працюють взаємодії, я вважаю, що це корисна вправа. У CV є інші дуже хороші повідомлення про взаємодію безперервної змінної з номінальною змінною або взаємодію двох безперервних змінних. Навіть незважаючи на те, що ваше питання було відредаговано для визначення непараметричних тестів, я думаю, що корисно продумати свою проблему з більш звичайного (тобто параметричного) підходу, оскільки більшість непараметричних підходів до тестування гіпотез мають ту ж логіку, але, як правило, з менше припущень щодо конкретних розподілів.
wt
old.menyoung.women
Відмовитися від "значущих" взаємодій
x1x2x1x2Але ще раз, якщо у нас є лише два коваріати, які можуть приймати лише значення 0 або 1, це означає, що ми, по суті, дивимось на чотири групові засоби.
Приклад роботи
Порівняємо результати моделі взаємодії з результатами тесту Данна. По-перше, давайте генеруємо деякі дані, де (а) чоловіки важать більше, ніж жінки; (б) молодші чоловіки мають меншу вагу, ніж старші чоловіки, і (в) немає різниці між молодшими та старшими жінками.
set.seed(405)
old.men<-rnorm(50,mean=80,sd=15)
young.men<-rnorm(50,mean=70,sd=15)
young.women<-rnorm(50,mean=60,sd=15)
old.women<-rnorm(50,mean=60,sd=15)
cat<-rep(1:4, c(50,50,50,50))
gender<-rep(1:2, c(100,100))
age<-c(rep(1,50),rep(2,100),rep(1,50))
wt<-c(old.men,young.men,young.women,old.women)
data<-data.frame(cbind(wt,cat,age,gender))
data$cat<-factor(data$cat,labels=c("old.men","young.men","young.women","old.women"))
data$age<-factor(data$age,labels=c("old","young"))
data$gender<-factor(data$gender,labels=c("male","female"))
wt
mod<-lm(wt~age*gender,data)
library(effects)
allEffects(mod)
model: wt ~ age * gender
age*gender effect
gender
age male female
old 80.61897 57.70635
young 67.78351 56.01228
Потрібно обчислити стандартний інтервал помилок чи довіри для вашого граничного ефекту? Наведений вище пакет ефектів може зробити це для вас, але ще краще, Ейкен та Захід (1991) дають вам формули навіть для набагато складніших моделей взаємодії. Їх таблиці зручно друкувати тут , а також дуже хороший коментар Метта Голдера.
Тепер застосувати тест Данна.
#install.packages("dunn.test")
dunn.test(data$wt, data$cat, method="bh")
Kruskal-Wallis chi-squared = 65.9549, df = 3, p-value = 0
Comparison of x by group
(Benjamini-Hochberg)
Col Mean-|
Row Mean | old.men young.me young.wo
---------+---------------------------------
young.me | 3.662802
| 0.0002*
|
young.wo | 7.185657 3.522855
| 0.0000* 0.0003*
|
old.wome | 6.705346 3.042544 -0.480310
| 0.0000* 0.0014* 0.3155
Значення p за результатами тестування хі-квадрата Крускала-Уолліса говорить про те, що принаймні одна з наших груп "походить від іншої групи населення". Для групових порівнянь групою верхнє число є z-тестовою статистикою Данна, а нижнє число - р-значення, яке було скориговано для декількох порівнянь. Оскільки дані нашого прикладу були досить штучними, не дивно, що у нас так багато малих p-значень. Але зауважте порівняння внизу праворуч між молодшими та старшими жінками. Тест правильно підтримує нульову гіпотезу про відсутність різниці між цими двома групами.
…
ОНОВЛЕННЯ: З огляду на інші відповіді, ця відповідь була оновлена, щоб заперечити думку про те, що для цього потрібна будь-яка форма нелінійного моделювання, або що, з огляду на конкретний приклад ОП з двох бінарних коваріатів, тобто чотирьох груп, - що має бути зміна знаку оцінює це непараметрично. Якби вік був безперервним, наприклад, існували б інші способи наблизитись до цієї проблеми, але це був не той приклад, який дає ОП.