Jak przetestować efekt interakcji za pomocą testu nieparametrycznego (np. Testu permutacji)?

10

Mam dwie zmienne jakościowe / nominalne. Każda z nich może przyjąć tylko dwie różne wartości (więc mam w sumie 4 kombinacje).

Każda kombinacja wartości zawiera zestaw wartości liczbowych. Mam więc 4 zestawy liczb. Żeby było bardziej konkretnie, powiedzmy, że mam male / femalei young / oldjako zmienne nominalne i mam weightjako zależne liczbowe „wyjście”.

Wiem, że przejście od maledo femalezmienia średnią wagę i zmiany te są statystycznie znaczące. Więc mogę obliczyć genderwspółczynnik. To samo dotyczy agezmiennej. Wiem, że przejście od youngdo oldzmienia średnią wagę i mogę obliczyć odpowiedni agewspółczynnik.

Teraz naprawdę chcę zobaczyć, czy dane dowodzą, że przejście od młodych kobiet do starych mężczyzn jest czymś więcej niż kombinacją czynników płci i wieku. Innymi słowy, chcę wiedzieć, czy dane dowodzą, że istnieją „efekty 2D” lub, innymi słowy, że wpływ wieku i płci nie jest niezależny. Na przykład, może być tak, że starzenie się u mężczyzn zwiększa wagę o współczynnik 1,3, a dla kobiet odpowiedni współczynnik wynosi 1,1.

Oczywiście mogę obliczyć dwa wymienione czynniki (współczynnik wieku dla mężczyzn i współczynnik wieku dla kobiet) i są one różne. Ale chcę obliczyć statystyczną istotność tej różnicy. Jak realna jest ta różnica.

Jeśli to możliwe, chciałbym wykonać test nieparametryczny. Czy można zrobić to, co chcę, mieszając cztery zestawy, tasując je, dzieląc i obliczając coś.

rzymski
źródło
2
Jedną z trudności w radzeniu sobie z interakcją nieparametryczną jest to, że monotoniczna transformacja odpowiedzi może usunąć interakcję, która była obecna, indukować interakcję tam, gdzie była nieobecna lub odwrócić kierunek interakcji. Sugeruje to, że na przykład podejścia oparte na rangach mogą nie spełniać oczekiwań.
Glen_b
Dzięki testom permutacji oryginalnych zmiennych nie masz tego problemu, ale okazuje się, że nie ma dokładnych testów interakcji. Możesz uzyskać przybliżone testy.
Glen_b

Odpowiedzi:

5

Istnieją nieparametryczne testy interakcji. Z grubsza mówiąc, zastępujesz obserwowane wagi ich stopniami i traktujesz wynikowy zestaw danych jako heteroskedastyczną ANOVA. Patrz np. „Metody nieparametryczne w projektach czynnikowych” Brunnera i Puri (2001).

Jednak rodzaj interakcji nieparametrycznej, którą jesteś zainteresowany, nie może być pokazany w tej ogólności. Powiedziałeś:

Innymi słowy, chcę wiedzieć, czy dane dowodzą, że istnieją „efekty 2D” lub, innymi słowy, że wpływ wieku i płci nie jest niezależny. Na przykład, może być tak, że starzenie się u mężczyzn zwiększa wagę o współczynnik 1,3, a dla kobiet odpowiedni współczynnik wynosi 1,1.

To drugie jest niemożliwe. Interakcja nieparametryczna musi pociągać za sobą zmianę znaku, tj. Starzenie się zwiększa masę mężczyzn, ale zmniejsza masę kobiet. Taka zmiana znaku pozostaje, nawet jeśli monotonicznie przekształcisz wagi. Ale możesz wybrać monotonną transformację danych, która odwzorowuje wzrost masy o współczynnik 1.1 tak blisko, jak chcesz 1.3. Oczywiście nigdy nie wykażesz, że różnica jest znacząca, jeśli może być tak blisko, jak chcesz.

Jeśli naprawdę interesują Cię interakcje bez zmiany znaku, powinieneś trzymać się zwykłej analizy parametrycznej. Tam monotonne przekształcenia, które „połykają różnicę”, są niedozwolone. Oczywiście jest to znowu coś, o czym należy pamiętać, modelując i interpretując statystyki.

Horst Grünbusch
źródło
1

Jeśli uważasz, że wpływ wieku i płci jest czymś więcej niż efekt indywidualny, możesz rozważyć model γwmijasolhtja=αzasolmija+βsolminremirja+γ(solminremirjazasolmija).γwspółczynnik oddaje wielkość efektu „2D” wieku i płci. Możesz sprawdzić statystykę t aby z grubsza zorientować się, czy γ obserwowana w twoim modelu różni się znacznie od γ = 0 .γγγ=0

Oto bardzo szorstki graficzny przykład, aby pokazać, co ten dodatkowy termin mnożnikowy nie.solminremirjazasolmija

W modelu , to zasadniczo próbują dopasować prosty hiperpłaszczyznę z danymirmisponsmi=x1+x2)

wprowadź opis zdjęcia tutaj

Jest to model liniowy na współzmiennych, stąd liniowy kształt widoczny na powyższym wykresie.

