Nova Apostila do R para Econometria Aplicada !

apostilar_capaTenho a satisfação de anunciar a disponibilização da nossa apostila de econometria aplicada em R. Sim, antes que você pergunte, ela é gratuita.

Ela não está ainda do jeito que eu gostaria. Ao longo dos anos, vários co-autores foram convidados mas, no final, ficamos apenas eu e o prof. Rodrigo. Portanto, embora versões anteriores tenham circulado com nomes de outros colegas, esta versão  – totalmente repaginada para uso em RStudio leva apenas nossos nomes, ok?

Confesso que tentei algumas editoras, mas todas elas foram taxativas: não insista, não queremos saber de um livro de apoio para econometria aplicada em programas gratuitos. Diante desta resposta, pensei em arriscar um ebook, mas é tanto trabalho com formatações chatas que, sozinho, eu não conseguiria.

Além disso, embora eu não acredite que exista uma horda de alunos famintos por econometria aplicada no Brasil (muitas vezes eles sequer lêem uma PEC de duas páginas antes de palpitarem como especialistas em finanças públicas…), acredito que há sempre um aluno aqui ou ali, sem muitos recursos para aprender econometria e que, infelizmente, ainda não venceu a barreira do inglês. É para ele que dedico a apostila.

Ao longo dos anos, muitos amigos e colegas me incentivaram a usar o R. São tantos que não vou nomeá-los para não cometer injustiças. De qualquer forma, que fiquem registrados meus agradecimentos a eles.

O endereço da página oficial da apostila é este.

Momento R do Dia – organizando dados

Um dos méritos do R é a facilidade em analisar bases de dados. Na prática (não na vida boa da sala de aula, na qual o professor geralmente te dá uma base de dados razoavelmente arrumada), as bases de dados nos chegam de uma forma bem bagunçada.

O exemplo de hoje usa o pacote plyr e o comando ddply. Baseado nestes ótimos exemplos, resolvi fazer uma aplicação com os dados do relatório de transparência do Google (ver post anterior).

Para você ter uma idéia da base, eis uma rápida visualização da mesma.

google_transp

Repare que a mesma está ordenada por países (embora isso não faça a menor diferença para o que farei a seguir). Outra coisa: os dados são semestrais, por isso os dados são sempre em junho ou dezembro. Nosso exemplo usará apenas a variável “Court Orders”, calculando estatísticas básicas para a mesma, por países e anos.

Eis as duas linhas de comando (uma para invocar o pacote e outra para fazer o que estamos nos propondo).

library(plyr)
ddply(dados, c("Period.Ending", "Country"), summarize, 
      N=sum(!is.na(Court.Orders)),
      mean=mean(Court.Orders,na.rm=TRUE),
      sd=sd(Court.Orders,na.rm=TRUE),
      se=sd/sqrt(N))

Bastante sintético, não? Veja o resultado no corte da tela de resultados abaixo.

google_transp2

Legal, não? Na próxima versão da minha apostila (iniciada há algum tempo para um seminário no PPGOM-UFPel, agora com mais co-autores) incluirei um pouco mais de “argamassa” na parte de organização dos dados.

Recursos Humanos…em R

Eis um interessante texto. Assinar o Predictive Times é gratuito e você pode se entreter com uma leitura como esta:

Much has been written about customer churn – predicting who, when, and why customers will stop buying, and how (or whether) to intervene. Employee churn is similar – we want to predict who, when, and why employees will terminate. In many ways, it is smarter to to focus inward on employees. For one thing, it is far easier for an company to change the operations or even the behavior of an employee, than that of a customer. As will be seen, employee churn can be massively expensive, and incremental improvements will give big results.

Sim, vai levar tempo para ler tudo e olhar para o modelo dos autores, mas já deu para sentir que a ciência dos Recursos Humanos é muito mais interessante do que nosso amadorismo tupiniquim, não? E olha que gráfico supimpa!

