Perché il test di Mantel è preferito a me di Moran?


37

Il test di Mantel è ampiamente utilizzato negli studi biologici per esaminare la correlazione tra la distribuzione spaziale degli animali (posizione nello spazio) con, ad esempio, la loro relazione genetica, il tasso di aggressività o qualche altro attributo. Molte buone riviste lo stanno utilizzando ( PNAS, comportamento animale, ecologia molecolare ... ).

Ho fabbricato alcuni schemi che possono verificarsi in natura, ma il test di Mantel sembra essere abbastanza inutile per rilevarli. D'altra parte, Moran ha ottenuto risultati migliori (vedi i valori p sotto ogni trama) .

Perché invece gli scienziati non usano Moran's I? C'è qualche motivo nascosto che non vedo? E se c'è qualche motivo, come posso sapere (come le ipotesi devono essere costruite in modo diverso) per usare in modo appropriato il test di Mantel o di Moran I? Un esempio di vita reale sarà utile.

Immagina questa situazione: c'è un frutteto (17 x 17 alberi) con un corvo seduto su ogni albero. Sono disponibili livelli di "rumore" per ogni corvo e si desidera sapere se la distribuzione spaziale dei corvi è determinata dal rumore che producono.

Ci sono (almeno) 5 possibilità:

  1. "Dio li fa e poi li accoppia." Più corvi simili sono, minore è la distanza geografica tra loro (singolo ammasso) .

  2. "Dio li fa e poi li accoppia." Ancora una volta, più corvi simili sono, minore è la distanza geografica tra di loro (più cluster), ma un gruppo di corvi rumorosi non ha conoscenza dell'esistenza del secondo gruppo (altrimenti si fonderebbero in un grande gruppo).

  3. "Tendenza monotona."

  4. "Gli opposti si attraggono." Corvi simili non possono sopportarsi a vicenda.

  5. "Modello casuale." Il livello di rumore non ha effetti significativi sulla distribuzione spaziale.

Per ogni caso, ho creato una trama di punti e usato il test di Mantel per calcolare una correlazione (non sorprende che i suoi risultati non siano significativi, non proverei mai a trovare un'associazione lineare tra tali schemi di punti).

inserisci qui la descrizione dell'immagine


Dati di esempio: (compresso il più possibile)

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))]

