Nova Formação: Produção de Trabalhos Empíricos usando o R

By | Cursos

Tá no final da graduação e precisa entregar um TCC? Lutando no mestrado para ter uma ideia para a dissertação? No Doutorado, se torturando com bases de dados? É professor e escreve papers, mas quer migrar para o R? Tá no mercado, mas também escreve artigos científicos? Se você respondeu sim para alguma dessas perguntas, leia as próximas linhas, porque temos uma nova Formação que pode ser do seu interesse!


Ao longo dos últimos anos, temos ajudado uma porção de gente em uma dessas situações aqui na Análise Macro. Seja através dos nossos Cursos Aplicados de R, seja através de consultorias customizadas, que atendem necessidades específicas. Já atendemos médicos em doutoramento, engenheiros enrolados com a dissertação de mestrado, economistas em busca de uma ideia de pesquisa, etc, etc. Nossa proposta para esse ano foi, então, construir uma Formação que integrasse os conhecimentos necessários para pessoas interessadas em lidar com bases de dados, cumprindo as quatro etapas necessárias para qualquer trabalho empírico: coleta de dados, tratamento, análise e apresentação de resultados. O programa completo da Formação envolverá seis módulos e, importante, não irá supor nenhum conhecimento dos alunos. Isso mesmo, a Formação não terá pré-requisitos. Listamos a seguir cada um dos módulos:

 

  • Introdução ao R: coleta e tratamento de dados usando tidyverse;
  • Introdução à Estatística usando o R;
  • Introdução à Econometria usando o R;
  • Séries Temporais usando o R;
  • Dados em Painel usando o R;
  • Construindo apresentações e relatórios usando RMarkdown.

 

Vamos começar do zero, com a instalação dos programas necessários e uma introdução ao R e ao RStudio. Depois disso, vamos aprender a coletar e tratar dados com os pacotes do tidyverse. Feito isso, passamos à exploração dos dados, por meio de ferramentas estatísticas que aprenderemos no módulo Introdução à Estatística usando o R. Com os dados coletados, tratados e já com alguma hipótese na cabeça, passamos à etapa de modelagem propriamente dita. Nessa fase, vamos cobrir as três principais estruturas de dados: dados cross-section (corte transversal), séries temporais dados em painel. Por fim, com nosso modelo construído, podemos apresentar os resultados utilizando o Rmarkdown, uma poderosa ferramenta de produção de relatórios e apresentações.

Além dos seis módulos, como grande diferencial da Formação, os alunos também terão acesso à quatro mentorias de 1h cada, realizadas via appear.in, com o professor. Nessas mentorias, os alunos poderão tirar dúvidas sobre a hipótese de trabalho, problemas específicos de bases de dados, onde encontrar dados, qual seria o melhor modelo, etc.

Todos os módulos ficarão disponíveis desde o início da Formação e poderão ser acessadas durante 1 ano pelos alunos. Por fim, todos os alunos da Formação também terão acesso a mais de 50 exercícios de análise de dados do Clube do Código, onde poderão ver na prática como coletar, tratar, analisar e apresentar dados!

Nós abriremos as inscrições no final de abril. Quem tiver interesse e quiser colocar o nome na lista, mande e-mail para comercial@analisemacro.com.br e garanta a sua vaga desde já! Para quem se antecipar, daremos desconto de 20%!

Choques adversos ou represamento de preços?

By | Comentário de Conjuntura

Nelson Barbosa escreveu artigo na Folha semana passada chamando atenção para a administração de Ilan Goldfajn à frente do Banco Central. Para Barbosa, Ilan teria apenas colhido os frutos plantados por Alexandre Tombini, a quem coube a ingrata tarefa de elevar os juros para conter a inflação em aceleração. No decorrer do artigo, Barbosa classifica o aumento de preços de energia e a desvalorização cambial de "choques adversos" sobre a economia brasileira. Será mesmo?

Para examinar a questão, considere o seguinte modelo básico:

(1)   \begin{align*} y = b_0 + b_1 x + \varepsilon, \end{align*}

onde y é nossa variável de interesse, x é um vetor de variáveis explicativas e \varepsilon é um termo de erro que captura tudo o que não está sendo explicado pelo nosso modelo. Isto é, nele estaria o tal "choque" sobre a variável y.

Isso dito, o que chamamos de choque é algo não previsto, certo? O problema na definição de Barbosa sobre "choques adversos" que afetaram a economia brasileira no final de 2014 para o ano de 2015 é que tudo ali estava previsto. Para examinar a questão usando dados, vamos nos concentrar nos preços da energia elétrica residencial e na gasolina. Enquanto o preço da gasolina foi mantido represado durante boa parte do governo Dilma, o preço da energia elétrica residencial sofreu um duro ataque com a MP 579, que alteraria o marco regulatório do setor. Esses preços são considerados administrados, porque seus reajustes são feitos de acordo com algum contrato, sofrendo forte interferência do governo de plantão. O gráfico abaixo ilustra.

 


 

