Raio-X do crescimento econômico brasileiro usando o R

Como um nadador destemido, o Brasil mergulhou. Em uma tendência negativa de crescimento econômico, é o que dizem as contas nacionais do IBGE do primeiro trimestre de 2015, divulgadas no dia 29/05. Na margem [contra o último trimestre de 2014], o PIB teve variação negativa de 0,16%. Para tanto, contribuíram a formação bruta de capital fixo, o consumo das famílias e do governo. Algum respingo de esperança veio das exportações, com crescimento de 5,71% nessa mesma base de comparação. No lado da oferta, a indústria continua seu martírio, apresentando variação negativa de 0,26%, enquanto os serviços resolveram acompanhar e ensaiam uma estagnação. Efeitos do declínio da renda na margem e do maior endividamento das famílias. Nessa ótica, apenas a agropecuária - sempre ela - respira, com 4,66% de aumento em relação ao trimestre anterior. A tabela abaixo resume as variações na margem, trimestral [contra o mesmo trimestre do ano anterior] e acumulada em 4 trimestres. Os dados do mergulho brasileiro foram importados para o e as contas são mostradas para o leitor interessado em aprender algo, em meio à tragédia anunciada e hoje realizada. Aos dados, então?

PIB e Componentes (%)
 2015Q1
Margem Trimestral Anual
PIB -0,16 -1,56 -0,89
FBCF -1,31 -7,77 -6,94
CF -1,53 -0,94 0,16
CG -1,29 -1,51 0,37
X 5,71 3,24 -1,01
M 1,18 -4,67 -2,52
IND -0,26 -2,95 -2,55
SERV -0,75 -1,16 -0,18
AGRO 4,66 4,03 0,64

O leitor interessado em fazer essas contas deve, primeiro, pegar a tabela com os números índices de todos os componentes do PIB lá no SIDRA. É preciso pegar dois números-índices para cada componente: um encadeado normal e outro com ajuste sazonal. Monte seu csv e importe para o com o código abaixo. Observe que a frequência é trimestral, logo você deve colocar no argumento freq.

pib <- ts(read.csv(file='pib.csv',
 header=T,sep=";",dec=","),
 start=c(1996,1), freq=4)

Uma vez feito isso, devemos fazer as contas. A variação marginal deve ser feita sobre o número-índice com ajuste sazonal, enquanto as variações trimestral e anual são feitas sobre o número encadeado normal. No você pode fazer isso da seguinte forma.

### Dividir em pib_sa e pib normal

pib_sa <- pib[,c(1,3,5,7,9,11,13,15,17)]
pib <- pib[,-c(1,3,5,7,9,11,13,15,17)]

### Variação Marginal

margem <- (pib_sa/lag(pib_sa,-1)-1)*100
colnames(margem) <- colnames(pib_sa)

### Mesmo trimestre do ano anterior

trimestral <- (pib/lag(pib,-4)-1)*100
colnames(trimestral) <- colnames(pib)

### Acumulado em 4 trimestres

anual <- (((pib+lag(pib,-1)+lag(pib,-2)+lag(pib,-3))/4)/
 ((lag(pib,-4)+lag(pib,-5)+lag(pib,-6)+lag(pib,-7))/4)-1)*100
colnames(anual) <- colnames(pib)

Feito isso, agora você tem três objetos com as respectivas variações. Podemos pedir o gráfico da variação anual dessas séries com a função gtsplot do pacote BMR, que você tem visto aqui nesse espaço na série sobre Raio-X da inflação no Brasil.

anual

À exceção da agropecuária, todos os demais componentes do pib mostram uma tendência de queda de 2010 para cá. Em outras palavras, o mergulho da economia brasileira, se é que ainda existia alguma dúvida, leitor, tem sido bastante pronunciado já há algum tempo, envolvendo praticamente todos os componentes do PIB. Será que vai melhorar?

Será que vai melhorar?

