Regressão Linear para Séries Temporais

Uma série temporal é, basicamente, uma sequência de observações tomada ao longo de um período de tempo. Diversos conjuntos de dados se apresentam como uma série temporal, como a taxa de desemprego, os juros básicos de uma economia, o PIB, a taxa de inflação, etc, o que torna esse campo da econometria extremamente importante. Para além da economia, há também aplicações do que chamamos de econometria de séries temporais na engenharia, nos negócios, nas ciências naturais, nas ciências sociais, etc.
Uma série temporal é facilmente compreendida por meio de um gráfico de linha, em que os valores das observações da série ficam no eixo y, enquanto o período correspondente a observação se situam no eixo x.
Abaixo temos como exemplo a série do Desemprego do Brasil medida pela PNADC. Podemos analisar diversas questões sobre a série, não somente economicamente, como também em termos estatísticos.
Para obter todo o código do processo de criação dos gráficos abaixo, faça parte do Clube AM, o repositório de códigos da Análise Macro, contendo exercícios semanais.
Sendo um pouco mais formal, podemos verificar como os conceitos de série temporal e processo estocástico se relacionam. Com base em Pfaff (2008), um processo estocástico é uma sequência ordenada de variáveis aleatórias, podendo ser definido formalmente como

(1)   \begin{align*}\left \{y(s,t), s \in S, t \in \Im \right \}\end{align*}

onde, para cada t \in \Im, y(., t) é uma variável aleatória no espaço amostral S, e a realização desse processo estocástico é dada por y(s, .) para cada s \in S com respeito a um ponto no tempo t \in \Im.

Consequentemente, a série temporal que observamos é uma realização particular de um processo estocástico desconhecido. Ela pode ser representada como segue

(2)   \begin{align*} \left \{ y \right \}_{t=1}^{T} = \left \{ y_{1}, y_{2}, ..., y_{t}, ..., y_{T-1}, y_{T} \right \} \end{align*}

Nesses termos, esse processo estocástico desconhecido é o que chamamos de processo gerador dos dados que formam uma série temporal.

Cada y_{t} em \left \{ y \right \}_{t=1}^{T} é, desse modo, apenas um valor possível de uma variável aleatória. Uma variável aleatória, por seu turno, é aquela que assume valores numéricos e tem um resultado que é determinado por um experimento.

O desafio do econometrista será, portanto, tendo acesso apenas à série temporal, buscar compreender esse processo estocástico desconhecido. Quanto melhor for essa compreensão, melhor será a modelagem e, com efeito, a previsão de observações futuras.

Vamos ilustrar regressões envolvendo séries temporais com um dataset extraído de Greene (2003), contendo observações trimestrais de diversas variáveis macroeconômicas do EUA de 1959 até 2009.

Tomemos duas séries contidas nesse dataset: realcons, Despesas reais de consumo pessoal e realdpi, Rendimento disponível privado real.

Greene (2003) considera os seguintes modelos:

(3)   \begin{align*}consumption_i& = \beta_1 + \beta_2 dpi_i + \beta_3 dpi_{i-1} + \varepsilon_i \nonumber \\ consumption_i& = \beta_1 + \beta_2 dpi_i + \beta_3 consumption_{i-1} + \varepsilon_i \nonumber \end{align*}

Os modelos podem ser especificados no Python utilizando o pacote statsmodels como se segue.
Temos o da primeira especificação:
E o da segunda especificação:

Que além dos resultados da estimação de ambas as especificações, é possível visualizar os valores ajustados e os resíduos, como nos gráficos abaixo.

Enquanto cons_lm1 representa a primeira equação, cons_lm2 representa a segunda. Vemos que ambas possuem um resultado muito próximo, com apenas alguns desvios em diferentes pontos do tempo.

Em relação aos resíduos, o resultado é diferente. Enquanto a primeira equação possui maior variância (implicando em heterocedasticidade) e tendência descendente/ascendente (possivelmente implicando em autocorrelação), a segunda equação se comporta como um ruído branco, tornando-a melhor que o seu par.

Heterocedasticidade e Autocorrelação

