Construindo sua primeira análise de dados do ZERO com o R

Um tema que os economistas sempre estudam é a inflação. A inflação é conhecida como a taxa de crescimento do nível geral de preços entre dois períodos distintos. No post de hoje, iremos aprender passo a passo a como construir uma análise de dados do zero do indicador, iniciando pela etapa de importação, seguindo para limpeza e tratamento, exploração e visualização e iremos finalizar criando um modelo de regressão de forma a entender a inflação com a ajuda da teoria econômica.

Averiguar a inflação de um país é uma tarefa dificultosa, imagine, medir o preços de todos os produtos? Apesar disso, o IBGE realiza uma árdua tarefa que visa tentar replicar o valor da inflação através do Índice de Preço dos Consumidor Amplo - IPCA , criando pesquisas que visam entender o consumo dos brasileiros, ponderando os produtos e calculando as variações dos mesmos ao longo do tempo.

E o interessante é que o instituto disponibiliza os dados do indicador através de sua plataforma: SIDRA.

Conseguimos acessar os dados do SIDRA através de uma API disponibilizada pelo instituto, entretanto, seria um pouco dificultoso aprender a como utilizar a API e consultar os dados, não?

Por isso, a comunidade do R fez a questão de criar um pacote que auxilia no processo: {sidrar}. Vamos utilizar o pacote para buscar os dados.

Para buscar os dados do SIDRA, devemos acessar a plataforma, encontrar a tabela dos dados do IPCA que desejamos, selecionar os parâmetros (as informações que desejamos importar) e em seguida copiar a chave API. Para mais detalhes veja os posts de como importar os dados: Como importar dados do Banco Central, IPEADATA e Sidra no R?Coletando dados do SIDRA com o Python.

Vamos utilizar a tabela 1737, referente aos dados do IPCA Acumulado em 12 meses. O objetivo de utilizar o acumulado é que desta forma podemos entender a variação em um período de maior longo prazo e que possibilita tirar informações mais interessante sobre a conjuntura se comparado com a variação mensal ou mesmo o número índice.

Com a chave API em mãos, podemos utilizar a função do pacote {sidrar}, get_sidra(), e salvar o resultado da consulta em um objeto.

Coleta

Agora já temos uma forma de importar os dados do IPCA direto no R! Entretanto, vamos analisar o que importamos:

Limpeza e Tratamento

Há diversas colunas, com dados que não possuem importância para a nossa análise, bem como possuem colunas em que os tipos de dados estão totalmente errados! Devemos criar uma forma do R conseguir ler corretamente. Partimos para o processo de limpeza e tratamento.

Veja o código acima, parece um pouco complicado, certo? Vamos explicar um pouco o que está acontecendo.

Em primeiro lugar, colocamos o nome do objeto ipca_raw, em seguida um símbolo |> e depois uma função. O que aconteceu aqui? Estamos utilizando o operador pipe do R, que permite colocarmos tudo o que está do lado esquerdo (isto é, o resultado) dentro do primeiro argumento da função da próxima linha.

O primeiro argumento da função select() é um argumento que especifica qual o objeto com dados deverá ser utilizado, no caso, ipca_raw. O operador ajuda a criarmos uma sequência de códigos limpa e fácil de ler.

Seguindo o processo, iremos utilizar a função select() do pacote dplyr, que vai permitir escolhermos quais as colunas que queremos selecionar do data frame importado. No caso, selecionamos 2 colunas: Mês (Código) e Valor, veja que selecionamos utilizando aspas e também colocando "data" e "ipca" como valores iguais as colunas. Utilizamos isso para encurtar o caminho: estamos alterando o nome das colunas selecionadas para data e ipca, ou seja, além de selecionar colunas a função select permite alterar o nome das mesmas.

Em seguida, utilizamos pipe novamente, colocando o resultado da linha dentro da função da próxima linha: mutate(). A função mutate() permite alterar as observações das colunas do data frame. Aqui, utilizaremos a função ym do pacote lubridate para alterar os dados da coluna data para o tipo date (está em formato character).

Logo após, vamos aplicar um filtro de dados no data frame com a função filter(). Queremos dados a partir de 2004-01-01, que está salvo no objeto data_inicio. Para isso, dentro da função filter() colocamos que queremos os valores da coluna data >= (maior e igual) que data_inicio (2004-01-01).

Por fim, utilizamos a função as_tibble para alterar a estrutura de dados (a classe) do objeto para tibble, que é uma classe similar ao data frame usual, entretanto com mais informações.

Exploração dos Dados

Agora que realizamos a limpeza dos dados, podemos realizar a exploração dos dados.

Devemos começar com algumas perguntas para a nossa análise:

Como a inflação se comportou no Brasil?

Qual o período com menores e maiores taxas de inflação?

Qual o valor médio da inflação do Brasil e como é a distribuição de seus valores?

O que afeta a inflação? Com qual variável ela se relaciona?

Vamos começar com a função summary(), que permite calcular os cinco números dos valores do IPCA. Vemos que o valor mínimo do IPCA Acumulado em 12 meses foi de 1,880%, enquanto o valor máximo foi de 12,13%. A mediana dos valores durante o período está em  5,832%.

