Dlaczego test Mantela jest lepszy od testu Morana?

37

Test Mantela jest szeroko stosowany w badaniach biologicznych w celu zbadania korelacji między rozkładem przestrzennym zwierząt (pozycja w przestrzeni) z, na przykład, ich genetycznym spokrewnieniem, szybkością agresji lub innymi atrybutami. Korzysta z niego wiele dobrych czasopism ( PNAS, Animal Behavior, Molecular Ecology ... ).

Sfabrykowałem kilka wzorów, które mogą występować w naturze, ale test Mantela wydaje się całkiem bezużyteczny do ich wykrycia. Z drugiej strony, Morana miałem lepsze wyniki (patrz wartości p pod każdym polem) .

Dlaczego zamiast tego naukowcy nie używają Morana? Czy jest jakiś ukryty powód, którego nie widzę? A jeśli istnieje jakiś powód, skąd mogę wiedzieć (jak hipotezy muszą być skonstruowane inaczej), aby właściwie użyć testu Mantela lub Morana? Pomocny będzie przykład z życia.

Wyobraź sobie taką sytuację: na każdym drzewie siedzi sad (17 x 17 drzew) z wroną. Poziomy „hałasu” dla każdej wrony są dostępne i chcesz wiedzieć, czy rozkład przestrzenny wron zależy od hałasu, który wytwarzają.

Istnieje (co najmniej) 5 możliwości:

  1. „Ptaki stada piór razem”. Im bardziej podobne są wrony, tym mniejsza jest odległość geograficzna między nimi (pojedynczy klaster) .

  2. „Ptaki stada piór razem”. Ponownie, im bardziej podobne są wrony, tym mniejsza jest odległość geograficzna między nimi (wiele klastrów), ale jedna grupa głośnych wron nie ma wiedzy o istnieniu drugiej grupy (w przeciwnym razie połączyłyby się w jedną dużą grupę).

  3. „Trend monotoniczny”.

  4. "Przeciwieństwa się przyciągają." Podobne wrony nie mogą się znieść.

  5. „Losowy wzór”. Poziom hałasu nie ma znaczącego wpływu na rozkład przestrzenny.

Dla każdego przypadku stworzyłem wykres punktów i użyłem testu Mantela do obliczenia korelacji (nic dziwnego, że jego wyniki nie są znaczące, nigdy nie próbowałbym znaleźć liniowego związku między takimi wzorcami punktów).

wprowadź opis zdjęcia tutaj


Przykładowe dane: (skompresowane jak to możliwe)

r.gen   <- seq(-100,100,5)
r.val   <- sample(r.gen, 289, replace=TRUE)
z10     <- rep(0, times=10)
z11     <- rep(0, times=11)
r5      <- c(5,15,25,15,5)
r71     <- c(5,20,40,50,40,20,5)
r72     <- c(15,40,60,75,60,40,15)
r73     <- c(25,50,75,100,75,50,25)
rbPal   <- colorRampPalette(c("blue","red"))
my.data <- data.frame(x = rep(1:17, times=17),y = rep(1:17, each=17),
             c1=c(rep(0,times=155),r5,z11,r71,z10,r72,z10,r73,z10,r72,z10,r71,
             z11,r5,rep(0, times=27)),c2 = c(rep(0,times=19),r5,z11,r71,z10,r72,
             z10,r73,z10,r72,z10,r71,z11,r5,rep(0, times=29),r5,z11,r71,z10,r72,
             z10,r73,z10,r72,z10,r71,z11,r5,rep(0, times=27)),c3 = c(seq(20,100,5),
             seq(15,95,5),seq(10,90,5),seq(5,85,5),seq(0,80,5),seq(-5,75,5),
             seq(-10,70,5),seq(-15,65,5),seq(-20,60,5),seq(-25,55,5),seq(-30,50,5),
             seq(-35,45,5),seq(-40,40,5),seq(-45,35,5),seq(-50,30,5),seq(-55,25,5),
             seq(-60,20,5)),c4 = rep(c(0,100), length=289),c5 = sample(r.gen, 289, 
             replace=TRUE))

# adding colors
my.data$Col1 <- rbPal(10)[as.numeric(cut(my.data$c1,breaks = 10))]
my.data$Col2 <- rbPal(10)[as.numeric(cut(my.data$c2,breaks = 10))]
my.data$Col3 <- rbPal(10)[as.numeric(cut(my.data$c3,breaks = 10))]
my.data$Col4 <- rbPal(10)[as.numeric(cut(my.data$c4,breaks = 10))]
my.data$Col5 <- rbPal(10)[as.numeric(cut(my.data$c5,breaks = 10))]

