Hasta ahora, no hemos considerado el modelo que se ha demostrado, una y otra vez, para ser el necesario debido a la presencia de la heterogeneidad individual en las probabilidades de captura. Este es el modelo de heterogeneidad o Mh, y fue parte del a arquitectura original de Otis et al. (1978). Sin embargo, el modelo Mh original se basó en un procedimiento de la navaja de bolsillo y no implica un riesgo, por lo que no se puede comparar con otros modelos a través de la AIC.
Los programas MARK y RMARK en lugar utilizan una aproximación de verosimilitud basada en las mezclas finitas. Este modelo specifiy que los animales están compuestos de 2 o más (usaremos 2) grupos, uno con una probabilidad más grande y la otra una de probabilidad de captura más pequeño. Un parámetro adicional pi especifica la probabilidad de que un animal es un miembro de cada grupo. Estos modelos de mezcla requieren invocación de una nueva clase de modelos (Het o FullHet).
Vamos a utilizar la clase Full Hetergeneity, que permite que los modelos que combinan variación individual (h), de comportamiento (b) y el tiempo (t) . Crearemos 3 modelos de mezcla que impliquen la heterogeneidad individual solamente (h), con la presencia del tiempo (t) y con el comportamiento (bh); para la comparación también vamos a mirar algunos modelos dentro de la clase FullHet que eliminan el efecto de la mezcla (para que podamos comparar AIC) valores. Por ejemplo el modelo Mh produce
>>pdotmixture=list(formula=~mixture,share=TRUE)
>>ee.closed.Mh=mark(edwards.eberhardt,model="FullHet",model.parameters=list(p=pdotmixture))
> ee.closed.Mh$results$real
estimate se lcl ucl fixed note
pi g1 m1 0.1547609 0.0783461 0.0535734 0.3719561
p g1 t1 m1 0.1795148 0.0487417 0.1026380 0.2950412
p g1 t1 m2 0.0360236 0.0196284 0.0121914 0.1016496
N g1 135.4770100 36.6027490 95.5863800 256.6109600
>
> ee.closed.Mh$results$AICc
[1] 369.6449
Se consideran 6 modelos a continuación (los modelos de heterogeneidad originales 3 plus 3):
> ee.results
model npar AICc DeltaAICc weight
6 pi(~1)p(~time + mixture)c()N(~1) 21 343.2755 0.00000 9.965298e-01
5 pi(~1)p(~time)c()N(~1) 19 354.5968 11.32123 3.468299e-03
4 pi(~1)p(~mixture)c()N(~1) 4 369.6449 26.36932 1.872688e-06
1 pi(~1)p(~1)c()N(~1) 2 379.6029 36.32739 1.288538e-08
2 pi(~1)p(~1)c(~1)N(~1) 3 381.5498 38.27425 4.867917e-09
3 pi(~1)p(~mixture)c(~1)N(~1) 5 385.4574 42.18184 6.899525e-10
> N<-subset(avg,par.index==72)
> Nhat<-N$estimate+nmarked
> seN<-N$se
> print("Model averaged N and se")
[1] "Model averaged N and se"
> Nhat
[1] 132.2824
> seN
[1] 33.53412
El modelo mejor clasificado ahora involucra tanto el tiempo como la heterogeneidad; además, el estimado del modelo promediada es ahora 132.28. Nota aunque que la bastante grande error estándar incondicional ; esto refleja el hecho de que hay un poco de variación en los estimados de N entre los modelos (a pesar de que la mayor parte del peso está en el modelo más alto).
El código de R crea la función definida por el usuario para ejecutar los ejemplos anteriores y llamar a un procedimiento modelo promediado incorporado para la no mezcla y mezcla conjunto de modelos. El código también crea los archivos de entrada que pueden ser leídos por MARK, para los usuarios que prefieren operar en el GUI de MARK.
Por último, la aproximación de mezclas finitas para hacer frente a la heterogeneidad tiene unas dificultades, y muchas veces no funciona bien con los datos de campo. A veces, la heterogeneidad de p puede ser descrito y predicho por atributos mensurables de los individuos, en cuyo caso los modelos de covarianza individuales son preferibles. Vamos a volver a los modelos de covarianza en algunos otros laboratorios, pero proporcionará un ejemplo donde se utiliza una covariable para modelar con éxito la heterogeneidad.
Notas adicionales
Tenga en cuenta que el objeto de ee.results anteriormente contiene todos los resultados de los modelos individuales, un característica general de este tipo de "función colectiva». El comando summary(ee.results) proporciona una lista rápida de los modelos que se han ejecutado y el comando ee.results da la tabla de AIC para todos los modelos de ejecución. Usted puede encontrar más información sobre el contenido de esta (u otros objetos R) por el comando
>attributes(ee.results)
Puede profundizar más en el objeto y obtener atributos de estos sub-objetos, por ejemplo,
> ee.results$ee.closed.Mt$results
te llevará a detalles para el modelo Mt ejecutar antes, y
>ee.results$ee.closed.Mt$results$AICc
da un resultado particular - es decir, el valor AIc corregido para el modelo.
Se puede escribir código en R para sacar los valores de AIC, calcular los pesos de modelo, y realizar tareas como modelo de promedios. Sin embargo, nuestro amigo Jeff Laake ha escrito amablemente algunas funciones muy útiles para llevar a cabo este tipo de tareas para usted, que lee en todos los resultados en los ee.results objeto y produce un promedio de las estimaciones del modelo.
>U<-model.average(ee.results,"N")
>#this is actually the estimate of the number of UNMARKED animals in the population!
>#Add known number of marked animals to this to get Nhat
>nmarked<-nrow(edwards.eberhardt)
>Nhat<-U$estimate+nmarked
>seN<-N$se
print("Model averaged N and se")
Nhat
seN
[1] 132.2824
> seN
[1] 33.53412
Comparación entre RMark y MARK usando el ejemplo Edwards Eberhardt (en inglés, solo para referencia)
Siguiente: Incorporación de grupos y covariables