Podemos entender o comportamento do indicador ao longo do tempo através de uma gráfico de linha, com a data no eixo x e o IPCA no eixo y. Para construir, utilizamos o pacote {ggplot2}, com as suas funções. Primeiro criamos a camada do gráfico com ggplot(), em seguida, criamos a camada das coordenadas dos dados do gráfico com aes(), depois construído o gráfico de linha com geom_line(), e por fim, adicionamos geom_smooth() para criar uma linha que mensura a tendência do indicador ao longo da série.

Veja que no gráfico podemos entender os período em que houveram maior e menor inflação.

Com o Histograma podemos analisar a distribuição dos dados. Vemos que os valores se encontram próximo do valor 5% e 6%, com uma cauda alongada para a direita, com pontos extremos positivos, significando menores frequências de acontecimento.

E por fim, os cinco número em forma de gráfico: boxplot. Exibe exatamente o que temos na função summary().

Modelagem

Agora, vamos tentar entender algo sobre a inflação, o que afeta ela? Vamos recapitular a teoria econômica para isso.

Curva de Phillips

Em 1958, A. W. Phillips traçou um diagrama que mostrava a relação entre a taxa de inflação e a taxa de desemprego no Reino Unido para cada ano de 1861 a 1957. Logo após o trabalho de Phillips, Paul Samuelson e Robert Solow repetiram o exercício para o Estados Unidos e batizaram de curva de Phillips.

Rapidamente se tornou fundamental para o pensamento macroeconômico e para a política macroeconômica. Ela parecia implicar que os países poderiam escolher entre combinações diferentes de desemprego e inflação. Um país poderia ter um índice baixo de desemprego se estivesse disposto a tolerar uma inflação mais alta, ou atingir a estabilidade do nível de preços — inflação zero — se estivesse disposto a tolerar um desemprego mais alto.

A Curva de Phillips se tornou uma forma quase definitiva de entender a inflação em um país, entretanto, sofrendo diversas modificações ao longo do tempo, sendo aprimorada pela teoria econômica e por trabalhos empíricos.

Para manter a análise simples, vamos utilizar a Curva de Phillips original, traçando a relação entre Inflação e Desemprego no Brasil. Para isso, devemos obter os dados da Taxa de Desocupação do Brasil através do SIDRA. Repetimos o mesmo código de coleta e tratamento, entretanto, utilizando a chave API do indicador da tabela 6381.

Juntamos os dois indicadores através da função inner_join(), que permite que os dados da coluna 'data' sejam 'colados' e que os dois data frames se juntem.

Por fim, podemos entender a relação dos dois indicadores através de um gráfico. Vejam abaixo, podemos entender que há uma relação.

Utilizar gráficos podem nos ajudar a estabelecer a relação entre os dois indicadores, entretanto, podemos evoluir a análise utilizando uma regressão simples, em que a variável independente é a desocupação e variável dependente é o IPCA. O resultado vemos abaixo: o coeficiente é negativo, expressando a relação negativa entre os dois indicadores; temos uma relação estatística significante; e apesar disso, há pouca explicação da desocupação em relação a inflação, de acordo com o R²: apenas 0.09302..

Por fim, podemos entender a relação dos dois indicadores por meio de um gráfico de dispersão.


____________________________________________________

Quer aprender mais?

Veja nosso curso de Fundamentos de Análise de Dados, onde ensinamos todo o processo para aqueles que desejam entrar na área. O curso faz parte da trilha Ciência de Dados para Economia e Finanças.

___________________________________________________

Referências

BLANCHARD, Olivier. Macroeconomia. Pearson, 2017.

DORNBUSCH, Rudiger; FISCHER, Stanley; STARTZ, Richard. Macroeconomia. Bookman Editora, 2013.

Compartilhe esse artigo

Facebook
Twitter
LinkedIn
WhatsApp
Telegram
Email
Print

Comente o que achou desse artigo

Outros artigos relacionados

Como analisar o Núcleo de Inflação no Brasil usando Python?

O Python se destaca como uma ferramenta robusta para análise de dados, permitindo a aplicação de uma ampla gama de técnicas em dados econômico-financeiros. Neste exercício, destacamos como a linguagem oferece uma facilidade muito grande na coleta de dados dos núcleos do IPCA diretamente do site do Banco Central, na manipulação eficiente desses dados e na construção de gráficos que facilitam a compreensão dos indicadores.

Propensity Score com Múltiplas Variáveis no R

O escore de propensão é provavelmente a maneira mais comum de agregar múltiplas variáveis de correspondência em um único valor que pode ser correspondido, ou seja, muito útil para a realização de pareamento.

O escore de propensão é a probabilidade estimada de que uma determinada observação teria sido tratada. A correspondência de escore de propensão muitas vezes significa selecionar um conjunto de observações de controle correspondidas com valores semelhantes do escore de propensão.

Análise regional da inflação com dados do IBGE usando Python

Os dados desagregados do IPCA fornecem informações detalhadas sobre o comportamento de preços no Brasil a nível de região metropolitana e município, possibilitando ricas análises regionais de dados. Neste artigo mostramos como acessar, processar e analisar estes dados utilizando o Python.

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.