Tworzenie macierzy odległości geograficznych (dla Morana I jest odwrócone):

point.dists           <- dist(cbind(my.data$x, my.data$y))
point.dists.inv       <- 1/point.dists
point.dists.inv       <- as.matrix(point.dists.inv)
diag(point.dists.inv) <- 0

Tworzenie działki:

X11(width=12, height=6)
par(mfrow=c(2,5))
par(mar=c(1,1,1,1))

library(ape)
for (i in 3:7) {
  my.res <- mantel.test(as.matrix(dist(my.data[ ,i])), as.matrix(point.dists))
  plot(my.data$x,my.data$y,pch=20,col=my.data[ ,c(i+5)], cex=2.5, xlab="", 
       ylab="", xaxt="n", yaxt="n", ylim=c(-4.5,17))
  text(4.5, -2.25, paste("Mantel's test", "\n z.stat =", round(my.res$z.stat, 
   2), "\n p.value =", round(my.res$p, 3)))

  my.res <- Moran.I(my.data[ ,i], point.dists.inv)
  text(12.5, -2.25, paste("Moran's I", "\n observed =", round(my.res$observed, 
   3), "\n expected =",round(my.res$expected,3), "\n std.dev =", 
       round(my.res$sd,3), "\n p.value =", round(my.res$p.value, 3)))
}

par(mar=c(5,4,4,2)+0.1)

for (i in 3:7) {
  plot(dist(my.data[ ,i]), point.dists,pch = 20, xlab="geographical distance", 
       ylab="behavioural distance")
}

PS w przykładach na stronie internetowej pomocy UCLA, oba testy są stosowane na dokładnie tych samych danych i dokładnie na tej samej hipotezie, co nie jest zbyt pomocne (por. Test Mantela , I Morana ).

Odpowiedź na IM Napisałeś:

... to [Mantel] sprawdza, czy ciche wrony znajdują się w pobliżu innych cichych wron, podczas gdy hałaśliwe wrony mają hałaśliwych sąsiadów.

Myślę, że takiej hipotezy NIE można przetestować testem Mantela . Na obu wykresach hipoteza jest ważna. Ale jeśli przypuszczasz, że jedna grupa nie hałaśliwych wron może nie mieć wiedzy o istnieniu drugiej grupy nie hałaśliwych wron - test Mantels znów jest bezużyteczny. Takie rozdzielenie powinno być bardzo prawdopodobne z natury (głównie w przypadku gromadzenia danych na większą skalę).

wprowadź opis zdjęcia tutaj

Ladislav Naďo
źródło

Odpowiedzi:

19

Test Mantela i Morana odnoszą się do dwóch bardzo różnych koncepcji.

Powodem zastosowania I Morana jest kwestia autokorelacji przestrzennej: korelacja zmiennej ze sobą w przestrzeni. Korzystamy z I Morana, gdy chcemy wiedzieć, w jakim stopniu wystąpienie zdarzenia w jednostce powierzchniowej zwiększa prawdopodobieństwo lub jest mało prawdopodobne, że wystąpienie zdarzenia w sąsiedniej jednostce powierzchniowej. Innymi słowy (na twoim przykładzie): jeśli na drzewie jest głośna wrona, jak prawdopodobne lub mało prawdopodobne są inne głośne wrony w okolicy? Hipotezą zerową dla I Morana jest brak autokorelacji przestrzennej w zmiennej będącej przedmiotem zainteresowania.

Powodem zastosowania testu Mantela jest kwestia podobieństw lub różnic między zmiennymi. Stosuje się test Mantela, gdy chce się dowiedzieć, czy próbki, które są podobne pod względem zmiennych predykcyjnych (przestrzeni), są również podobne pod względem zmiennej zależnej (gatunkowej). Upraszczając: czy próbki, które są blisko siebie, są również podobne pod względem składu i czy próbki, które są od siebie oddalone przestrzennie, są również podobne pod względem składu? Na twoim przykładzie: sprawdza, czy ciche wrony znajdują się w pobliżu innych cichych wron, podczas gdy hałaśliwe wrony mają hałaśliwych sąsiadów. Hipoteza zerowa nie ma związku między lokalizacją przestrzenną a DV.
Poza tym częściowy test Mantela pozwala na porównanie dwóch zmiennych przy jednoczesnym kontrolowaniu trzeciej.
Na przykład, trzeba porównać test Mantela, aby porównać

  • Dwie grupy organizmów, które tworzą ten sam zestaw jednostek próbek;
  • Struktura społeczności przed i po zakłóceniach;
  • Odległość genetyczna / ekologiczna i odległość geograficzna.