É comum em regressões envolvendo séries temporais termos problemas de heterocedasticidade e autocorrelação nos resíduos.
A heterocedasticidade surge se diferentes termos de erro não possuem a mesma variância, assim os elementos da diagonal da matriz de covariância não serão os mesmos. Por exemplo, é possível que diferentes grupos na amostra possuam diferentes variâncias. A autocorrelação, por sua vez, surge tipicamente quando os dados possuem uma dimensão temporal. Isso implica que a matriz de covariância será não diagonal de modo que diferentes termos de erro são correlacionados.
O Teste Breush-Pagan (BP) para heterocedasticidade é fácil de ser implementado com rotinas de MQO básicas. Após estimar um modelo, nós tomamos os resíduos e_i. Feito isso, nós regredimos o valor dos resíduos ao quadrado em relação às variáveis explicativas da equação original. Assim, basta verificar o teste F de significância ou utilizar um teste LM multiplicando o R^2 da segunda regressão pelo número de observações.
Uma outra forma de verificar heterocedasticidade é através do Teste White, uma variação do Teste BP. Nele, no segundo estágio, nós regredimos os resíduos ao quadrado do primeiro estágio contra os regressores e também contra os valores ajustados sem alteração e os valores ajustados elevados ao quadrado.
Uma forma de contornar esse problema é corrigir o cálculo da matriz de covariância dos coeficientes estimados. A matriz de covariância é usada para calcular os erros padrão dos coeficientes, que por sua vez são usados para testar hipóteses sobre os coeficientes de regressão.

A Heteroskedasticity and Autocorrelation Consistent (HAC) standard errors, também conhecidos como Newey-West standard errors, são uma forma de corrigir a matriz de covariância na presença de heterocedasticidade e autocorrelação nos dados.A abordagem HAC, desenvolvida por Newey e West (1987), é uma extensão da matriz de covariância robusta que leva em consideração tanto a heterocedasticidade quanto a autocorrelação dos erros.

A ideia básica por trás dos erros padrão HAC é ponderar as observações de forma que as correlações entre os erros sejam devidamente consideradas ao calcular a matriz de covariância. Essa ponderação leva em conta o número de defasagens (lags) a serem considerados para capturar a autocorrelação, bem como a forma como as observações distantes no tempo devem ser menos ponderadas do que as observações próximas.

_____________________________________
Quer aprender mais?

Seja um aluno da nossa trilha de Macroeconomia Aplicada  e aprenda a criar projetos voltados para a Macroeconomia.

________________________________________________

Referências

W.H. Greene. Econometric Analysis. Pearson Education, 2003.
B. Pfaff. Analysis of integrated and cointegrated time series with R. Springer, New York, second edition, 2008.
Newey, W.K. and West, K.D. (1987) A Simple, Positive Semi-Definite, Heteroscedasticity and Autocorrelation Consistent Covariance Matrix. Econometrica, 55, 703-708.

Compartilhe esse artigo

Facebook
Twitter
LinkedIn
WhatsApp
Telegram
Email
Print

Comente o que achou desse artigo

Outros artigos relacionados

Análise do Censo Demográfico com o R

Como podemos analisar dados do Censo Demográfico para produzir pesquisas e implementar políticas públicas? Mostramos nesta postagem o resultado de uma breve análise dos dados preliminares do Censo Demográfico de 2022 usando o R.

Deploy de modelos com Python + Shinylive + GitHub gastando ZERO reais

Colocar modelos em produção pode ser um grande desafio. Lidar com custos monetários, infraestrutura operacional e complexidades de códigos e ferramentas pode acabar matando potenciais projetos. Uma solução que elimina todos estes obstáculos é a recém lançada Shinylive. Neste artigo mostramos um exemplo com um modelo de previsão para o preço do petróleo Brent.

Como automatizar tarefas repetitivas usando Python? Um exemplo para largar o Excel

Manter relatórios diários com dados e análises atualizados é um desafio, pois envolve várias etapas: coleta de dados, tratamento de informações, produção de análises e atualização de relatório. Para superar este desafio algumas ferramentas como Python + Quarto + GitHub podem ser usadas para automatizar tudo que for automatizável. Neste artigo mostramos um exemplo com dados do mercado financeiro.

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.