Acompanhando a Política Fiscal do Brasil

Para quem deseja acompanhar a discussão sobre política fiscal no Brasil com maior detalhamento, e conferir se esses jornalistas e economistas de opinião estão falando bobagem mas não sabe onde procurar os número, seguem os links das fontes:

Baixando séries diretamente do SGS do Banco Central pelo R

Pesquisando pelos blogs a gente acaba conhecendo vários pacotes que fazem isso. Alguns ótimos, outros exageradamente grandes, mas minha dificuldade sempre foi fazer funcionar através do firewall do escritório. Pesquisei um pouco mais e adotei uma abordagem mais minimalista, baixando os dados direto das APIs dos institutos e trabalhando. Segue um código de exemplo simples, facilmente adaptável e a explicação:

Os dados do BCB estão acessíveis através de endereços web especialmente construídos, que podemos colocar no próprio browser. Vou usar como exemplo a série do IBC-BR, que é a série 24363. O endereço para ela é:

http://api.bcb.gov.br/dados/serie/bcdata.sgs.24363/dados?formato=json

Se quiser, experimente colar este endereço no seu navegador. Os dados aparecem razoavelmente ordenados, de acordo com o formato JSON. Repare que o número da série é parte do endereço, portanto, para puxar outra série basta substituir o número dela no local correto.

Para o IBC reparei que a série não vai até o final quado chamada neste endereço. Para vir ela toda eu adiciono no fim uma data inicial e ele interpreta que quero tudo, até o fim. O endereço fica assim:

http://api.bcb.gov.br/dados/serie/bcdata.sgs.24363/dados?formato=json&dataInicial=01/01/2001

Repare que coloquei 2001, mas os dados só começam em 2003. O R possui algumas bibliotecas que lêem os dados no formato JSON, eu escolhi usar a “jsonlite”.


library(jsonlite)

A função que lê os dados JSON é a fromJSON. Na linha a seguir mando ele baixar os dados do endereço, passo pelo fromJSON para traduzir para o formato data.frame e salvo em uma variável.


ibc = fromJSON("http://api.bcb.gov.br/dados/serie/bcdata.sgs.24363/dados?formato=json&dataInicial=01/01/2001")

Se der um erro provavelmente você está no escritório e a TIC está bloqueando o acesso direto. Contornamos isso baixando os dados primeiro para um arquivo e lendo ele a partir daí.


download.file("http://api.bcb.gov.br/dados/serie/bcdata.sgs.24363/dados?formato=json&dataInicial=01/01/2001","ibcbr.json")
ibc = fromJSON("ibcbr.json")

Já podemos ler essa variável IBC no R normalmente, PARECE que está tudo certo. Se analisarmos mais profundamente, no entanto, vemos que os dados estão codificados como “caracteres” e não como números. Vamos fazer a conversão no R mesmo.


ibc$valor = as.numeric(ibc$valor)
ibc$data = as.Date(ibc$data,"%d/%m/%Y")

ibc

plot(ibc, type="l", main="IBC-BR", ylab="", xlab="")

O último gráfico deve ficar assim:

Rplot.jpg

Esse método vale para o BCB, mas para os demais órgãos é semelhante. Só é questão de descobrir como são formados os endereços e qual formato de arquivo eles usam. Por exemplo, no IBGE os endereços são formados com regras de acordo com esta página: http://api.sidra.ibge.gov.br/home/ajuda

Ciência reprodutível com R

Segue o link para uma apresentação do pessoal da Microsoft de como utilizar a linguagem R para aumentar a reprodutibilidade de sua pesquisa. Este vem sendo um tema que tenho insistido nos últimos tempos e que tem crescido bastante, com novos métodos e recomendações práticas mais claras.

Yesterday, I had the honour of presenting at The Data Science Conference in Chicago. My topic was Reproducible Data Science with R, and while the specific practices in the talk are aimed at R users, my intent was to make a general argument for doing data science within a reproducible workflow. Whatever your tools, a reproducible process:Saves time,Produces better science,Creates more trusted research,Reduces the risk of errors, andEncourages collaboration.

Fonte: Reproducible Data Science with R

Divulgação das bases de dados

Assunto importante debatido no blog do Gelman, sobre estatística (na maioria das vezes). Minha posição é de maior divulgação possível, tanto para as bases como também para os códigos. Na minha tese usarei uma base fechada, mas pretendo divulgar o código (github talvez?). A melhor forma de separar o trabalho de “arrumação” dos dados dos próprios, e explicitar o “valor adicionado” do seu trabalho é que a limpeza esteja no código e não diretamente nas planilhas.

It is still relatively uncommon for social scientists to share data or code as a part of the peer review process. I feel that this practice runs contrary to notions of replicability and reproducibility and have a desire to voice opposition to instances in which manuscripts are submitted without data and code. Where, however, is such opposition appropriately expressed? I am specifically curious about whether or not it is appropriate to refuse to review an article in the absence of code or data.

Fonte: Why aren’t people sharing their data and code? – Statistical Modeling, Causal Inference, and Social Science Statistical Modeling, Causal Inference, and Social Science

“Aula” de oito minutos

Não estou mais como tutor neste semestre, nos preparativos para a conclusão da tese, mas segue a leitura ocasional sobre a técnica de classe. A ideia aqui é interessante como complemento para as classes “flipadas” e o aumento da interatividade entre os alunos e professor.

I noticed that students had difficulty understanding the content in a way that enabled accurate and deep application without some framing from me. In short, I needed to lecture—at least a little. This is when I began the eight-minute lecture. If you’re worried that eight minutes is too long, I discovered that when students experience many short lectures throughout the semester, they learn to focus in those bursts, in part because they know the lecture will be brief.

Fonte: The Eight-Minute Lecture Keeps Students Engaged