Estas coisas é que animam a gente.

Outro gráfico do rCharts…

tsay_help

 

Desta vez, com a ajuda do próprio criador do pacote rCharts, consegui um gráfico com dados do recém-adquirido livro do prof. Tsay que comprei nesta manhã de domingo. A base de dados é esta:

Monthly simple returns of the stocks of International Business Machines (IBM) and Coca Cola (KO) and the S&P Composite index (SP). The sample period is from January 1961 to December 2011. The original data were from the Center for Research in Security Prices (CRSP) of the University of Chicago. The files has four columns. They are dates, IBM, SP, and KO.

Como eu sou um péssimo programador, não conseguia acertar o eixo das datas. Agora, com a dica do prof. Vaidyanathan, tentarei gerar outros gráficos interativos como este, inclusive para o Nepom.

Quando você clicar na imagem, será redirecionado para o site no qual se encontra o gráfico e poderá se divertir com a pequena, mas interessante, interatividade com os dados. Muito bom este rCharts…muito bom.

Momento R do Dia

Na verdade, um texto interessante, que advoga o uso do R Markdown no ensino de Estatística. Talvez os professores de Estatística da nossa faculdade achem interessante. Você consegue acesso ao texto aqui.

Mas o que é R Markdown?

Melhor ver a descrição feita pelo pessoal do RStudio:

R Markdown enables easy authoring of reproducible web reports from R. It offers:

  • Easy creation of web reports from R that can be automatically regenerated whenever underlying code or data changes.
  • A highly accessible syntax (markdown) which lower the barriers to entry for reproducible research.
  • Output of a standalone HTML file (with images embedded directly in the file) that is easy to share using email, Dropbox, or by deploying to a web server.
  • Support for publishing dynamic and interactive web content.

This article includes an overview of how to use R Markdown within RStudio. For more specific details on syntax and implementation, see the R Markdown article.

O que o R Markdown faz? Primeiramente, ele não é um editor de texto. Nem uma planilha, ou um editor de slides. Não há “efeitos e animações”, exceto se você programar algum, claro. O que ele faz é gerar, em um único documento, a união de seus comandos no R e resultados do trabalho.

O artigo citado busca convencer o leitor da superioridade do R Markdown sobre algumas outras opções existentes (poucas, até onde sei), mas não creio que seja preciso argumentar muito (dá uma lida no artigo e veja se concorda comigo). Vantagens e limitações sobre seu uso são discutidas, bem como experiências em duas universidades.

Mas por que os autores se preocupam tanto com esta história de reproduzir resultados? 

Os autores apontam vários problemas ao tentarem avaliar trabalho de alunos porque os mesmos não são reproduzíveis (um problema comum e importante para professores de disciplinas similares como Econometria, Psicometria, etc). Por exemplo, o que há de errado em “copiar-e-colar” resultados do programa econométrico no editor de texto e entregar apenas o resultado? Cito um trecho (negrito por minha conta):

Since the commands used to generate the statistical output are not present in the final presentation, then either: a) the reader must assume that the student has calculated exactly what they say they have calculated, since there is no way of verifying the computation; or b) the grader must rely on the student to also copy-and-paste the commands used to generate the analysis. In either case, it will frequently be the case that the grader will be unable to completely follow the student’s work. Moreover, the issue of reproducibility is relevant not only for a second-party (i.e. a grader), but also for the student. Being able to retrace steps while studying for a fi nal, for example, is a desirable outcome. More concretely, the student may be reminded years later of the analysis, and seek to reapply the same methods in a diff erent setting. Having the commands separated from the results inhibits this process.

Ou seja, como o estudante vai aplicar o que aprendeu (supondo que foi honesto e não copiou o trabalho alheio) se só guardou o trabalho final? Das duas uma: ou copiou de alguém, ou é muito besta de não salvar todos os comandos pois, no final das contas, é isto que o ajudará em aplicações práticas, no futuro.

