Cómo demostrar la cooperación a partir de secuencias de comportamiento


10

Situación: Dos pájaros (machos y hembras) protegen sus huevos en el nido contra un intruso. Cada ave puede usar ataque o amenaza para protección, y estar presente o ausente. De los datos surge un patrón que dice que el comportamiento puede ser complementario: los ataques masculinos mientras que las mujeres usan la visualización de amenazas y viceversa.

Mi pregunta es: ¿Cómo demostrar estadísticamente tal cooperación? ¿O alguien puede conocer algún estudio de comportamiento que se ocupe de un análisis similar? La gran mayoría de los análisis secuenciales que encontré se centran en el ADN.

ingrese la descripción de la imagen aquí

Aquí proporciono algunos datos ficticios , pero mi conjunto de datos original se compone de docenas de pares que se registraron exactamente 10 minutos mientras defendía su nido. La secuencia de comportamiento de cada ave tiene por lo tanto 600 estados de largo (cada segundo tiene estado). Estos datos más cortos deben contener un patrón similar al conjunto de datos completo.

male_seq <- rep(c("absent","present","attack","threat","present","attack",
                  "threat","present","attack","absent"),
                  times = c(3,4,8,2,6,3,2,6,2,1))

female_seq <- rep(c("absent","present","threat","present","threat","present",
                    "threat","attack","present","threat","attack","present",
                    "attack","threat","absent"),
                  times = c(2,6,2,1,2,1,1,3,5,3,1,3,3,2,2))

2
(+1) para preguntas bellamente ilustradas, bien formadas e interesantes.
Tim

1
¿Cómo entran las intrusiones reales en esto? ¿Cada secuencia corresponde a intervalos contiguos de 10 minutos, o solo a intervalos donde hay un intruso? ¿"Ausente" significa ausente del nido o ausente del área cuando ocurrió una intrusión?
Wayne

Hola @ wayne El intruso está presente desde el principio hasta el final (se presentó una marioneta ficticia de depredador en un palo a las aves que anidan durante 10 minutos). Ausente significa ausente del área de anidación: a veces los padres simplemente huyen (a veces regresan después de varios minutos).
Ladislav Naďo

OK, entonces cada cadena de cuadrados incluye la intrusión completa, y cada cuadrado adyacente describe un período contiguo de 10 minutos. Bueno. Ahora, ¿puedes aclarar lo que quieres decir con "cooperación"? ¿Te refieres a diferentes roles (amenaza versus ataque), o quieres decir compartir el deber de guardia (ausente / presente versus amenaza / ataque)?
Wayne

Por cooperación quiero decir "cuando el hombre está atacando, la mujer amenaza", y me gustaría probar esta hipótesis contra una alternativa: "cuando el hombre ataca, la mujer no prefiere hacer amenazas" (en otras palabras, el comportamiento de la mujer es independiente del comportamiento masculino).
Ladislav Naďo

Respuestas:


3

Publico una segunda respuesta desde tu último comentario

Por cooperación quiero decir "cuando el hombre está atacando, la mujer amenaza", y me gustaría probar esta hipótesis contra una alternativa: "cuando el hombre ataca, la mujer no prefiere hacer amenazas" (en otras palabras, el comportamiento de la mujer es independiente del comportamiento masculino).

es un cambio de juego. Parece que el problema puede abordarse desde una perspectiva totalmente diferente. Primero, solo le interesa una parte de su muestra cuando los machos atacan. En segundo lugar, está interesado si en tales casos las mujeres hacen golosinas con más frecuencia de lo que esperaríamos si las hicieran al azar. Para probar tal hipótesis, podemos usar una prueba de permutación: barajar aleatoriamente cualquiera male_seqo female_seq(no importa) y luego contar los casos donde male_seq == "attack"y female_seq == "treat"para obtener una distribución nula. Luego, compare el recuento obtenido de sus datos con los recuentos en la distribución nula para obtener el valor .pag

prmfun <- function() {
  sum(female_seq[sample(male_seq) == "attack"] == "threat")
}

mean(replicate(1e5, prmfun()) >= sum(female_seq[male_seq == "attack"] == "threat"))
## [1] 5e-05

Puede definir su estadística de prueba de manera diferente, en función de cómo define la "preferencia" de las mujeres. La prueba de permutación en este caso es una interpretación directa de su : "el comportamiento de la mujer es independiente del comportamiento masculino", lo que lleva a: "el comportamiento femenino es aleatorio dado el comportamiento masculino", por lo que los comportamientos se barajan aleatoriamente bajo .H0 0H0 0

Además, incluso si asumió que los comportamientos aparecen en grupos del mismo comportamiento repetido durante un período de tiempo, con la prueba de permutación puede mezclar grupos enteros:

female_rle <- rle(female_seq)
n_rle <- length(female_rle$values)

