Eu tenho um banco de dados de eventos (ou seja, uma variável de datas) e covariáveis associadas.
Os eventos são gerados pelo processo Poisson não estacionário, com o parâmetro sendo uma função desconhecida (mas possivelmente linear) de algumas covariáveis.
Eu acho que o pacote NHPoisson existe apenas para esse fim; mas, após 15 horas de pesquisa malsucedida, ainda não estou nem perto de saber como usá-la.
Heck, eu até tentei ler os dois livros referenciados: Coles, S. (2001). Uma introdução à modelagem estatística de valores extremos. Springer. Casella, G. e Berger, RL, (2002). Inferência estatística. Brooks / Cole.
O único exemplo na documentação do fitPP.fun não parece se encaixar na minha configuração; Eu não tenho valores extremos! Eu só tenho eventos simples.
Alguém pode me ajudar com um exemplo simples de ajuste de um processo de Poisson com o parâmetro com covariável único X e suposição de que λ = λ 0 + α ⋅ X ? Estou interessado na estimativa de λ 0 e α . Eu forneço um conjunto de dados de duas colunas com tempos de eventos (digamos, medidos em segundos após algum tempo arbitrário t 0 ) e outra coluna com valores da covariável X ?
fonte
Respostas:
Ajustando um processo estacionário de Poisson
Antes de tudo, é importante perceber que tipo de dados de entrada o NHPoisson precisa.
Em primeiro lugar, o NHPoisson precisa de uma lista de índices de momentos do evento. Se registrarmos o intervalo de tempo e o número de eventos no intervalo de tempo, então devemos traduzi-lo em uma única coluna de datas, possivelmente "manchando" as datas no intervalo em que estão gravadas.
Pela simplicidade, assumirei que usamos o tempo medido em segundos e que o "segundo" é a unidade natural de .λ
Vamos simular dados para um processo Poisson simples e estacionário, que possui eventos por minuto:λ=1
O
simNHP.fun
faz a simulação. Usamos getaux$posNH
, uma variável com índices de momentos de disparo simulado de eventos. Podemos ver que temos aproximadamente 60 * 24 = 1440 eventos, verificando `length (aux $ posNH).fitPP.fun
fitPP
Então, o que fazemos de fato é que aproximamos o processo de Poisson com uma sequência granular de eventos binomiais, cada evento abrange exatamente uma unidade de tempo, em analogia ao mecanismo pelo qual a distribuição de Poisson pode ser vista como um limite da distribuição binomial na lei de eventos raros .
Uma vez que entendemos, o resto é muito mais simples (pelo menos para mim).
beta
exp(coef(out)[1])
NHPoisson
Ajustando um processo Poisson não estacionário
NHPoisson
se encaixa no seguinte modelo:Agora vamos preparar o processo Poisson não estacionário.
Assim como antes,
aux$posNH
nos daria índices de eventos, mas desta vez perceberemos que a intensidade dos eventos diminui exponencialmente com o tempo. E a taxa dessa diminuição é um parâmetro que queremos estimar.É importante notar que precisamos colocar
all.seconds
como covariável, nãolambdas
. A exponenciação / logaritmização é feita internamente pelofitPP.fun
. Aliás, além dos valores previstos, a função cria dois gráficos por padrão.A última peça é uma função de faca suíça para validação de modelo
globalval.fun
,.Entre outras coisas, a função divide o tempo em intervalos, cada uma das
lint
amostras, para que seja possível criar gráficos brutos que comparem a intensidade prevista com a intensidade observada.fonte