Não só isso.

Second, the separation of computation from analysis is not logical. The commands in an R script proceed chronologically, such that the analyst will most likely run the entire script all at once. A written report will be read in the same order, and there is no reason why the commands and analysis should not be interwoven.

Outra excelente observação, mas que não requer muitos comentários da minha parte. Mais importante, contudo, talvez seja o problema ético e suas consequências indesejáveis não apenas deste ponto-de-vista (novamente, negrito por minha conta):

Third, the separation of computing from presentation is not necessarily honest. At Smith College, a strict honor code – to which all students are bound – discourages cheating. But it is all too easy for a student copying-and-pasting output from one program to another to fudge a few numbers. Again, the divorce of the computation from the presentation enables the student to edit the content along the way. The possibility of getting “lost in translation” is disastrous for the data analyst. More subtly and less perniciously, the copy-and-paste paradigm enables, and in many cases even encourages, selective reporting.

 

Pois é. A questão científica novamente. No semestre passado, por exemplo, mostrei que a Econometria não é um exercício de “sempre-não-rejeitar-minha-hipótese”, pedindo que fossem estimadas três ou quatro funções consumo para a mesma base de dados. Com todos os problemas (gente que pegou o código e replicou sem pensar, etc), pelo menos um deles evitei: o da seleção de resultados reportados. Nem todos os alunos parecem ter se dado conta (ou apreciado) disto, mas, em algum tempo mais adiante, vão, na prática, sentir os efeitos disto, o que já está ótimo para mim.

Concluindo…

Fortemente sugiro que, se você gostou do que leu, faça um passeio pela página do RStudio que apresenta o R Markdown. Como relatei lá no Nepom, minha monitora de Microeconomia, por exemplo, não usa o R Markdown, mas já faz gráficos interativos como estes. Claro, lá você vai descobrir também o R Pubs, que pode ser útil para seus trabalhos.

Nunca usei o R Markdown em trabalhos de Econometria e talvez o Victor, o monitor da disciplina, ache isto interessante. Digo, talvez os dois monitores de, respectivamente, Econometria I e II, pensem que isto possa ser interessante. Talvez meu colega, professor de Econometria I, também ache, embora ele não use o R, o que não o impede de compartilhar comigo (e, de fato, ele compartilha) a visão de que que resultados de trabalhos estatísticos ou econométricos devem ser reproduzíveis.

Mas, você, usuário de Econometria, deveria considerar alguma forma de registro decente (não aquele amontoado de comandos dos quais você não se lembra depois) dos comandos que usa para gerar resultados para este ou aquele trabalho. Seja ou não com o R Markdown, como os autores ressaltaram, a vantagem para você, no final, é muito maior do que para nós, professores. Afinal, nunca se sabe o dia de amanhã e seu emprego confortável hoje pode dar lugar a um outro no qual você tenha um uso lucrativo de uma vantagem comparativa simples como a de saber usar o R.

Domingo é dia de ir ao cinema

Pois é. E que filme eu gostaria de assistir? Não sei. Mas desconfio que cinema é um bom assunto para um post de economia aplicada (com, sim, dicas de R). Com a ajuda da MPPAJ, eu descobri algumas coisas interessantes sobre o cinema…no Japão.

new new celular3Sou de uma época em que filmes eram vistos, primeiro, no cinema e, muito tempo depois, na televisão. Aí veio o vídeo-cassete e, depois, o DVD (e o Blu-Ray) que diversificaram as opções da indústria de filmes (há filmes que, mesmo que não consigam uma sala para exibição, podem aparecer em DVD e, claro, há as produções exclusivas para a televisão como, por exemplo, o Battlestar Galactica Razor que nunca foi ao cinema).