prmfun2 <- function() {
  ord <- sample(n_rle)
  sim_female_seq <- rep(female_rle$values[ord], female_rle$lengths[ord])
  sum(sim_female_seq[male_seq == "attack"] == "threat")
}

mean(replicate(1e5, prmfun2()) >= sum(female_seq[male_seq == "attack"] == "threat"))
## [1] 0.00257

En cualquiera de los casos, los patrones de cooperación en los datos que proporcionó parecen estar lejos de ser aleatorios. Tenga en cuenta que en ambos casos ignoramos la naturaleza autocorrelacionada de estos datos, estamos más bien preguntando: si seleccionamos un punto aleatorio en el tiempo cuando el hombre estaba atacando, ¿sería más o menos probable que las mujeres hicieran golosinas al mismo tiempo?

Como parece estar hablando de causalidad ("cuándo ... entonces"), mientras realiza la prueba de permutación, puede estar interesado en comparar el comportamiento de los hombres en el tiempo con el comportamiento de las mujeres en el momento (cuál fue la "reacción" de las mujeres a comportamiento masculino?), pero esto es algo que tienes que preguntarte. Las pruebas de permutación son flexibles y se pueden adaptar fácilmente al tipo de problemas que parece estar describiendo.t-1t


2

XYXYtXt-1,yoXt,jXt-1tyojX Y

Pr(Xt-1,yoXt,j)=Pr(Xt,j|Xt1,i,Yt1,k)Pr(Yt1,hYt,k)=Pr(Yt,hEl |Yt-1,k,Xt-1,yo)

Las probabilidades de transición se pueden calcular fácilmente contando historias de transición y normalizando las probabilidades después:

states <- c("absent", "present", "attack", "threat")
# data is stored in 3-dimensional array, initialized with
# a very small "default" non-zero count to avoid zeros.
female_counts <- male_counts <- array(1e-16, c(4,4,4), list(states, states, states))
n <- length(male_seq)

for (i in 1:n) {
  male_counts[female_seq[i-1], male_seq[i-1], male_seq[i]] <- male_counts[female_seq[i-1], male_seq[i-1], male_seq[i]] + 1
  female_counts[male_seq[i-1], female_seq[i-1], female_seq[i]] <- female_counts[male_seq[i-1], female_seq[i-1], female_seq[i]] + 1
}

male_counts/sum(male_counts)
female_counts/sum(female_counts)

También se puede simular fácilmente usando probabilidades marginales:

male_sim <- female_sim <- "absent"

for (i in 2:nsim) {
  male_sim[i] <- sample(states, 1, prob = male_counts[female_sim[i-1], male_sim[i-1], ])
  female_sim[i] <- sample(states, 1, prob = female_counts[male_sim[i-1], female_sim[i-1], ])
}

El resultado de dicha simulación se representa a continuación.

ingrese la descripción de la imagen aquí

Además, se puede usar para hacer predicciones de un paso adelante:

male_pred <- female_pred <- NULL

for (i in 2:n) {
  curr_m <- male_counts[female_seq[i-1], male_seq[i-1], ]
  curr_f <- female_counts[male_seq[i-1], female_seq[i-1], ]
  male_pred[i] <- sample(names(curr_m)[curr_m == max(curr_m)], 1)
  female_pred[i] <- sample(names(curr_f)[curr_f == max(curr_f)], 1)
}

con 69-86% de precisión en los datos que proporcionó:

> mean(male_seq == male_pred, na.rm = TRUE)
[1] 0.8611111
> mean(female_seq == female_pred, na.rm = TRUE)
[1] 0.6944444

Si las transiciones ocurrieran al azar, las probabilidades de transición seguirían una distribución uniforme discreta. Esto no es una prueba , pero puede servir como una forma de pensar acerca de sus datos utilizando un modelo simple.


Parece que está asumiendo que la alternativa a la cooperación es algún tipo de respuesta aleatoria. Pude ver que la alternativa es una respuesta no coordinada, que podría estar preprogramada. Por ejemplo, un pájaro vuela en círculos. Entonces, cuando un compañero está tratando con el intruso, el círculo es más grande. Entonces tratan con el intruso uno tras otro, sin cooperación per se, pero esperando hasta que uno termine.
Aksakal

@Aksakal, pero la pregunta es sobre las interacciones y lo que estás describiendo es un tipo de interacción. (No argumento que este modelo simplista sea correcto.)
Tim

Estoy de acuerdo, que OP no está claro si está buscando algún tipo de patrón regular o específicamente "cooperación". Yo diría que cuando tres pájaros vuelan en el mismo espacio, debe surgir algún tipo de patrón de comportamiento. Creo que la "cooperación" implica más que solo un patrón. De lo contrario, se podría decir que es una cooperación de tres vías, con el intruso cooperando también en algún sentido.
Aksakal

@ Aksakal, podría tener razón, pero si estos datos consisten solo en los cuatro estados observados en el tiempo, entonces el tipo de modelo simplista que propuse puede servir como punto de partida.
Tim
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.