Previsão de dados de séries temporais com variáveis ​​externas

10

Atualmente, estou trabalhando em um projeto para fazer a previsão de dados de séries temporais (dados mensais). Estou usando R para fazer a previsão. Eu tenho 1 variável dependente (y) e 3 variáveis ​​independentes (x1, x2, x3). A variável y tem 73 observações e as outras 3 variáveis ​​(também 73). De janeiro de 2009 a janeiro de 2015. Verifiquei correlações e valor-p, e é tudo significativo colocá-lo em um modelo. Minha pergunta é: como posso fazer uma boa previsão usando todas as variáveis ​​independentes? Não tenho valores futuros para essas variáveis. Digamos que eu gostaria de prever qual minha variável y em mais de 2 anos (em 2017). Como posso fazer isso?

Eu tentei o seguinte código:

    model = arima(y, order(0,2,0), xreg = externaldata) 

Posso fazer uma previsão do valor de y em mais de 2 anos com este código?

Eu também tentei um código de regressão:

    reg = lm(y ~ x1 + x2 + x3) 

Mas como eu dedico um tempo neste código? Como posso prever qual será meu valor y, digamos 2 anos? Eu sou novo em estatísticas e previsões. Fiz algumas leituras e excedi o valor de atraso, mas como posso usar um valor de atraso no modelo para fazer previsões?

Na verdade, minha pergunta geral é como posso prever dados de séries temporais com variáveis ​​externas sem valor futuro?

SB
fonte
Nunca use regressão com dados de séries temporais. Use uma abordagem de modelo de função de transferência.
21816 Tom Reilly
2
Oi senhor, você pode me falar mais sobre um modelo de função de transferência? E por que nunca devo usar regressão com dados de séries temporais? A maioria dos estudos sugere o uso de regressão com séries temporais.
SB
Um modelo de Função de Transferência é explicado no manual da Box-Jenkins no Capítulo 10. O objetivo é construir um modelo para cada causal (pré-clareamento) e, em seguida, usar os resíduos para encontrar correlações contra Y (correlação cruzada). Isso o ajudará a identificar quais variáveis ​​são importantes e se há algum relacionamento de lead ou lag. Pode haver uma necessidade de ARIMA nessa equação ou denominador nas variáveis ​​X. Você também pode ter discrepâncias, mudanças de tendência, nível, sazonalidade, parâmetros e variação.
Tom Reilly
Também pode haver uma regressão assumindo que o tempo não é importante. A regressão foi usada por Galton para estudar Sweat Peas ... não um problema de série temporal. A função de transferência usa partes do processo para estimar o problema.
Tom Reilly

Respostas:

11

Se você ajustar um modelo usando variáveis ​​externas e desejar prever a partir desse modelo, precisará de valores futuros (previstos) das variáveis ​​externas, simples e simples. Não há como contornar isso.

É claro que existem maneiras diferentes de prever suas variáveis ​​explicativas. Você pode usar o último valor observado (a previsão de "passeio aleatório ingênuo") ou a média geral. Você pode simplesmente defini-los como zero se esse for um valor útil para eles (por exemplo, eventos especiais que aconteceram no passado como um terremoto, que você não espera que ocorram). Ou você pode ajustar e prever um modelo de série temporal para essas variáveis ​​explicativas, por exemplo, usando auto.arima.

A alternativa é ajustar um modelo aos seus valores sem variáveis ​​explicativas, removendo o parâmetro e, em seguida, prever usando esse modelo. Uma vantagem é que isso pode até capturar regularidades em suas variáveis ​​explicativas. Por exemplo, suas vendas de sorvetes podem ser impulsionadas pela temperatura e você não tem boas previsões de temperatura daqui a alguns meses ... mas a temperatura é sazonal, portanto, simplesmente o ajuste de um modelo sem temperatura gera um modelo sazonal e sua sazonalidade as previsões podem realmente ser muito boas, mesmo se você não incluir o driver real das vendas.yyxregy

Eu recomendo este livro de previsão on-line gratuito , especialmente esta seção sobre regressão múltipla (infelizmente, não há nada sobre o ARIMAX), bem como a postagem no blog de Rob Hyndman "O modelo ARIMAX" .

Stephan Kolassa
fonte
1

Como Yogi Berra disse: "É difícil fazer previsões, especialmente sobre o futuro".

Muitos módulos de software estatístico geram previsões com base no fluxo univariado de séries temporais na ausência de informações futuras, por exemplo, Previsão de Proc no SAS ou qualquer número de módulos ARIMA disponíveis. Essas previsões são projeções baseadas no comportamento histórico dos seus dados.

Você nos diz que seus dados são mensais, mas não nos diz quantos períodos você tem disponível. Outra abordagem é atrasar seus três IVs em 24 meses em relação ao DV, para que o período que eles estão prevendo seja t + 24. Isso pressupõe que você tenha uma data suficiente para inicializar o modelo e calibrar qualquer sazonalidade relevante, conforme apropriado.

Mike Hunter
fonte
Eu editei meu texto. Você pode responder minhas perguntas agora?
1616 SB
Dado que você possui uma quantidade suficiente de informações, existem várias maneiras de integrar o tempo ao seu modelo. Você pode criar variáveis ​​fictícias para os anos (por exemplo, 2009, 2010 etc.), para os trimestres, para cada mês da série cronológica ou, como uma abordagem para contabilizar a sazonalidade, para cada mês do ano. Outra abordagem seria tratar o tempo como uma função de tendência numérica, por exemplo, linear (como em uma contagem dos períodos iniciados em jan 2009 = 1, fev = 2 etc.) ou qualquer número de tendências polinomiais com base na tendência linear, por exemplo, quadrático (tendência linear ao quadrado) e para cima. O que mais você quer saber?
Mike Hunter
Mas o tempo não pode ser uma variável independente, certo? Então, como posso prever minha variável y usando as 3 variáveis ​​externas? Estou com dificuldade para selecionar um modelo que faça a previsão?
SB
Conforme descrito no comentário anterior, o tempo seria uma variável independente. Eu acho que você precisa ler sobre regressão, econometria e literatura de séries temporais. Existem muitos tópicos neste site que abordam essas perguntas e sugerem artigos, livros, etc. Navegue no lado direito desta página da Web para obter mais tópicos relacionados às suas preocupações.
Mike Hunter
Eu li muito e não consegui encontrar uma solução. Essa é a razão pela qual eu fiz essa pergunta aqui. Você pode citar alguns tópicos de alguma literatura que eu possa usar? Ou página da web certa?
SB
1

A meu ver, você tem três opções:

  1. Use uma previsão publicada para suas variáveis ​​independentes ou encontre um modelo para prevê-las. Por exemplo, o Censo terá dados populacionais previstos.
  2. Usando o conjunto de dados que você possui, regride cada uma de suas variáveis ​​independentes em relação ao tempo e use esses resultados como modelo de previsão para as variáveis ​​independentes
  3. Solte as variáveis ​​independentes e apenas modele sua variável dependente em função do tempo e dos valores defasados ​​de y.

Cada abordagem tem seus próprios pontos fortes e fracos, portanto, o melhor depende do contexto específico.

Ezra Boyd
fonte