Aliás, repare como é o processo de mercado (valhei-me, São Hayek!): originalmente, a indústria não tinha uma noção tão precisa de se o vídeo-cassete e o cinema seriam complementares ou substitutos. Claro que a tecnologia era usada para facilitar a vida de quem produzia programas de TV, mas os impactos do vídeo-cassete sobre o cinema não podem ser analisados de forma isolada. Bem, a história da tecnologia dos meios de comunicação nos diz que, penso eu, este é um dos setores mais imprevisíveis.

Na minha época, achávamos, por exemplo, que o vídeo-cassete era uma opção segura de assistir filmes em uma sociedade em que a violência nas ruas começava a aparecer como um problema para os nossos pais.

Você não estava lá…mas eu estava (exceto que era o Brasil, não o Japão)!

Como disse acima, quando surgiram estas inovações – começando com o vídeo-cassete – como é de se imaginar, o mercado de distribuição de filmes sofreu uma boa chacoalhada. Ainda era verdade que filmes saíam primeiro nos cinemas e, só muito depois, em fita. Mas aqueles mais pacientes intertemporalmente podiam escolher consumir o filme depois. Isto foi lá na primeira metade da década dos 80. Sim, leitor(es/as), a taxa de desconto intertemporal é uma variável importante! Em outras palavras, há pessoas mais impacientes (querem consumir logo!) e os pacientes. Aliás, nos EUA, editoras ganham um bom dinheiro lançando livros-texto de capa dura rapidamente e os de capa comum, com algum lapso de tempo: há quem pague mais para ter o livro em capa dura, creia-me.

Mas, voltando aos filmes – hoje é domingo, dia de cinema, não de estudar (para mim, tanto faz, mas…) – claro, o mercado no qual a mudança ocorreu primeiro foi o japonês (onde você acha que inventaram esta história de vídeo-cassete?). Vejamos o que dizem os dados do número de salas de cinema no Japão desde o pós-guerra.

moviesjapan

Percebe-se que a tendência foi de queda – não sem oscilações marcantes – desde o pós-guerra até mais ou menos a década dos 70. Com a chegada do VHS, a tendência de queda não parece ter se alterado, exceto que a queda ficou mais regular (no sentido de não apresentarem oscilações tão fortes). Será que a TV já concorria com o cinema? Duvido um pouco disto porque se há uma relação entre cinema e TV ela não é tão fortemente substituta (lançamentos de filmes não concorrem com a novela das oito ou com filmes antigos). Bom, mas vamos em frente.

O movimento de queda parece sofrer uma reversão nos anos 90. Muitos achavam que o cinema tinha morrido – este era o discurso dos meus amigos, aqui no Brasil – e os mais pessimistas vislumbravam um mundo de pessoas isoladas, vendo filmes em casa até que, ironicamente, surgiu a internet e o suposto “isolamento” foi solapado pelas “ameaças desconhecidas aos nossos filhos” que o novo meio de comunicação trouxe. Em outras palavras, ninguém mais temia o isolamento. Muitos antes pelo contrário. Assim, percebe-se no gráfico um ressurgimento das salas de cinema na terra de Akira Kurosawa. Parece legal, não? Godzilla ressurge?

Mais TV, menos filhos?

Não se esqueça que, além do vídeo-cassete, há que se considerar o público destas salas: por que abrir salas se não há público? Ou seja, como andou a população japonesa no período? Desde o pós-Meiji (era Taishou – 大正) até o período mais recente, você observa uma progressiva diminuição no crescimento da densidade populacional e isto não é porque japoneses estão emigrando: é porque a natalidade está estacionando, se não diminuindo). Veja só o gráfico da densidade…(caso ele não carregue, eis o link)

Densidade populacional

…e o da população (variação anual).

japao_pop

Queda livre depois da década dos 70, não? Em termos de ingressos vendidos, temos o seguinte gráfico:

ingressos

