Tag

dados macroeconômicos Archives - Análise Macro

Análise exploratória de dados macroeconômicos no R

By | Data Science

Neste post iremos revelar algumas coisas que nunca te contaram sobre análise exploratória e como usá-la para ter uma visão geral aplicada a dados macroeconômicos.

Antes de tudo, precisamos entender onde a análise exploratória de dados - do inglês exploratory data analysis (EDA) - está inserida no contexto de uma análise descritiva ou em modelos que usem dados macroeconômicos. Para tais contextos, é fundamental conhecer os dados antes de partir para qualquer exercício empírico, ou seja, queremos uma fotografia que mostre um panorama geral sobre os dados. Esse primeiro passo é extremamente útil para identificar possíveis "pontos cegos" que gerariam problemas no seu modelo ou que poderiam ser interpretados de forma errônea em sua análise conjuntural, por exemplo.

Em outras palavras, a famosa expressão garbage in, garbage out (lixo entra, lixo sai) resume perfeitamente a importância da análise exploratória. Você precisa saber se os dados a serem utilizados possuem a qualidade (características) necessária para fazer uma análise ou se estão simplesmente cheios de sujeiras (outliers, valores ausentes, quebras, etc.). É neste momento em que você aprenderá mais sobre os dados, identificando padrões e comportamentos, assim como saberá o que precisará fazer (tratamentos) para torná-los úteis.

Mas de que tipo de dados estamos falando?

Em geral, os dados macroeconômicos mais usados possuem uma estrutura de série temporal, mas outras estruturas como dados em painel, microdados, etc. também possuem aplicações em macroeconomia. Focando em séries temporais, pode-se destacar algumas coisas que você deve ficar de olho ao fazer uma análise exploratória de dados:

  • Sazonalidade;
  • Tendência;
  • Autocorrelação;
  • Estacionariedade.

Algumas estatísticas e gráficos que irão te ajudar a inspecionar estes padrões e comportamentos:

  • Média, mediana, desvio padrão e IQR;
  • Gráfico de histograma;
  • Gráfico de linha;
  • Gráfico de sazonalidade;
  • Correlogramas ACF e PACF;
  • Testes de estacionariedade ADF, KPSS e PP.

Parece ser bastante coisa para se preocupar em uma análise exploratória e realmente é - podendo ainda ampliarmos este escopo -, mas se usarmos as ferramentas adequadas podemos colocar tudo isso em prática de maneira rápida e eficiente, direcionando o foco na análise propriamente dita. Na linguagem R, existem diversos pacotes modernos com utilidades para análise exploratória de dados, exploraremos a seguir alguns destes pacotes.

Para reproduzir o exercício a seguir você precisará dos seguintes pacotes de R:

Dados

Para exemplificar uma análise exploratória de dados macroeconômicos, usaremos um conjunto de dados que traz informações sobre indicadores econômicos mensais da economia norte-americana. A fonte dos dados é o FRED e os mesmos já estão salvos em um dataset no R:

Estatísticas descritivas

As medidas de estatística descritiva, como média, desvio padrão, percentis, etc. servem para obter uma visão geral dos dados. É um bom primeiro passo se você não tem expertise sobre a variável com a qual irá desenvolver uma análise. O pacote {skimr} faz esse trabalho de calcular estas estatísticas de uma maneira simples e bem apresentada, basta apontar o objeto com os dados:

Note que, além das estatísticas descritivas, também são apresentadas informações como nº e taxa de valores ausentes, gráfico de histograma, valores mínimos e máximas, etc. - a depender do tipo de variável na qual será computado tais cálculos -, que são informações bastante úteis para identificar possíveis problemas nos dados.

Histograma

Talvez apenas com estatísticas descritivas não seja possível ter uma visão clara sobre o comportamento da variável de interesse, ou seja, como os dados estão distribuídos. Para resolver isso, é conveniente gerar um gráfico de histograma, que pode ser criado com o {ggplot2}:

