Previsão com Modelos Dinâmicos

Os modelos de séries temporais univariados permitem a inclusão de informações das observações passadas de uma série, mas não a inclusão de outras informações que possam ser relevantes. Por outro lado, os modelos de regressão múltipla permitem a inclusão de uma grande quantidade de informações relevantes a partir de variáveis preditoras, mas não permitem as dinâmicas sutis de séries temporais que podem ser tratadas com modelos ARIMA. No post de hoje, consideramos estender os modelos ARIMA para permitir que outras informações sejam incluídas nos modelos.

Modelo de Regressão Dinâmico

Modelos de regressão múltipla seguem uma equação do tipo

    \begin{align*} y_{t}& = \beta_{1} + \beta_{2}x_{t2} + ... + \beta_{K}x_{tK} + \varepsilon_{t} \\ y_{t}& = x_{t}^{'}\beta + \varepsilon_{t} \label{rm} \end{align*}

onde y_{t} e x_{t} são variáveis observáveis e \varepsilon_{t} é não observável e refere-se a um termo de erro, que supusemos ser um ruído branco.

Podemos agora permitir que \varepsilon_{t} apresente autocorrelação. Assim, substituindo \varepsilon_{t} por \eta_{t}
e supondo que \eta_{t} siga um processo formado por um modelo ARIMA, podemos reescrever a equação acima como

    \begin{align*} y_t &= \beta_0 + \beta_1 x_{1,t} + \dots + \beta_k x_{k,t} + \eta_t,\\ & (1-\phi_1B)(1-B)\eta_t = (1+\theta_1B)\varepsilon_t, \end{align*}

onde \varepsilon_t segue um ruído branco.

Veja que o modelo possui dois termos de erro aqui - o erro do modelo de regressão, que é denotado por \eta_{t} e o erro do modelo ARIMA, que é denotado por \varepsilon_{t}. Apenas os erros do modelo ARIMA são assumidos como ruído branco.

Estimação com erros ARIMA

Quando estimamos os parâmetros do modelo, precisamos minimizar a soma de valores de \varepsilon_t quadrados. Se, em vez disso, minimizamos a soma dos valores n_t quadrados (o que aconteceria se estimássemos o modelo de regressão ignorando as autocorrelações nos erros), então surgem vários problemas:

  • Os coeficientes estimados \hat{\beta}_0, ..., \hat{\beta}_K não são mais as melhores estimativas, pois algumas informações foram ignoradas no cálculo;
  • Os testes estatísticos associados ao modelo estão incorretos;
  • O AIC dos modelos ajustados não é um bom guia sobre qual é o melhor modelo para a previsão.
  • Na maioria dos casos, os p-valores associados aos coeficientes serão muito pequenos e, portanto, algumas variáveis preditoras parecem ser importantes quando não são. Isso é conhecido como regressão espúria.

Minimizar a soma de valores quadrados de \varepsilon_t evita esses problemas. Alternativamente, a estimativa da máxima verossimilhança pode ser utilizada; Isso dará estimativas muito semelhantes para os coeficientes.

Uma consideração importante na estimativa de uma regressão com erros ARMA é que todas as variáveis no modelo devem ser estacionárias.

Previsão com erros ARIMA

Para prever um modelo de regressão com erros ARIMA, precisamos prever a parte de regressão do modelo e a parte ARIMA do modelo e combinar os resultados. Tal como acontece com os modelos de regressão ordinários, para obter previsões, precisamos primeiro prever os preditores.

Quando os preditores são conhecidos no futuro (por exemplo, variáveis relacionadas ao calendário, como tempo, dia-semana, etc.), isso é direto. Mas quando os preditores são desconhecidos, devemos modelá-los separadamente ou usar valores futuros assumidos para cada preditor.

Exemplo no R: Consumo e Renda no EUA

Podemos estimar facilmente um modelo de Regressão com erros ARIMA no R utilizando a família de pacotes {tidyverts}, que possibilita criar um framework de criação de modelo de séries temporais. Para exemplificar, usamos as variáveis "personal consumption expenditure" (consumo) e "personal disposable income"  (renda) do dataset us_change disponível no pacote {fpp3}, que refere-se a dados de variáveis econômicas do EUA em termos de variação percentual trimestral.

Podemos prever o consumo e usar a renda como uma variável de previsão. Se houver uma queda na renda, podemos esperar que o consumo também caia, e vice-versa. Vejamos a relação de ambas as variáveis:

Vemos que de fato as duas variáveis possuem uma relação contemporânea (é possível verificar que a renda afeta o consumo através de suas defasagens, mas não incluiremos no exemplo). Portanto, podemos utilizar o modelo de regressão dinâmico com erros ARIMA.

Antes de realizar a previsão, entretanto, devemos verificar se de fato o \varepsilon_t é um ruído branco:

 

Confirmado a hipótese, podemos partir para a previsão:

________________________________________________

Quer se aprofundar no assunto?

Alunos da trilha de Especialista em Ciência de Dados para Economia e Finanças podem aprender a como construir projetos que envolvem dados reais usando o R e o Python como ferramentas.

Referências

Hyndman, R.J., & Athanasopoulos, G. (2021) Forecasting: principles and practice, 3rd edition, OTexts: Melbourne, Australia. OTexts.com/fpp3. Accessed on 2023-03-07.

Compartilhe esse artigo

Facebook
Twitter
LinkedIn
WhatsApp
Telegram
Email
Print

Comente o que achou desse artigo

Outros artigos relacionados

Resultado IPCA-15 - Novembro/2024

A Análise Macro apresenta os resultados do IPCA-15 de Novembro de 2024, com gráficos elaborados em Python para coleta, tratamento e visualização de dados. Todo o conteúdo, disponível exclusivamente no Clube AM, foi desenvolvido com base nos métodos ensinados nos cursos da Análise Macro, permitindo aos assinantes acesso aos códigos e replicação das análises.

Resultado PNADc Trimestral - 3° Trimestre/2024

A Análise Macro apresenta os resultados da PNADc Trimestral do 3º trimestre de 2024, com gráficos elaborados em Python para coleta, tratamento e visualização de dados. Todo o conteúdo, disponível exclusivamente no Clube AM, foi desenvolvido com base nos métodos ensinados nos cursos da Análise Macro, permitindo aos assinantes acesso aos códigos e replicação das análises.

Análise exploratória para modelagem preditiva no Python

Antes de desenvolver bons modelos preditivos é necessário organizar e conhecer muito bem os dados. Neste artigo, damos algumas dicas de recursos, como gráficos, análises e estatísticas, que podem ser usados para melhorar o entendimento sobre os dados usando Python.

Boletim AM

Receba diretamente em seu e-mail gratuitamente nossas promoções especiais e conteúdos exclusivos sobre Análise de Dados!

Boletim AM

Receba diretamente em seu e-mail gratuitamente nossas promoções especiais e conteúdos exclusivos sobre Análise de Dados!

como podemos ajudar?

Preencha os seus dados abaixo e fale conosco no WhatsApp

Boletim AM

Preencha o formulário abaixo para receber nossos boletins semanais diretamente em seu e-mail.