Oto dobra dyskusja na temat testu Mantela i jego zastosowania.

(Edytowane w odpowiedzi na nowe przykłady Ladislava Nado)

Jeśli zgaduję, powodem tego zamieszania jest to, że ciągle myślisz o przestrzeni i hałasie w swoich przykładach albo o dwóch ciągłych zmiennych, albo o jednej macierzy odległości (pozycja w przestrzeni) i jednej zmiennej ciągłej (hałas). W rzeczywistości, aby przeanalizować podobieństwa między dwiema takimi zmiennymi, należy myśleć o obu z nich jak o matrycach odległości . To jest:

  • jedna macierz (na przykład dla przestrzeni) opisuje różnice dla każdej pary współrzędnych geograficznych. Wartość dla 2 wron siedzących obok siebie jest niższa niż wartość dla wron siedzących daleko od siebie;
  • inna matryca (dla struktury środowiskowej, genetycznej lub dowolnej innej) opisuje różnice między zmierzonymi wynikami w danych punktach. Wartość dla 2 wron z podobnym poziomem hałasu (nie ma znaczenia, czy są ciche czy hałaśliwe - to tylko miara podobieństwa!) Jest niższa niż wartość dla pary wron z innym poziomem hałasu.

Następnie test Mantela oblicza iloczyn krzyżowy odpowiednich wartości w tych dwóch macierzach. Chciałbym jeszcze raz podkreślić, że statystyka Mantela jest korelacją między dwiema macierzami odległości i nie jest równoważna korelacji między zmiennymi używanymi do tworzenia tych macierzy.

Teraz weźmy dwie struktury pokazane na zdjęciach A i B.
Na zdjęciu A odległość w każdej parze wron odpowiada podobieństwom w poziomie hałasu. Wrony z niewielkimi różnicami w poziomie hałasu (każda cicha wrona vs. kolejna cicha wrona, każda głośna wrona vs. kolejna głośna wrona) pozostają blisko, podczas gdy każda para wron z dużą różnicą w poziomie hałasu (cicha wrona kontra hałaśliwy kruk) trzymaj się od siebie z daleka. Test Mantela poprawnie pokazuje, że istnieje korelacja przestrzenna między dwiema matrycami.
Na zdjęciu B odległość między wronami jednak nieodpowiadają podobieństwom w poziomie hałasu. Podczas gdy wszystkie głośne wrony pozostają razem, ciche wrony mogą, ale nie muszą, być blisko. W rzeczywistości odległość w niektórych parach odmiennych wron (jedna cicha + jedna głośna) jest mniejsza niż odległość w przypadku niektórych par podobnych wron (gdy obie są ciche).
Na zdjęciu B nie ma dowodów, że jeśli badacz losowo wybierze dwie podobne wrony, byliby sąsiadami. Nie ma dowodów na to, że jeśli badacz losowo wybierze dwie sąsiednie (lub nie tak odległe) wrony, będą one podobne. Stąd początkowe twierdzenie, które On both plots the hypothesis validjest nieprawidłowe. Struktura jak na rysunku B nie wykazuje żadnej korelacji przestrzennej między dwiema macierzami i dlatego nie przejdzie testu Mantela.

Oczywiście w rzeczywistości istnieją różne typy struktur (z jednym lub więcej skupiskami podobnych obiektów lub bez wyraźnych granic skupień). Test Mantela jest doskonale przydatny i bardzo przydatny do testowania tego, co testuje. Jeśli mogę polecić inną dobrą lekturę, ten artykuł wykorzystuje prawdziwe dane i omawia test Morana I, test Geary'ego i test Mantela w dość prosty i zrozumiały sposób.

Mam nadzieję, że wszystko jest teraz nieco bardziej jasne; jednak mogę rozwinąć to wyjaśnienie, jeśli wydaje ci się, że wciąż czegoś brakuje.

IM
źródło
1
dziękuję za odpowiedź, ale myślę, że twoja hipoteza (prawdziwej hipotezy testu Mantela) nie jest przydatna w przypadku rzeczywistych danych. Dodaję moją odpowiedź powyżej, będę bardzo zadowolony, jeśli odpowiesz na nią. Może się mylę.
Ladislav Naďo
@Ladislav Nado Zaktualizowałem odpowiedź. W razie potrzeby nie wahaj się poprosić o dodatkowe wyjaśnienia.
IM
Wielkie dzięki, kiedy „przegryzałem” artykuły, które poleciłeś, w końcu zrozumiałem.
Ladislav Naďo,
1
@LadislavNado Świetnie! Cieszę się, że mogę pomóc.
IM