Para responder essa pergunta precisamos gerar uma previsão para o PIB que acabamos de calcular. Isso, entretanto, não é simples. O PIB é uma variável complexa, que depende de escolhas de um sem número de agentes. Desse modo, para prevê-lo é preciso reunir séries que contenham indicativos sobre essas decisões, como câmbio real, juros, superávit primário, produção industrial, horas trabalhadas, vendas no comércio, etc. Ou seja: trabalho, leitor, muito trabalho.

Para uma leitura rápida sobre o cenário desenhado em 2015, vamos gerar uma previsão simples aqui, utilizando cinco variáveis: câmbio real, superávit primário, juros reais, ibc-br e pib mensal do ibre/fgv. O câmbio real é a série 11752 do Banco Central, o superávit primário é dado pelas Necessidades de Financiamento do Setor Público, acumuladas em 12 meses e normalizadas pelo PIB, com sinal trocado, os juros reais são a taxa de swap-360 deflacionada pelas expectativas de inflação para os próximos 12 meses, o ibc-br é o índice de nível de atividade do Banco Central e o pib mensal do IBRE/FGV é a variação acumulada em 12 meses.

Um problema imediato surge, como o leitor já pode ter notado. Essas séries são mensais enquanto o pib está em base trimestral. Com efeito, precisamos "trimestralizar" as séries. Fiz isso no com o código abaixo. Observe que para trimestralizar, pegamos simplesmente a média das variáveis.

### Transformar dados mensais em trimestrais

prev <- aggregate(prev, nfrequency=4, FUN='mean')

Os gráficos dessas séries, bem como a variação anual do próprio PIB são colocados abaixo, para o período de 2008Q1 a 2015Q1.

regressores

Abaixo os correlogramas dessas séries, construídos a partir das funções gacf gpacf do pacote BMR.

gacf

gpacf

Quase tudo pronto para construir o modelo. Optei por construir um BVAR usando a função BVARW do pacote BMR, como pode ser visto no código abaixo.

### Modelo

bvarw2 <- BVARW(prevpib, cores=1, coefprior=NULL, p=2,
 constant=T, irf.periods=20, keep=10000, burnin=1000,
 XiBeta=1, XiSigma=1, gamma=NULL)

Para maiores informações sobre os argumentos dessa função, bem como sobre o tipo de BVAR escolhido [Normal-inverse-Wishart Prior], consulte a documentação do pacote aqui. Importante ressaltar, apenas, que dados os resultados dos testes ADF e KPSS, obtidos com a função stationarity, assumi a existência de passeio aleatório no argumento coefprior.

Rodado o modelo, podemos gerar a previsão com a função forecast, como abaixo.

### Forecast

forecast.bvarw2 <- forecast(bvarw2, periods=3, shocks=T, plot=T,
 percentiles = c(.05, .50, .95), backdata=10,
 save=T)

As trajetórias previstas...

Forecast

E uma tabela que resume a previsão para o PIB, IBC-Br e PIB IBRE-FGV nos três trimestres restantes de 2015...

Previsões para o PIB (% a.a.)
PIB IBC IBRE
2015Q2 -1,64 -1,77 -1,49
2015Q3 -1,85 -2,04 -1,83
2015Q4 -1,56 -1,79 -1,66

Ou seja, leitor, 2015 está mesmo perdido, com queda prevista de 1,56%... Consequências dos excessos dos últimos anos, infelizmente... 🙁

Compartilhe esse artigo

Facebook
Twitter
LinkedIn
WhatsApp
Telegram
Email
Print

Comente o que achou desse artigo

Outros artigos relacionados

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.

Como usar modelos do Sklearn para previsão? Uma introdução ao Skforecast

Prever séries temporais é uma tarefa frequente em diversas áreas, porém exige conhecimento e ferramentas específicas. Os modelos de machine learning do Sklearn são populadores, porém são difíceis de aplicar em estruturas temporais de dados. Neste sentido, introduzimos a biblioteca Skforecast, que integra os modelos do Sklearn e a previsão de séries temporais de forma simples.

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.