Como detectar uma alteração significativa nos dados de séries temporais devido a uma alteração na "política"?

15

Espero que este seja o lugar certo para postar isso, considerei publicá-lo nos céticos, mas acho que eles diriam que o estudo estava estatisticamente errado. Estou curioso sobre o outro lado da questão, que é como fazê-lo corretamente.

No site Quantified Self , o autor publicou os resultados de um experimento de algumas métricas de produção medidas sobre si mesmo ao longo do tempo e comparadas antes e depois de parar abruptamente de tomar café. Os resultados foram avaliados subjetivamente e o autor acreditava ter evidências de que havia uma mudança na série temporal e que estava relacionado à mudança na política (beber café)

O que isso me lembra são os modelos da economia. Nós temos apenas uma economia (com a qual nos preocupamos no momento), portanto, os economistas estão frequentemente fazendo essencialmente n = 1 experimentos. Os dados são quase certamente autocorrelacionados ao longo do tempo por causa disso. Os economistas geralmente estão assistindo, diz o Fed, ao iniciar uma política e tentando decidir se a série temporal mudou, potencialmente por conta da política.

Qual é o teste apropriado para determinar se a série temporal aumentou ou diminuiu com base nos dados? De quantos dados eu precisaria? Quais ferramentas existem? Minha pesquisa inicial sugere os modelos de séries temporais de troca de Markov, mas não minhas habilidades de pesquisa falham em ajudar a fazer qualquer coisa com apenas o nome da técnica.

MatthewMartin
fonte

Respostas:

4

O artigo Box-Tiao referido por Jason foi baseado em uma mudança de lei conhecida. A questão aqui é como detectar o ponto no tempo. A resposta é usar o procedimento de Tsay para detectar intervenções, sejam pulsos, turnos de nível, pulsos sazonais e / ou tendências da hora local.

IrishStat
fonte
1

Examinando algumas notas antigas sobre quebras estruturais, tenho estas duas citações:

Enders, "Série Econômica Aplicada", 2ª edição, cap. 5)

Enders discute intervenções, funções de pulso, funções de mudança gradual, funções de transferência etc. Este artigo também pode ser útil:

Box, GEP e GC Tiao. 1975. "Intervention Analysis with Applications to Economic and Environmental Problems". Jornal da American Statistical Association 70: 70-79.

Jason Morgan
fonte
1

Você não poderia simplesmente usar um modelo de ponto de mudança e tentar identificar o ponto de mudança usando um algoritmo MCMC como o Gibbs Sampling?

Isso deve ser relativamente simples de implementar, desde que você tenha algumas distribuições anteriores para seus dados ou a distorção condicional completa (para Gibbs).

Você pode encontrar uma visão geral rápida aqui

Berk U.
fonte
1

Se você estava considerando todos os pontos no tempo como candidatos a pontos de mudança (também conhecidos como pontos de interrupção, também conhecidos como mudança estrutural), a mudança pacote é uma ótima opção.

Parece que em seu cenário específico, há apenas um ponto no tempo candidato. Nesse caso, várias opções rápidas vêm à mente:

  1. Teste T: teste t nas horas de concentração por dia nos períodos "antes de sair" vs. "depois de sair". Se você está preocupado com a correlação diária, você pode desistir de algumas observações para ter intervalos longos o suficiente para acreditar que os dias não estão mais correlacionados. Com essa abordagem, você estará trocando energia com simplicidade.
  2. AR: Ajuste um modelo de AR com um manequim: "depois de sair". Se o preditor for significativo, você terá uma alteração. Usando um AR, capturará a (possível) dependência entre dias.
JohnRos
fonte
: John A idéia é que você não conheça o "ponto candidato no tempo", mas queira encontrá-lo analiticamente, talvez por literalmente centenas de séries temporais. O "exame oftalmológico" para determinar esse candidato em geral é deficiente, pois os pulsos únicos e a estrutura ARIMA subjacente ocluem. Métodos de detecção de intervenção à la R. Rsay ou George Tiao, procurando uma mudança desconhecida de LEVEL / STEP, na verdade, constroem a variável que você descreve (a manequim com zeros seguida de 1). Deve-se tomar cuidado para considerar a identificação das intervenções primeiro e, em seguida, o componente ARIMA e vice-versa.
IrishStat
@IrishStat: no Blog mencionado, o ponto de mudança é conhecido. Para os casos em que não é, o pacote R do strucchange foi referenciado.
31411 JohnRos
: John Da documentação de struchange "Finalmente, os pontos de interrupção nos modelos de regressão com alterações estruturais podem ser estimados" usando o método CHOW com o qual eu estou intimamente familiarizado.Testar ou encontrar pontos de interrupção nos coeficientes de regressão requer uma especificação do modelo de regressão e se estou corrigir isso não tem nada a ver com responder à pergunta "teste para determinar se a série temporal aumentou ou diminuiu com base nos dados?". Acho que sua recomendação é insuficiente para responder à pergunta do OP. Sua recomendação responde a uma perguntaEu não ' Não acredito que foi perguntado.
IrishStat
: john Isso é verdade, mas trivial, pois modelos com apenas uma interceptação são encontrados apenas em livros didáticos ou em sonhos.
IrishStat
@IrishStat: é verdade que o quadro de mudanças estruturais é mais geral. Contudo, a detecção de um aumento ou diminuição dos "dados" pode ser feita ajustando-se a um modelo somente de interceptação.
31911 JohnRos
1

