4 votos

¿Cómo puedo ajustar un modelo de Poisson inflado a cero con sólo el desplazamiento (sin coeficientes)?

Ya tengo una lambda estimada de Poisson, y el resultado real y y me gustaría ver si el modelo es bueno.

Para empezar, compruebo si la dispersión está bien.

glm(y ~ 0, offset=log(lambda), data=data, family=quasipoisson)

Y luego me gustaría ver si hay un factor de inflación cero utilizando pscl paquete.

zeroinfl(y ~ 1, offset=log(lambda), data=data ,dist="poisson")

Sin embargo, no soy capaz de hacerlo:

zeroinfl(y ~ 0, offset=log(lambda), data=data ,dist="poisson")

Al introducir una intercepción, es probable que interfiera con el estimador de cero, por lo que no queda claro si hay alguna inflación cero (y de qué magnitud) en el modelo original.

¿Es posible tener 0 parámetros estimados (además de ceros)?

7voto

bheklilr Puntos 113

En realidad, tu segunda línea sigue funcionando - sólo anula tu entrada $\lambda$ con una estimación de $\lambda$ . A menos que tenga una buena razón para creer que su aportación $\lambda$ es más precisa que la estimación que se realiza mediante zeroinfl yo lo dejaría.

Por otro lado, si eres realmente firme en el uso de la entrada $\lambda$ La forma de comprobar la existencia de un factor de inflación cero consiste en comparar el número de ceros observado con el número de ceros esperado dado $\lambda$ . Puede hacer una prueba de significación estándar para esto, o simplemente utilizar la diferencia dividida por el tamaño de la muestra como una estimación del factor de inflación cero:

lambda <- 2
p_zero <- 0.2
x = rpois(1000, lambda) * rbinom(1000, 1, 1-p_zero)

expected_zero <- exp(-lambda)
observed_zero <- mean(x==0)
> expected_zero
[1] 0.1353353
> observed_zero
[1] 0.33

y la diferencia de 0,1946647 sería su estimación del factor de inflación cero dada su estimación de $\lambda$ .

La prueba de significación en este caso puede realizarse utilizando la aproximación normal habitual a la distribución de proporciones para comparar las frecuencias observadas y esperadas de ceros:

> zstat <- (observed_zero-expected_zero) / sqrt(expected_zero*(1-expected_zero)/length(x))
> zstat
[1] 17.99525
> pnorm(zstat)
[1] 1

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X