Z drugiej strony, model jest nieliniowy w x 1 i x 2, a zatem pozwala na pewien poziom krzywiznyrmisponsmi=x1+x2)+x1x2)x1x2

wprowadź opis zdjęcia tutaj

Nie odrzucenie hipotezy, że jest jak odrzucenie, że w modelu występuje pewna krzywizna tej formy.γ=0

Jeśli chodzi o test nieparametryczny, możesz zrobić coś zgodnie z tym, co zasugerowałeś, uzyskując standardowe błędy ładowania początkowego dla . Oznacza to, że kilka razy: 1) Przykłady danych z wymianą, 2) przeliczyć tryb liniowy, 3) otrzymanie szacunku y . Po wielu szacunków y , można skorzystać z 50 ± p % kwantyl założyć nieparametrycznego 2 p % przedział ufności dla y . Aby uzyskać więcej informacji na ten temat, Google „Standardowe błędy ładowania początkowego”.γγ^γ^50±p%2p%γ

Mustafa S Eisa
źródło
Jak może to być nieliniowe, jeśli x1 i x2 mogą przyjmować tylko wartości 0 lub 1? Jak gamma w twoim przykładzie wyjaśniłaby jakąkolwiek formę krzywizny?
5
Nie ma znaczenia, czym jest domena, nadal jest nieliniowa, ponieważ funkcji nie można zapisać jako liniowej kombinacji jej argumentów (tj. ). Jeśli chodzi o drugą kwestię, zauważ, że ostrożnie powiedziałem „bardzo szorstki przykład graficzny”. Jest to ciągły analog przypadku binarnego. αR2:x1+x2+x1x2=i=12αixi
Mustafa S Eisa
Dodam jednak, że gdy domena jest binarna (co jest jak wierzchołki sześcianu 2D), możesz traktować tę funkcję liniowo. Ale forma funkcjonalna jest ściśle nieliniowa.
Mustafa S Eisa
@MustafaMEisa, nigdy nie widziałem terminu interakcji w modelu liniowym wyjaśnianego w kategoriach „wierzchołków sześcianu 2D”. Byłoby pouczające, gdybyś mógł opracować.
5
@ HorstGrünbusch, jestem również ciekawy twojego komentarza do tej odpowiedzi, ponieważ już udzieliłeś pomocnego komentarza do mojej odpowiedzi.
5
1

Jak zauważyli inni, można to modelować liniowo za pomocą interakcji. Wchodzisz w interakcję z dwoma manekinami i nie ma w tym nic nieliniowego. Biorąc pod uwagę model: Efektem krańcowym „płci” jest pochodna cząstkowa:

wt=α+b1age+b2gender+b3agegender+ϵ

wtgender=b2+b3age

Widzisz, jak jeśli płeć i wiek mogą przyjmować wartości 0 lub 1, to zasadniczo patrzymy tylko na różnicę średnich dla czterech różnych grup? Oznacza to, że tylko cztery różne kombinacje można podłączać do powyższego równania (1), i g e = 0 , (2) g e n d e r = 1 i g e = 1 , (3), g e n d e r = 0 i g egender=0age=0gender=1age=1gender=0 , i (4), g e n d e r = 1 i g e = 0 . Zatem twój konkretny przykład jest równoważny porównaniu czterech średnich grupowych.age=1gender=1age=0

Pomocne może być także zapoznanie się z tą dyskusją, aby zrozumieć, w jaki sposób powyższe jest równoważne ANOVA z dwiema zmiennymi nominalnymi oddziałującymi. Jako kolejny sposób na potwierdzenie faktu, że na twoim konkretnym przykładzie (ponownie, ponieważ istnieją tylko cztery możliwe kombinacje wieku i płci), moglibyśmy również określić model podobny do poniższego, bez wyraźnego terminu interakcji:

wt=α+b1young.male+b2old.male+b3young.female+ϵ

W przypadku, gdy jest pomijana jako kategoria odniesienia, i na przykład współczynnik b 1 będzie różnicą średnich między o l d . f e m o l e a y o, U n g . m a l e . Gdzie punkt przecięcia α będzie również równy średniej w t w ciągu o l d . f eold.femaleb1old.femaleyoung.maleαwt (ponownie kategoria odniesienia).old.female

Wypróbuj to z własnymi danymi. Dzięki modelowi liniowemu z interakcją, ANOVA z interakcją lub użyciu manekinów dla każdej grupy bez interakcji, otrzymasz takie same wyniki. Całkiem fajnie, co? Książka statystyk może omawiać każdą z tych metod w innym rozdziale ale wszystkie drogi prowadzą do Rzymu. Naprawdę, sprawdzenie, jak to działa z własnymi danymi, jest jednym z najlepszych sposobów na naukę.