Alguns anos atrás, ouvi uma palestra de uma estudante de graduação, Stacey Hancock , durante uma reunião local do capítulo da ASA e foi sobre "estimativa de quebra estrutural" de séries temporais. A conversa foi realmente interessante e eu conversei com ela depois, e ela estava trabalhando com Richard Davis (de Brockwell-Davis ), então na Colorado State University, agora em Columbia. A palestra foi uma extensão de Davis et al. trabalho em um artigo da JASA de 2006 chamado Estimação de ruptura estrutural para modelos de séries temporais não estacionárias , disponível gratuitamente aqui .

Davis tem uma implementação de software do método que ele chama de Auto-PARM, que ele transformou em um executável do Windows. Se você entrar em contato com ele, poderá obter uma cópia. Eu tenho uma cópia e aqui está o exemplo de saída em uma série temporal de 1.200 observações:

    ============== RESULTS ===============
  ISLAND           1
    SC=   1910.58314770669
    Breaking point/AR order
           1              1
         351              1
         612              3
    ======================================
 Total time:   5.812500

Portanto, a série é AR (1) no início; na observação 351, o processo AR (1) muda para outro processo AR (1) (você pode obter os parâmetros) e, na observação 612, o processo muda para AR (3) .

Uma configuração interessante em que experimentei o Auto-PARM foi analisar os dados semanais de retirada de caixas eletrônicos que faziam parte da competição NN5 . Lembro-me do algoritmo que encontrou quebras estruturais no final de novembro de um determinado ano, por exemplo, o início da temporada de compras de fim de ano nos EUA.

Então, como usar esse algoritmo através de implementações existentes? Bem, novamente, você pode entrar em contato com Davis e ver se consegue executar o Windows. Quando eu estava na Rogue Wave Software, trabalhei com Davis para obter o Auto-PARM nas bibliotecas numéricas IMSL. O primeiro idioma para o qual foi portado foi o Fortran , onde é chamado Auto_PARM, e suspeito que o Rogue Wave lançará uma porta C em breve, com as portas Python, C # e Java a seguir.

Josh Hemann
fonte
: Josh, o OP não estava, na minha opinião, referindo-se à hipótese de teste de constância do parâmetro do modelo, no seu caso em que um AR (3) possui parâmetros constantes ao longo do tempo. Ele acredita ser interessante na detecção de uma mudança até então desconhecida na média dos resíduos.
IrishStat
mods: O OP não estava, na minha opinião, referindo-se à hipótese de teste de constância dos parâmetros do modelo, no seu caso, se um AR (3) possui parâmetros constantes ao longo do tempo.Eu acredito que esteja interessado em detectar uma mudança até então desconhecida Esse é um problema bem diferente daquele a que você se referiu. Agora, concordo plenamente que, na ausência de Detecção de Intervenção na média dos resíduos, pode-se encontrar um ponto no tempo em que os parâmetros de algum modelo e / ou a variação de os espelhos podem ter mudado significativamente, MAS não é isso que o OP deseja descobrir.
IrishStat
@IrishStat: Você conhece o Auto-PARM? O algoritmo usa resíduos na estimativa de quebra (tanto em relação ao número de quebras quanto à ordem AR (p) dos segmentos). O OP parece não ter um método específico sobre o qual ele está perguntando. Em vez disso, ele parece estar perguntando de maneira muito geral "Se estou medindo um processo no tempo e alterando algo sobre o processo, existe uma maneira de detectar esse ponto de alteração somente a partir dos dados?". Ele não está perguntando sobre mudança de nível x inovação x detecção de aditivo de outlier. Esperemos que o OP pode esclarecer para nós ...
Josh Hemann
josh: do OP "Qual é o teste apropriado para determinar se a série temporal aumentou ou diminuiu com base nos dados?". Acredito que isso pede uma determinação se a média dos resíduos mudou os parâmetros de algum modelo ARIMA. Na minha opinião, você está recomendando o procedimento errado de software / solução, mas essa é apenas a minha opinião.
IrishStat
1

Josh disse:

josh: do OP "Qual é o teste apropriado para determinar se a série temporal aumentou ou diminuiu com base nos dados?". Acredito que isso pede uma determinação se a média dos resíduos mudou os parâmetros de algum modelo ARIMA. Na minha opinião, você está recomendando o procedimento errado de software / solução, mas essa é apenas a minha opinião. O que você precisa saber é o seguinte:

Suponha que se comece com um modelo AR (1):

Yt=γ+ϕYt-1+Et

Onde Et é, digamos, um ruído gaussiano (média zero e variância σ2 A média desta série.

A média da série é γ1-phEu

Então, se por algum tempo os parâmetros γ e ϕnão muda, o mesmo acontece com a média geral da série. No entanto, qualquer uma dessas mudanças, necessariamente a média da série mudará. Portanto, sob estacionariedade por partes, estamos procurando alterações nesses parâmetros!

Se modelos estruturais forem assumidos, o Auto-PARM é o procedimento a ser usado.

user43737
fonte
1
Parece que você está realmente citando o IrishStat ... você poderia vincular a fonte original da citação, por favor?
Nick Stauner