A visualização gráfica dos dados é muito importante pois nos permite rapidamente identificar nos dados algumas coisas interessantes, como neste caso do histograma. A distribuição dos dados apresenta uma cauda alongada a direita, ou seja, possivelmente há algumas poucas observações dessa variável (duração do desemprego) com valores mais "extremos". A questão que surge é: em qual período do tempo aconteceram estes valores? Ou seja, qual é a tendência da variável?

Tendência

O jeito mais direto de identificar a tendência de uma variável é através de um gráfico de linha. Abaixo geramos um gráfico de linha e adicionamos uma linha de suavização, que pode facilitar o rápido entendimento em alguns casos:

Dessa forma, conseguimos identificar que no período mais recente, ou seja, nas últimas observações a partir de 2010, há uma tendência de aumento no tempo de duração do desemprego, superando o histórico observado nas décadas anteriores. Note que, com apenas dois gráficos e algumas estatísticas descritivas, já conseguimos insumos interessantes para uma análise mais aprofundada.

Sazonalidade

A olho nu no gráfico anterior não parece haver comportamento que indique sazonalidade, mas como poderíamos identificar tal comportamento em uma variável? Novamente, a análise gráfica pode auxiliar nessa tarefa. O gráfico de sazonalidade gerado abaixo basicamente é um gráfico de linha, com a exceção de que o eixo X mostra os dados da sazonalidade observada da variável. No caso de dados em frequência mensal, o eixo X será os meses.

O gráfico facilita identificar mais claramente padrões sazonais, que para essa variável não há, além de ser mais fácil de visualizar em quais anos que o padrão muda.

Estacionariedade

Outro ponto importante, principalmente em contextos de modelagem econométrica, é a estacionariedade da série, ou seja, a média e a variância são constantes ao longo do tempo? Quando em uma variável estes pressupostos não são verdadeiros, dizemos que a série possui raiz unitária (é não-estacionária), de modo que os choques que a variável sofre geram um efeito permanente. Parece ter sido esse o caso da variável em questão, a duração do desemprego. Vimos que as flutuações da variável se alteraram consideravelmente, e isso tem fortes implicações relacionadas a teorias econômicas que tratam de ciclos. Mas, fugindo da teoria, como verificamos de maneira prática se a variável é estacionária? O pacote {forecast} possui uma excelente função permitindo aplicar testes, como o ADF, KPSS e PP, que já retornam o número de diferenças necessárias para a série ser estacionária:

Se o valor retornado for maior do que zero, significa que a série é não-estacionária e precisa ser diferenciada na ordem do valor retornado para ser estacionária.

Autocorrelação

Por fim, outra questão importante em séries temporais é a identificação de possíveis correlações (a relação linear) entre os valores defasados da série. Os correlogramas ACF e PACF podem ajudar neste ponto. Como a série não possui sazonalidade mas possui uma certa tendência, as autocorrelações iniciais tendem a ser grandes e positivas pois as observações próximas no tempo também estão próximas em valor. Assim, a função de autocorrelação (ACF) de uma série temporal com tendência tende a ter valores positivos que diminuem lentamente à medida que as defasagens aumentam.

Se fôssemos, por exemplo, implementar uma modelagem ARIMA nessa série, seria apropriado gerar os correlogramas na série estacionária, ou seja, a variável duração do desemprego na primeira diferença.

Saiba mais

Este exercício buscou navegar pelos principais padrões e comportamentos de dados macroeconômicos, usando ferramentas do R para identificá-los. você pode se aprofundar sobre os assuntos relacionados nestes posts do blog da Análise Macro:

Curso de Macroeconometria está com inscrições abertas!

By | Cursos da Análise Macro

Começa no próximo dia 22/04, a Turma de Outono do Curso de Macroeconometria usando o R. Com uma proposta única no país, o curso utiliza diversas técnicas econométricas para entender o fascinante mundo da macroeconomia. Dividido em três grandes blocos, o curso proporciona ao aluno uma introdução qualificada ao mundo dos modelos macroeconométricos. Na primeira parte, o organismo econômico é desvendado por meio da estimação de Curvas de Phillips, Curva IS, Paridade Descoberta da Taxa de Juros e da Regra de Taylor. No segundo bloco, são construídos modelos para diversas variáveis macroeconômicas. Na última parte, por fim, o tema da causalidade é explorado por meio de testes estatísticos.

