Tenho formação iniciante em séries temporais (algumas estimativas / previsões do ARIMA) e estou enfrentando um problema que não entendo completamente. Qualquer ajuda seria muito apreciada.
Estou analisando várias séries temporais, no mesmo intervalo de tempo e na mesma frequência, todas descrevendo um tipo semelhante de dados. Cada série é apenas uma variável, não há outros preditores correspondentes que estou olhando.
Me pediram para estimar um único modelo que descreva TODAS as séries - por exemplo, imagine que eu poderia encontrar um ARIMA (p, d, q) com as mesmas ordens, coeficientes etc. que poderiam se encaixar em todas as séries. Meu supervisor não quer que eu estime separadamente cada série, nem que eu faça algum tipo de modelo VAR com dependências entre as séries.
Minha pergunta é: como eu chamaria esse modelo e como posso estimar / prever? Se for mais fácil usar exemplos de código, falo SAS e R.
fonte
Uma maneira de fazer isso é construir uma longa série temporal com todos os seus dados e com sequências de valores ausentes entre as séries para separá-los. Por exemplo, em R, se você tiver três séries (
x
,y
ez
) de comprimento 100 e frequência 12, poderá juntá-las da seguinte maneiraObserve que o número de valores ausentes é escolhido para garantir a retenção do período sazonal. Eu completei o ano final com 8 valores ausentes e depois adicionei quatro anos ausentes (48 valores) antes da próxima série. Isso deve ser suficiente para garantir que todas as correlações seriais sejam eliminadas entre as séries.
Então você pode usar
auto.arima()
para encontrar o melhor modelo:Por fim, você pode aplicar o modelo combinado a cada série separadamente para obter previsões:
fonte
A estimativa de um modelo único para várias séries temporais é o domínio da econometria de dados em painel . No entanto, no seu caso, sem variável explicativa, a resposta de @Rob Hyndman é provavelmente a melhor opção. No entanto, se os meios das séries temporais forem diferentes (teste-o, pois neste caso o método de Rob Hyndman deve falhar!), Mas a estrutura do ARMA é a mesma, você precisará usar o Arellano-Bond (desculpe a wikipedia nenhuma página, pesquise no google) tipo estimador. O modelo nesse caso seria:
OndeEu indicates different time series and εit can have the same covariance structure across all i .
fonte
Uma alternativa à abordagem de Rob Hyndman, para criar uma única série de dados, é mesclar os dados. Isso pode ser apropriado se suas várias séries temporais representarem leituras ruidosas de um conjunto de máquinas que registram o mesmo evento. (Se cada série temporal estiver em uma escala diferente, você precisará normalizar os dados primeiro.)
NOTA: você ainda acaba com 28 leituras, apenas com menos ruído; portanto, isso pode não ser apropriado para sua situação.
fonte
Eu examinaria os modelos ocultos de Markov e as redes bayesianas dinâmicas. Eles modelam dados de séries temporais. Também são treinados usando várias instâncias de séries temporais, por exemplo, várias séries temporais de pressão arterial de vários indivíduos. Você deve encontrar pacotes em Python e R para construí-los. Pode ser necessário definir a estrutura para esses modelos.
fonte
Estou tentando fazer a mesma coisa. Aparentemente, existe algo chamado modelo 'Multivariate AutoRegressive' por aí. Eu encontrei referência a ele, mas não como usá-lo. Baseado no artigo vinculado, presumo que ele tenha sido implementado em R.
http://journal.r-project.org/archive/2012-1/RJournal_2012-1_Holmes~et~al.pdf
fonte