Observe que o preço do subitem energia elétrica residencial tem uma queda brusca no final de 2012, início de 2013, por conta da tal MP 579. Já o preço da gasolina mantém-se quase sempre em uma banda limite até o final de 2014. Ambos os preços sobem drasticamente após as eleições de 2014, refletindo o represamento feito durante o governo Dilma. O que há nesses dois casos, portanto, é apenas consequência do que foi feito anteriormente pelo governo Dilma. Fato, infelizmente, esquecido por Barbosa.

Para além disso, é importante notar que o represamento de preços administrados atendia a uma estratégia alternativa mais geral de controle da inflação, deixando os juros de fora do processo. Isto é, o governo Dilma tinha como objetivo controlar a inflação ao tentar controlar preços administrados, evitando assim usar os juros para tal tarefa. Isso inclusive está documentado na heterodoxia econômica que sustentou teoricamente aquele governo. Novamente, um fato esquecido por Barbosa.

Tudo isso dito, soa leve demais chamar de "choques adversos" o que na verdade foi uma correção dos erros de cometidos pelo governo na condução da política econômica, em particular da política monetária. Ocorre choque quando não é possível antecipá-lo, o que claramente aqui não era o caso.

_______________________________

Saiba como coletar, tratar, analisar e apresentar dados com nossos Cursos Aplicados de R.

O código que gera o gráfico está disponível no repositório do Clube do Código.

Uma Nova Análise Macro

By | Cursos

Uma Nova Análise Macro surge nesse mês de março. Nos dias de Carnaval, de modo a ter o menor impacto possível sobre nossos alunos e clientes, estivemos trabalhando na migração do layout do Site. Com design moderno, o novo layout consolida a identidade visual da Análise Macro, voltada para análise de dados. Com isso, completamos todo o processo de reestruturação da empresa, que agora conta com uma plataforma de EAD exclusiva e suporte integrado aos alunos.

Além desse tripé de novidades, também habilitamos o check-out transparente do PayPal no site, de modo a agilizar o processo de compra. Agora, de forma totalmente segura, o cliente pode comprar diretamente no site da Análise Macro, sem ser direcionado para o PayPal.

Como última novidade, o Clube do Código passa a ficar sediado apenas no github, espaço mais adequado para suas atividades. Ao longo de 2019, o Clube centralizará nossos esforços de atuação na área de data science, sediando exercícios e os primeiros esboços de novos cursos em R e Python que resolvam problemas de coleta, tratamento, análise e apresentação de dados.

Se você é aluno, seja bem-vindo a essa Nova Análise Macro. Sua conta exclusiva espera por você aí em Área do Aluno.

Caso ainda não seja nosso aluno, sinta-se à vontade para navegar pelo nosso site. Será um prazer tê-lo conosco!

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

By | Cursos

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!

Construindo previsões combinadas para a taxa de desemprego brasileira

By | Macroeconometria

Na seção 14 do nosso curso de Construção de Cenários e Previsões usando o R, ensinamos os alunos a construir previsões combinadas de diversos modelos. É bastante consensual na literatura de que previsões combinadas tendem a ser melhores do que previsões individuais, uma vez que elas podem incorporar as características de diversos modelos. Com base nesse pressuposto, na edição 53 do Clube do Código construímos uma previsão combinada para a taxa de desemprego brasileira, medida pela PNAD Contínua, com base no EQM de três modelos: SARIMA, Filtro de Kalman e BVAR. Os resultados encontrados corroboram com a literatura, como resumo nesse post.

Para o exercício, pegamos uma amostra que vai de março de 2013 a janeiro de 2019. De forma a construir o EQM, dividimos a amostra em duas, uma para gerar os modelos e outra para o gerar as previsões. Abaixo uma tabela que compara algumas métricas de avaliação dos três modelos estimados.

 

Acurácia dos Modelos
  ME RMSE MAE MPE MAPE ACF1 Theil's U
SARIMA 0.28 0.38 0.28 2.41 2.41 0.51 1.70
Kalman -0.11 0.17 0.15 -0.95 1.26 0.42 0.70
BVAR 0.22 0.42 0.24 1.86 1.98 0.25 1.89
Combinada -0.07 0.17 0.16 -0.56 1.33 0.40 0.71

 

De fato, as previsões combinadas são as que possuem os menores erros, por praticamente todas as métricas de avaliação. Abaixo, para ilustrar, colocamos as previsões para seis meses dos três modelos e a combinação entre eles feita pelo inverso do EQM.

 

Previsões para a Taxa de Desemprego
  SARIMA Kalman BVAR Combinada
2019 Feb 12.6 12.4 11.9 12.3
2019 Mar 13.1 13.0 11.8 12.8
2019 Apr 12.9 12.8 11.8 12.6
2019 May 12.6 12.6 11.7 12.5
2019 Jun 12.3 12.4 11.5 12.3
2019 Jul 12.1 12.4 11.4 12.3

 

O exercício está disponível no repositório privado do Clube do Código no github.

_____________________________________

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

Cadastre-se na newsletter
e receba nossas novidades em primeira mão!