Powyższe przykłady są więc zbyt skomplikowanym sposobem na wyciągnięcie tego wniosku (że tak naprawdę porównujemy tylko cztery średnie grupowe), ale myślę, że dla poznania sposobu działania interakcji jest to pomocne ćwiczenie. Istnieją inne bardzo dobre posty w CV na temat interakcji zmiennej ciągłej ze zmienną nominalną lub interakcji dwóch zmiennych ciągłych. Mimo że twoje pytanie zostało zredagowane w celu określenia testów nieparametrycznych, myślę, że warto przemyśleć problem z bardziej konwencjonalnego (tj. Parametrycznego) podejścia, ponieważ większość nieparametrycznych podejść do testowania hipotez ma tę samą logikę, ale ogólnie mniej założeń dotyczących określonych rozkładów.

wt

old.menyoung.women

Pomijając „znaczące” interakcje

x1x2x1x2Ale jeszcze raz, jeśli mamy tylko dwie zmienne towarzyszące, które mogą przyjąć tylko wartości 0 lub 1, oznacza to, że zasadniczo patrzymy na cztery średnie grupowe.

Przykład działania

Porównajmy wyniki z modelu interakcji z wynikami testu Dunna. Najpierw wygenerujmy dane, w których (a) mężczyźni ważą więcej niż kobiety, (b) młodsi mężczyźni ważą mniej niż starsi mężczyźni, oraz (c) nie ma różnicy między młodszymi i starszymi kobietami.

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

Potrzebujesz obliczyć standardowy błąd lub przedział ufności dla efektu krańcowego? Pakiet „efektów”, o którym mowa powyżej, może to dla ciebie zrobić, ale jeszcze lepiej, Aiken i West (1991) podają formuły, nawet w przypadku znacznie bardziej skomplikowanych modeli interakcji. Ich tabele są dogodnie wydrukowane tutaj , wraz z bardzo dobrym komentarzem Matta Goldera.

Teraz zaimplementuj test Dunna.

#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

Wartość p wyniku testu chi-kwadrat Kruskala-Wallisa sugeruje, że co najmniej jedna z naszych grup „pochodzi z innej populacji”. W przypadku porównań grup po grupach najwyższą liczbą jest statystyka testu Dunna z, a dolna liczba to wartość p, która została skorygowana dla wielu porównań. Ponieważ nasze przykładowe dane były raczej sztuczne, nic dziwnego, że mamy tak wiele małych wartości p. Zwróć jednak uwagę na porównanie w prawym dolnym rogu między młodszymi i starszymi kobietami. Test poprawnie potwierdza hipotezę zerową, że nie ma różnicy między tymi dwiema grupami.

AKTUALIZACJA: Biorąc pod uwagę inne odpowiedzi, odpowiedź została zaktualizowana, aby zakwestionować pomysł, że wymaga to jakiejkolwiek formy modelowania nieliniowego lub że - biorąc pod uwagę konkretny przykład dwóch binarnych zmiennych towarzyszących, tj. Czterech grup - że musi istnieć zmiana znaku, aby ocenić to nieparametrycznie. Gdyby na przykład wiek był ciągły, istniałyby inne sposoby podejścia do tego problemu, ale nie był to przykład podany przez OP.

5ayat
źródło
Nie używasz struktury dwóch skrzyżowanych czynników. Po prostu porównujesz cztery grupy. Test Dunna wcale nie dotyczy interakcji.
Horst Grünbusch
Zgadzam się, test Dunna nie dotyczy interakcji. Pytanie dotyczy jednak konkretnie interakcji między dwiema zmiennymi binarnymi. Moja odpowiedź pokazuje, jak to równoważy porównywanie czterech grup. Jeśli warunki interakcji są nowe w PO, mam nadzieję, że jest to pomocna ilustracja.
5
1

Masz więc te losowe zmienne:

  • ZAN.
  • S.{męski,Płeć żeńska}
  • W.]0,[

I masz następujące funkcje masy / gęstości prawdopodobieństwa:

  • faW.W.
  • faW.,ZAW.,ZA
  • faW.,S.W.,S.
  • faW.,ZA,S.W.,ZA,S.

wzas

  • faW.,ZA(w,za)faW.(w)
  • faW.,S.(w,s)faW.(w)

faW.,ZA,S.(w,za,s)faW.,ZA(w,za)faW.,S.(w,s)

wzas

Jednak nie znasz prawdziwych wspólnych plików PDF powyżej. Ponieważ chcesz ograniczyć się do metod nieparametrycznych, Twoim zadaniem jest znalezienie tych szacunków nieparametrycznych:

  • fa^W.,ZA(w,za)
  • fa^W.,S.(w,s)
  • fa^W.,ZA,S.(w,za,s)

A następnie pokaż, że:

  • Twoje szacunki gęstości są wystarczająco dokładne.
  • fa^W.,ZA,S.(w,za,s)fa^W.,ZA(w,za)fa^W.,S.(w,s)
  • fa^W.,ZA,S.(w,za,s)=fa^W.,ZA(w,za)=fa^W.,S.(w,s)
jaskiniowiec
źródło
0

To sprawdzałoby efekty interakcji . Modelowanie liniowe byłoby w stanie sprawdzić takie rzeczy, ale nie jest to parametryczne, więc myślę, że należy użyć innego narzędzia.

Jak ty sprawdzanie agei genderdziałanie, aż do teraz?

EDYCJA: Ta odpowiedź wygląda, jakby ci pomogła

Riff
źródło