Ao longo das 15 seções do curso, os alunos aprendem a utilizar a econometria de forma didática e totalmente aplicada para analisar variáveis macroeconômicas. Para isso, utiliza-se o R como linguagem principal. Para quem não tem conhecimentos da linguagem, um Nivelamento está disponível durante todo o período da turma.

Curtiu? Então, garanta já a sua vaga aqui!

Curso de Análise de Conjuntura está com inscrições abertas!

By | Cursos da Análise Macro

Começa no próximo dia 22/04, a Turma de Outono do Curso de Análise de Conjuntura usando o R. Totalmente revisado e reformulado, o curso busca ensinar alunos de graduação e pós-graduação, professores e profissionais de mercado a usar o R para coletar e tratar dados macroeconômicos. Com uma proposta única e inovadora no país, o curso utiliza uma das linguagens mais utilizadas em data science para analisar dados de nível de atividade, mercado de trabalho, inflação, mercado de crédito, política fiscal, política monetária, setor externo e economia internacional.

Ao longo das 11 seções do curso, os alunos aprendem a coletar e tratar diversos índices e séries da economia brasileira, como PIB, IBC-Br, PMC, PIM-PF, PNAD Contínua, CAGED, IPCA, taxas de juros, spread bancário, inadimplência, endividamento das famílias, gastos e receitas do governo, endividamento do governo, superávit requerido, formação da taxa básica de juros, taxa de câmbio, operações de swap, dentre outras.

São ensinadas diversas técnicas para coletar os dados de fontes como IBGE, IPEADATA e Banco Central com pacotes como sidraR, ecoseries, BETS rbcb. Ademais, o curso ensina a tratar os dados, construindo variações mensais, interanuais e acumuladas em 12 meses, criar médias móveis, tratar sazonalidade e deflacionar dados nominais. Tudo isso, utilizando o R como linguagem natural.

Veja o conteúdo completo aqui.

Curtiu? Então, garanta já a sua vaga na Turma de Outono aqui!

Você aprendeu a lidar com dados no seu curso de graduação?

By | Cursos da Análise Macro

Ontem, ao ler o Valor Econômico, me deparei com uma matéria dizendo que a taxa de poupança brasileira subiu pelo segundo ano consecutivo. Havia um gráfico na matéria mostrando a taxa de poupança doméstica em relação ao PIB. Como professor, fiquei pensando em quantos alunos nos primeiros períodos de economia seriam capazes de produzir aquele gráfico. Infelizmente, os cursos de macroeconomia da maioria das faculdades brasileiras são muito teóricos, deixando pouca ou nenhuma margem para que os alunos possam lidar com dados reais. Foi, aliás, com esse tipo de visão que eu criei os cursos de Teoria Macroeconômica e Análise de Conjuntura usando o R aqui da Análise Macro. 

Se você que me lê nesse momento for aluno de graduação, seja sincero, conseguiria produzir esse tipo de gráfico? Se respondeu que sim, parabéns, você está acima da média entre os seus pares. Se respondeu que não, você provavelmente oscila em torno do aluno mediano de graduação em economia.

Para ilustrar como é possível fazer esse tipo de gráfico, vou, naturalmente, usar o R como ferramenta. Aqui, vou um pouco além da matéria do Valor, ilustrando o comportamento da taxa de poupança e da taxa de investimento.  Como os meus alunos aprendem no curso de Teoria Macroeconômica, a taxa aqui se refere a razão entre Poupança ou Investimento e PIB. O investimento, por seu turno, é chamado de Formação Bruta de Capital Fixo (FBCF) nas contas nacionais, que nada mais são do que a Formação Bruta de Capital (FBC) mais a variação de estoques.

Para construir um gráfico com as taxas de poupança e investimento, por suposto, precisaremos antes carregar o pacote sidrar. Uma vez carregado, eu vou pegar quatro séries: o PIB, a Poupança, a Formação Bruta de Capital e a Formação Bruta de Capital Fixo (FBCF). O código abaixo exemplifica.