Creare una matrice di distanze geografiche (per Moran's I è inverso):

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

Creazione del grafico:

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 negli esempi sul sito Web di aiuto delle statistiche dell'UCLA, entrambi i test sono utilizzati sugli stessi stessi dati e sulla stessa identica ipotesi, il che non è molto utile (cfr. Test di Mantel , I di Moran ).

Risposta all'IM Hai scritto:

... [Mantel] verifica se i corvi tranquilli si trovano vicino ad altri corvi silenziosi, mentre i corvi rumorosi hanno vicini rumorosi.

Penso che tale ipotesi NON possa essere verificata dal test di Mantel . Su entrambe le trame l'ipotesi è valida. Ma se supponi che un gruppo di corvi non rumorosi possa non avere conoscenza dell'esistenza del secondo gruppo di corvi non rumorosi, il test di Mantels è di nuovo inutile. Tale separazione dovrebbe essere molto probabile in natura (soprattutto quando si esegue la raccolta di dati su larga scala).

inserisci qui la descrizione dell'immagine

Risposte:


19

Mantel test e Moran's mi riferisco a due concetti molto diversi.

La ragione per usare l'I di Moran è la questione dell'autocorrelazione spaziale: correlazione di una variabile con se stessa attraverso lo spazio. Uno usa Moran's I quando vuole sapere fino a che punto il verificarsi di un evento in un'unità areale rende più probabile o improbabile il verificarsi di un evento in un'unità areale confinante. In altre parole (usando il tuo esempio): se c'è un corvo rumoroso su un albero, quanto sono probabili o improbabili altri corvi rumorosi nel vicinato? L'ipotesi nulla per l'Io di Moran non è autocorrelazione spaziale nella variabile di interesse.

La ragione per usare il test di Mantel è la questione delle somiglianze o delle differenze tra le variabili. Uno usa il test di Mantel quando vuole sapere se campioni che sono simili in termini di variabili predittive (spazio) tendono anche ad essere simili in termini di variabile dipendente (specie). Per dirla semplicemente: i campioni vicini tra loro sono anche simili dal punto di vista compositivo e anche i campioni spazialmente distanti tra loro sono anche diversi dal punto di vista compositivo? Usando il tuo esempio: verifica se i corvi silenziosi si trovano vicino ad altri corvi silenziosi, mentre i corvi rumorosi hanno vicini rumorosi. L'ipotesi nulla non è una relazione tra posizione spaziale e DV.
Oltre a questo, il test parziale di Mantel consente di confrontare due variabili mentre ne controlla una terza.
Ad esempio, uno ha bisogno del test di Mantel quando si confronta

  • Due gruppi di organismi, che formano lo stesso insieme di unità campione;
  • Struttura comunitaria prima e dopo il disturbo;
  • Distanza genetica / ecologica e distanza geografica.

Ecco una buona discussione sul test di Mantel e sulla sua applicazione.

(Modificato in risposta ai nuovi esempi di Ladislav Nado)

Se posso indovinare, la ragione della tua confusione è che continui a pensare allo spazio e al rumore nei tuoi esempi sia come due variabili continue, sia come una matrice di distanza (posizione nello spazio) e una variabile continua (rumore). In effetti, per analizzare le somiglianze tra due di tali variabili, si dovrebbe pensare a entrambe come matrici di distanza . Questo è:

  • una matrice (ad esempio, per lo spazio) descrive le differenze per ciascuna coppia di coordinate geografiche. Il valore per 2 corvi seduti uno accanto all'altro è inferiore al valore per i corvi seduti molto distanti;
  • un'altra matrice (per ambiente, genetica o qualsiasi altra struttura) descrive le differenze tra i risultati misurati in determinati punti. Il valore per 2 corvi con un livello di rumore simile (non importa se sono silenziosi o rumorosi - è solo una misura di somiglianza!) È inferiore al valore per una coppia di corvi con livelli di rumore diversi.

Quindi il test di Mantel calcola il prodotto incrociato dei valori corrispondenti in queste due matrici. Vorrei sottolineare ancora una volta che la statistica Mantel è la correlazione tra due matrici a distanza e non equivale alla correlazione tra le variabili , utilizzata per formare quelle matrici.

Ora prendiamo due strutture che hai mostrato nelle figure A e B.
Nella figura A, la distanza in ogni coppia di corvi corrisponde alle somiglianze nel loro livello di rumore. I corvi con piccole differenze nel loro livello di rumore (ogni corvo silenzioso rispetto a un altro corvo silenzioso, ogni corvo rumoroso contro un altro corvo rumoroso) rimangono vicini, mentre ogni coppia di corvi con una grande differenza nel loro livello di rumore (un corvo silenzioso contro un corvo rumoroso) stare lontano l'uno dall'altro. Il test di Mantel mostra correttamente che esiste una correlazione spaziale tra le due matrici.
Nella figura B, tuttavia, la distanza tra i corvi nocorrispondono alle somiglianze nel loro livello di rumore. Mentre tutti i corvi rumorosi stanno insieme, i corvi silenziosi possono o meno stare vicini. In effetti, la distanza in alcune coppie di corvi diversi (uno silenzioso + uno rumoroso) è inferiore alla distanza di alcune coppie di corvi simili (quando entrambi sono silenziosi).
Non ci sono prove nella figura B che se un ricercatore raccoglie due corvi simili a caso, sarebbero vicini. Non ci sono prove che se un ricercatore raccoglie due corvi vicini (o non così distanti) a caso, sarebbero simili. Quindi, l'affermazione iniziale On both plots the hypothesis validnon è corretta. La struttura come nella figura B non mostra alcuna correlazione spaziale tra le due matrici e di conseguenza non supera il test di Mantel.

Naturalmente, in realtà esistono diversi tipi di strutture (con uno o più gruppi di oggetti simili o senza bordi di cluster chiari). E il test Mantel è perfettamente applicabile e molto utile per testare ciò che verifica. Se posso raccomandare un'altra buona lettura, questo articolo utilizza dati reali e discute I di Moran, Geary c e il test di Mantel in termini abbastanza semplici e comprensibili.

Spero che tutto sia leggermente più chiaro ora; tuttavia, posso ampliare questa spiegazione se ritieni che manchi ancora qualcosa.


1
grazie per la risposta, ma penso che l'ipotesi che scrivi (dell'ipotesi del test di Mantel nella vita reale) non sia utile con i dati della vita reale. Aggiungo la mia risposta a te sopra, sarò molto contento se la tua risposta su di essa. Forse mi sbaglio.
Ladislav Naďo,

@Ladislav Nado Ho aggiornato la risposta. Non esitate a chiedere ulteriori spiegazioni, se necessario.
IM

Molte grazie, quando ho "sfogliato" gli articoli che mi hai consigliato, ho finalmente capito.
Ladislav Naďo,

1
@LadislavNado Great! Felice di essere di aiuto.
IM
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.