Tengo una base de datos de eventos (es decir, una variable de fechas) y covariables asociadas.
Los eventos son generados por el proceso no estacionario de Poisson con parámetros que son una función desconocida (pero posiblemente lineal) de algunas covariables.
Creo que el paquete NHPoisson existe solo para este propósito; pero después de 15 horas de investigación sin éxito todavía no estoy cerca de saber cómo usarlo.
Diablos, incluso intenté leer los dos libros de referencia: Coles, S. (2001). Una introducción al modelado estadístico de valores extremos. Saltador. Casella, G. y Berger, RL, (2002). Inferencia estadística. Brooks / Cole.
El único ejemplo en la documentación de fitPP.fun no parece ajustarse a mi configuración; ¡No tengo valores extremos! Solo tengo eventos desnudos.
¿Alguien puede ayudarme con un ejemplo simple de ajustar un proceso de Poisson con el parámetro con una sola covariable y suponer que ? Estoy interesado en la estimación de y . Proporciono un conjunto de datos de dos columnas con tiempos de eventos (digamos, medidos en segundos después de un tiempo arbitrario ) y otra columna con valores de la covariable ?
fuente
Respuestas:
Ajuste de un proceso estacionario de Poisson
En primer lugar, es importante darse cuenta de qué tipo de datos de entrada necesita NHPoisson.
Ante todo, NHPoisson necesita una lista de índices de momentos de eventos. Si registramos el intervalo de tiempo y el número de eventos en el intervalo de tiempo, entonces debemos traducirlo en una sola columna de fechas, posiblemente "difuminando" las fechas durante el intervalo en el que se registran.
Por simplicidad, supondré que usamos el tiempo medido en segundos y que el "segundo" es la unidad natural de .λ
Simulemos datos para un proceso de Poisson simple y estacionario, que tiene eventos por minuto:λ = 1
El
simNHP.fun
hace la simulación. Usamos para obteneraux$posNH
, una variable con índices de momentos de disparo de eventos simulados. Podemos ver que aproximadamente tenemos 60 * 24 = 1440 eventos, marcando `length (aux $ posNH).fitPP.fun
fitPP
Entonces, de hecho, lo que hacemos es aproximar el proceso de Poisson con una secuencia granular de eventos binomiales, cada evento abarca exactamente una unidad de tiempo, en analogía con el mecanismo en el que la distribución de Poisson puede verse como un límite de distribución binomial en la ley de eventos raros .
Una vez que lo entendemos, el resto es mucho más simple (al menos para mí).
beta
exp(coef(out)[1])
NHPoisson
Ajuste de un proceso de Poisson no estacionario
NHPoisson
Se adapta al siguiente modelo:Ahora preparemos el proceso de Poisson no estacionario.
Al igual que antes,
aux$posNH
nos daría índices de eventos, pero esta vez notaremos que la intensidad de los eventos disminuye exponencialmente con el tiempo. Y la tasa de esta disminución es un parámetro que queremos estimar.Es importante tener en cuenta que debemos ponerlo
all.seconds
como una covariable, nolambdas
. La exponenciación / logaritmización se realiza internamente por elfitPP.fun
. Por cierto, aparte de los valores pronosticados, la función crea dos gráficos por defecto.La última pieza es una función navaja suiza para la validación del modelo
globalval.fun
.Entre otras cosas, la función divide el tiempo en intervalos, cada
lint
muestra es larga, por lo que es posible crear gráficos brutos que comparan la intensidad predicha con la intensidad observada.fuente