library(sidrar)
tabela_cei = get_sidra(api='/t/2072/n1/all/v/933,940,941/p/all') # PIB, Poupança e FBC
fbcf = get_sidra(api='/t/1846/n1/all/v/all/p/all/c11255/93406/d/v585%200') # FBCF

Se você rodar esse código no RStudio, verá que os dados estão um pouco bagunçados. Precisaremos arrumá-los, de modo que cada coluna seja uma variável (PIB, Poupança, FBC e FBCF) e cada linha seja uma observação - nesse caso, uma série temporal com frequência trimestral. O código a seguir trata a primeira tabela.

series = c(933,940,941)
names = c('pib', 'poupanca', 'fbc')
poupanca = matrix(NA, ncol=length(series), 
nrow=nrow(tabela_cei)/length(series))
for(i in 1:length(series)){
poupanca[,i] = tabela_cei$Valor[tabela_cei$`Variável (Código)`
==series[i]] 
poupanca = ts(poupanca, start=c(2000,01), freq=4)
colnames(poupanca) = names
}

A matriz poupanca tem agora as três séries. Arrumar os dados da FBCF, que está na segunda tabela, é trivial. Você pode fazê-lo e colocá-lo junto com as outras três séries. Uma vez que os dados estejam organizados em uma matriz, ainda precisaremos acumulá-los em quatro trimestres, de modo que tenhamos dados anualizados. Sem isso, a série terá muita volatilidade. Finalmente, precisaremos normalizar os dados de poupança e investimento pelo PIB, de modo a termos as tais taxas. Podemos utilizar a seguir para então produzir essas taxas...

datapoup = cbind((poupanca[,2]+lag(poupanca[,2],-1)+
lag(poupanca[,2],-2)+lag(poupanca[,2],-3))/
(poupanca[,1]+lag(poupanca[,1],-1)+
lag(poupanca[,1],-2)+lag(poupanca[,1],-3))*100,
(poupanca[,3]+lag(poupanca[,3],-1)+
lag(poupanca[,3],-2)+lag(poupanca[,3],-3))/
(poupanca[,1]+lag(poupanca[,1],-1)+
lag(poupanca[,1],-2)+lag(poupanca[,1],-3))*100,
(fbcf+lag(fbcf,-1)+lag(fbcf,-2)+lag(fbcf,-3))/(poupanca[,1]+
lag(poupanca[,1],-1)+
lag(poupanca[,1],-2)+lag(poupanca[,1],-3))*100)
colnames(datapoup) = c('poupanca', 'fbc', 'fbcf')

O objeto datapoup possui agora a taxa de poupança, a taxa de investimento e a relação entre FBC/PIB. Finalmente, estamos prontos para gerar um gráfico como o abaixo.

Ei você que disse que sabia construir esse tipo de gráfico, será que sabia mesmo? Lidar com dados é o dia a dia de um economista, por isso, faço questão de ensinar meus alunos a coletar e tratar dados nos nossos cursos de Teoria Macroeconômica e Análise de Conjuntura usando o R. A maioria nunca viu esse tipo de coisa nos cursos de macroeconomia da faculdade...

_____________________________________

Conheça nossos Cursos Aplicados de R e aprenda a coletar, tratar, analisar e apresentar dados com o R!

Curso de Introdução ao R com aplicações em Análise de Conjuntura

By | Eventos

Para quem quer aprender \mathbf{R} e quer entender como coletar, tratar, analisar e apresentar dados macroeconômicos, temos duas turmas com inscrições abertas para o curso de Introdução ao R com aplicações em Análise de Conjuntura. Entre os dias 19/10 a 30/10, o curso ocorrerá na Faculdade de Economia da UFF, em Niterói. Maiores informações, aqui. Já no Centro do Rio, o curso será ministrado no período de 9/11 a 20/11, entre 18h30 e 22h, no Espaço Executivo. Maiores informações e inscrições, aqui. O que você está esperando? Liberte-se: seja bem-vindo ao mundo do \mathbf{R}!

Sistema-R

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

Assinar Gratuitamente