Bem, podemos ver que os dias gloriosos do cinema japonês são passado. O que temos é um renascimento bem mais modesto. Claro, eu não poderia falar destes gráficos sem citar o preço do ingresso e a a MPPAJ tem uma variável que é o “preço médio do ingresso”. Senta que lá vem gráfico!

ingresso

O comportamento do preço médio é de estabilização, não? Eu não deflacionei os dados (hoje é dia de ir ao cinema, né?), mas imagino que a figura geral de estabilização da média do preço não vai mudar muito. Além disso, em uma economia com população em “queda livre”, garantir a audiência do cinema não é algo que se consiga com aumento no preço do ingresso.

Bem, já faz uma hora que estou por aqui e nem sou especialista em mercado cinematográfico. Então, vamos fazer algumas poucas observações finais.

Econometria? Todo cuidado é pouco, e não me refiro à internet ou à TV!

Muito cuidado para não cair na tentação de fazer um diagrama de dispersão entre os ingressos vendidos e o preço médio. Isto não vai te dar uma curva de oferta ou uma curva de demanda. Por que? Porque o número de ingressos vendidos é exatamente o número de ingressos de equilíbrio. Assim, o que temos aí em cima são dados de equilíbrio.

Claro, seria possível tentar obter uma destas curvas indiretamente, usando alguma variável instrumental, mas isto é tema para outro dia.

Conclusão

Ok, eu poderia dizer que os interessados poderiam procurar um pouco de dados de cinema e encontrar alguma coisa para os EUA, mas aí já é ser muito cinéfilo (e eu não sou). Outro tema interessante é verificar a evolução dos filmes japoneses no Brasil. Nos anos 50 (até minha infância cujo período não revelarei…), havia cinemas exclusivos para a colônia lá em São Paulo. Há um bom livro sobre o tema e, bem, talvez eu analise alguns dados daquele livro para ilustrar outro aspecto do R ou da Econometria aqui mas…tudo a seu tempo.

Apêndice – Usando o R

Bom, quanto aos gráficos, vocês notaram que eu mudei o estilo dos mesmos. Usei o R (na verdade, eu praticamente migrei para o RStudio), como sempre. Só para você ter uma idéia dos comandos, eis alguns deles. Os pacotes usados foram lattice latticeExtra. Os dados foram copiados do Excel e colados no RStudio por meio dos seguintes comandos:

base <- read.table(file = “clipboard”, sep = “\t”, header=TRUE)

populacao<-read.table(file=”clipboard”, sep= “\t”, header=TRUE)

Como minha base não estava completa originalmente, você nota que tive que copiar partes da mesma e montá-la em meu ambiente de trabalho (eu tinha os dados de cinema, mas não a população). Segue um exemplo de como converter dados em série de tempo, usando a população.

pop<-ts(populacao,start=(1950),freq=1)
delta_pop<-pop[,2]
delta_male<-pop[,3]
delta_female<-pop[,4]

Para os dados de filmes e ingressos, fiz a mesma coisa:

series <- ts(base, start=c(1955), freq=1)
release_jap<-series[,3]
release_imp<-series[,4]
movie_screens<-series[,2]
total_release<-series[,5]
admissions_thousands<-series[,6]
boxoffice_million_yen<-series[,7]
admission_fee_yen<-series[,8]
jap_distrib_income_million<-series[,9]
non_jap_distrib_income_million<-series[,10]
jap_share<-series[,11]
non_jap_share<-series[,12]

Em seguida, com as bibliotecas citadas, usamos o comando asTheEconomist que gera gráficos como os da revista The Economist (obviamente…). Veja, por exemplo, nosso último gráfico.

asTheEconomist(xyplot(window(admission_fee_yen, start = 1970),
main = “Preço médio do ingresso (Yen)”, sub = “Ano”))

UPDATE

É terrível! Eu abro a caixa de emails e aí encontro uma notícia sobre um dos melhores diretores de cinema japonês…após publicar o post. Bom, já falei dele aqui.