Decompondo as desigualdades: material para a replicação completa de “Os impactos da geração de empregos…”

a06graf01

Publiquei na RBCS: “Os impactos da geração de empregos sobre as desigualdades de renda: uma análise da década de 2000“. O link na página do Scielo é esse aqui. Pra quem prefere o PDF (que ficou bem bonitinho), é esse aqui.

O texto é em co-autoria com Flavio Carvalhaes, Pedro Herculado F. de Souza e Carlos Costa Ribeiro. Estou muito feliz. Mas produzir todas as análises foi um processo longo e de muito aprendizado…

Nosso trabalho trata do seguinte: houve uma grande geração de empregos na década de 2000 e, simultaneamente, grande queda da desigualdade de rendimentos… Perguntamos então: como esses dois fenômenos se relacionam? Noutros termos: a mudança composicional da força de trabalho (da distribuição dos indivíduos entre as ocupações) exerceu influência sobre o verificado movimento de queda?

Bem… descobrimos que sim, mas esse não foi o fator principal. A geração de empregos foi um fenômeno positivo, que trouxe melhoria dos postos de trabalho existentes (o que pode trazer efeitos de mais longo prazo); mas sua contribuição imediata para o saldo de queda das desigualdades na última década foi de 18%. Outros fatores — principalmente relacionados à educação — foram mais importantes (o que corrobora outras pesquisas já realizadas sobre o assunto). No entanto, justamente porque o “componente ocupacional” não caiu tão depressa quanto os demais, hoje em dia, sua participação na parcela restante de desigualdade de renda (ainda muito alta!) se tornou mais importante. Noutros termos, o movimento de queda trouxe mudança qualitativa da composição das desigualdades.

Para aqueles que se interessam, esse aqui é o link para o material completo de replicação do nosso texto. Tudo foi feito no R. Na pasta principal, há dois scripts que executam toda a análise (não é preciso acessar os demais, localizados dentro das outras pastas). É preciso apenas que o usuário mude, dentro dos scripts, o nome das pastas onde os arquivos estão localizados.

As bases de dados utilizadas podem ser baixadas no site do Centro de Estudos da Metrópole.

Anúncios

Milhões de casos em segundos: os Censos no R

funilCensos Demográficos são bancos de dados muito pesados! Milhões de casos… Operações simples, como frequências, médias e proporções podem demorar muitos minutos. Modelos estatísticos complexos podem demorar horas… ou dias.  O  R convencional (assim como o Stata) carrega todos as informações com as quais está trabalhando na memória RAM. Ou seja, as análises são realizadas muito rapidamente, mas não é possível abrir um banco que seja maior do que a memória disponível. O SPSS e o SAS executam as análises a partir dos arquivos no HD – assim, suportam bancos grandes, mas são muito lentos.

Neste em 2012 e 2013 trabalhei muito com os Censos brasileiros (cf. Projeto Censo). Era necessário descobrir uma maneira de agilizar as análises. Foi quando descobri uma versão do feita exatamente para lidar com grandes bancos de dados, produzida pela Revolution AnalyticsEssa  empresa construiu um software (não aberto) em cima do R convencional — o RevolutionR. Ele funciona com a mesma linguagem, suporta os mesmos pacotes e funcionalidades — mas com alguns adicionais (como dizem, “100% R and more“). Uma versão gratuita do RevolutionR para uso individual ou acadêmico pode ser baixada aqui. Uma das principais diferenças é a presença de um pacote para “big data”, que não pode ser instalado no R convencional, chamado RevoScaleR. Quais são suas vantagens?

  • É possível trabalhar com dados de qualquer tamanho, pois ele acessa informações a partir do HD (assim como o SPSS e o SAS), superando os limites de memória RAM.
  • O RevolutionR permite salvar dados num formato próprio, com extensão XDF. Nesses arquivos, grandes bancos de dados são fragmentados e salvos em blocos separados (como uma planilha com múltiplas abas), chamados chunks ou blocks. Processar cada bloco de uma vez é menos pesado do que trabalhar com o banco todo (esse é o princípio já adotado, no R, por pacotes como ff, ffbase e biglm).
  • As funções de análise já acessam e integram os resultados dos múltiplos blocks. E tudo isso já fazendo uso de processamento paralelo — usando todos os cores de um computador ou vários computadores ao mesmo tempo.

Resumo: uma regressão múltipla com 25 milhões de casos pode ser feita em menos de 10 segundos.

Vamos por a mão na massa então. Vou usar os dados do Censo de 2010, que podem ser baixados no site do Centro de Estudos da Metrópole, como já dissemos aqui (lembrem-se dessas instruções, antes de usar os microdados).

Em primeiro lugar, é necessário dizer que vamos usar computação paralela, todos os cores do computador:

# Define um contexto de computação paralela
parallelContext = RxLocalParallel()
rxSetComputeContext(parallelContext)

Depois temos que salvar o arquivo .SAV (formato SPSS) como XDF (formato RevolutionR). Essa é a única parte demorada: 40 minutos ou mais… Mas só precisa ser feita uma vez.

#Indicando o local do arquivo
censo2010spss = RxSpssData(file.path("C:/dados/censo2010.sav"))

#"Salvando como"
rxImportToXdf(
	inSource = censo2010spss,
	outSource = "C:/dados/censo2010.xdf",
	reportProgress = 1,overwrite = TRUE)

Então apontamos o local do arquivo XDF no HD:

censo2010 = file.path("C:/dados/censo2010.xdf")

Agora é moleza. Que tal um gráfico da média de renda por idade?

# Tabela: Média de renda por idade -- 10 a 80 anos  (com peso)
censoCube = rxCube(renda.trab ~ F(idade.anos), data=censo2010, 
   rowSelection = (idade.anos >= 10) & (idade.anos <= 80), 
   fweights = "peso_pessoa") 

# Tranformando a idade de factor para numeric
censoCube$idade.anos = as.integer(levels(censoCube$F_idade.anos))

# Transformando a tabela num data.frame
censoCube = as.data.frame(censoCube) 

# Pronto: gráfico de renda por idade
rxLinePlot(renda.trab ~ idade.anos, data=censoCube,
   title="Relação entre Renda e Idade",
   xlim=c(0,85), ylim=c(0,2000))

O que acham?

grafico

Bonitinho, né!? E o mais interessante: Computation time: 3.697 seconds. Mais? Vamos repetir o mesmo gráfico, mas com recorte por sexo.

# Uma regressão para estimar as médias de renda
# por idade e sexo (efeito interativo). A opção
# "cube=TRUE" indica que salvaremos o cruzamento
linMod = rxLinMod(renda.trab~sexo:F(idade.anos), data=censo2010,
   pweights="peso_pessoa",  cube=TRUE, 
   rowSelection = (idade.anos >= 16) & (idade.anos <= 80)) 

# Extraio a tabela de cruzamento
plotData = linMod$countDF

# Converto a idade de factor para numeric
plotData$idade.anos = as.integer(levels(plotData$F.idade.anos.))[plotData$F.idade.anos.]

# Gráfico de idade e renda por sexo
rxLinePlot(renda.trab~idade.anos, groups=sexo, data=plotData,
   xlim=c(0,85), ylim=c(0,2500))

Computation time: 4.053 seconds Nada mal, né!? Uma regressão, transformações em variáveis e um gráfico…

grafico2

Pois é… seu laptop era um super computador e você nem sabia…

Nota:  As flutuações uma flutuações na renda do trabalho nas idades mais avançadas provavelmente são devidas ao baixo número de casos de trabalhadores nessas faixas. Logo, outliers passam a influenciar mais as observações. Além disso, podem ter ocorrido problemas na captação da informação sobre renda e há limites intrínsecos à própria amostra (os microdados do Censo abarcam +/- 10% da população, cerca de 21 milhões de casos). Mas esta não é uma particularidade do Censo de 2010. Em outros censos pesquisas (como PNADs, PMEs, PEDs etc) encontramos o mesmo.

Instruções para o uso dos microdados dos Censos

cem logoCompartilho com vocês uma nota técnica com informações e instruções para o uso dos microdados dos Censos Demográficos do IBGE, de 1960 a 2010. Esse pequeno relatório é complementar à divulgação feita, há alguns meses, pelo Centro de Estudos da Metrópole (o que já foi anunciado aqui no blog anteriormente).

É sempre necessário adquirir familiaridade com um banco de dados novo, antes de trabalhar com ele — o que pode ser chato e demorado. Com o objetivo de acelerar os primeiros passos, dou breves dicas operacionais e indico alguns pontos que devem ser considerados para a realização de uma análise longitudinal e comparativa com uso dos Censos. A proposta não é ser exaustivo. Sugestões são bem vindas.

CEM disponibiliza microdados da PNAD 2012 e shapes de Setores Censitários (2010)

Captura_de_tela-2Nova divulgação do Centro de Estudos da Metrópole: estão agora disponíveis para download os microdados  completos da PNAD 2012 em formato SPSS, com documentação completa (outro dia falei por aqui que seria importante abrir e trabalhar detidamente com esses dados — agora ficou mais fácil). Lembrem-se: os dados das PNADs dos demais anos, de 1976 a 2011, também estão no site.

Mas a principal divulgação desta vez são os dados e bases cartográficas dos setores censitários das metrópoles do Brasil para o Censo de 2010. Os shapes dos mapas foram todos meticulosamente revistos e corrigidos a partir do minucioso trabalho de Daniel Waldvogel, José Donizete Cazzolato (responsáveis pela área de informação geográfica do CEM) e sua equipe.

Para acessar esses dados, na página principal do site do CEM, é só clicar no menu Base de dados e, em seguida, Bases cartográficas.

 

PNAD 2012: notícias, política e incerteza

A Pesquisa Nacional por Amostragem de Domicílios (PNAD), realizada anualmente pelo IBGE, é — sem sombras de dúvidas — a principal fonte de dados populacionais para os períodos intercensitários. Sua amostra (que cobre entre 350 a 400 mil indivíduos) é incrivelmente maior que a de pesquisas de mercado/opinião ou mesmo que a de outras pesquisas oficiais. O preço desse tamanho todo é a dificuldade e demora no processamento. Somente agora, no finalzinho de setembro de 2013, saíram os resultados dos questionários aplicados exatamente um ano antes.

Como de costume, a divulgação da PNAD faz barulho, ostentando toda pompa de oficialidade, abrindo caminhos para diversas apropriações políticas.  De repente, “notícias bombásticas“:

  1. O analfabetismo subiu um pouquinho, passando de 8,6% para 8,7%.
  2. A trajetória de queda da desigualdade de renda, em curso desde 2001, se desacelerou muito. O Gini da renda do trabalho foi de 0,501 para 0,498. O Gini da renda domiciliar per capita permaneceu praticamente intacto: de 0,501 para 0,500.
  3. Cresce a diferença de salários entre homens e mulheres.

A pergunta que não quer calar, por ora, é: por que esses resultados desfavoráveis, afinal?

Minha resposta-tentativa é a seguinte: por agora, ninguém sabe. Os jornalistas que me desculpem, mas não é possível trazer à baila uma análise de bolso pra explicar essas coisas. Praticamente ninguém teve tempo para “por a mão” nos microdados. O grande apoio tem sido o release do próprio IBGE. Mas a pressa é política, claro.

É interessante justamente perceber que há desafios explicativos. Esta é uma excelente ocasião para fazer alguns pontos:

  1. AMOSTRAS TÊM ERROS. Até a PNAD, com seus 400 mil casos, é imprecisa. São imprecisões relacionadas à natureza probabilística de toda pesquisa desse tipo. No caso da PNAD, em especial, há um problema particularmente grave: a amostragem é “complexa”, realizada em múltiplas etapas e com probabilidades desiguais de sorteio —  o cálculo das medidas das margens de erro não é simples. Alguns estatísticos do IBGE publicaram um artigo em que ensinavam a incorporar o desenho do plano amostral nas análises, para permitir o cálculo preciso do erro. Mostram que, como a amostra não é aleatória simples, em alguns casos os erros-padrão podem ser subestimados em cerca de 50 vezes! Mas incorporar o desenho amostral é bem chatinho… É preciso transformar algumas variáveis, importar dados do banco de domicílios para o banco de pessoas… Cabe mesmo pensar: “Poxa IBGE! Por que isso não vem pronto?” O que se divulga amplamente são tabelas informando coeficientes de variação, mas que tem pouca serventia para análises mais avançadas. As instruções dadas pelos autores do referido artigo só se aplicam para as PNADs de 1992 em diante. Ou seja, não temos boas estimativas da imprecisão amostral dos bancos dos 20 anos anteriores. A incorporação da incerteza traz consequências substantivas muito importantes: entre um ano e outro, é difícil afirmar sobre continuidade, interrupção ou reversão de um movimento específico. As margens de erro são grandes. É triste mas, a rigor, só é possível dizer que um processo está em curso quando ele já fez alguns aniversários — que, além do mais, são comemorados com atraso.
  2. NEM TUDO É TENDÊNCIA. Tá, suponhamos que determinado indicador tenha esboçado uma trajetória ao longo de um período de tempo — de modo que a trilha esboçada por ele faça com que o resultado final de fato seja estatisticamente diferente do ponto inicial. Noutras palavras, já estamos, com alguma confiança, fora do domínio do erro amostral, certo? De certo modo sim, mas definitivamente não deixamos o reino da aleatoriedade. Processos complexos (como os sociais) não são fruto de uma função simples, isto é, não são o resultado da transformação direta de um conjunto de inputs pré-definidos em outputs unívocos. Nenhum fenômeno empírico é tão bem comportado assim. Inúmeros fatores intervenientes conhecidos e desconhecidos podem incidir — dos mais macroscópicos aos mais sutis e silenciosos. Num cenário otimista, a imprevisibilidade pode acabar gerando apenas um ruído, dentro de uma margem de erro esperada. Num cenário pessimista, a própria tendência aparente pode ser fruto do acaso. Pode-se tratar de um fenômeno bastante conhecido, denominado “passeio aleatório“. Mas somos muito resistentes a encarar aparentes regularidades como fruto não intencional de processos desordenados e desconexos. Há formas de testar a aleatoriedade de tendências. Mas comumente acessamos explicações prontas ou elaboramos alguma (na falta de disponíveis) sem primeiramente ter considerado a possibilidade de flutuações probabilísticas.
  3. É MUITO DIFÍCIL ATRIBUIR “CAUSAS”. Sai a PNAD e todos ficam querendo saber sobre as razões de tal ou qual resultado, se são devidas, por exemplo, a determinada política ou não. A PNAD é um estudo observacional de corte transversal, que entrevista pessoas diferentes a cada ano, praticamente não possui perguntas retrospectivas e, além disso, raramente permite identifica políticas ou intervenções específicas. Estudos observacionais, por natureza, já sofrem grandes limitações face aos experimentais: a realidade “está lá”, cheia de indivíduos “tratados” e “não tratados” e é difícil saber com confiança se toda diferença entre eles se deve apenas à incidência do tratamento. Existem diversas formas de tentar aproximar estudos observacionais de experimentais, mas os requisitos são elevados e nem sempre disponíveis. Esse tema é longo… não dá pra me estender aqui. Nem mesmo é possível minimizar esse problema, posto que não se acompanha um mesmo grupo de pessoas por um tempo, para saber como suas vidas mudaram após um conjunto de acontecimentos (isso pode mudar, quando for implementada a famosa “Pnad Contínua“). Também não temos informações retrospectivas  para tentar reconstruir o passado e compará-lo ao presente. Pra completar, a menção a políticas e eventos específicos é muito rara, geralmente feita apenas em algumas edições dos questionários suplementares. O próprio Bolsa Família é investigado apenas indiretamente, através de um método aproximado, desenvolvido por pesquisadores do IPEA (apesar de que seja bastante confiável com o atual desenho amostral da PNAD, como mostrou Pedro Souza). Fato é que, no caso da maioria das políticas, essa ausência impede a atribuição confiável das “consequências” às suas pretendidas “causas”. Sem identificar beneficiários, se torna bastante complicado aferir resultados.

As coisas pioraram de 2011 pra 2012? Não sei. No mínimo continuaram iguais (estatisticamente falando) — o que já é politicamente bastante impactante. Mas fico muito incomodado com toda certeza colocada sobre o palanque pra falar apressadamente de resultados que nem foram realmente analisados. Ou então quando se fala de incerteza apenas para apontar os resultados inesperados! É bem chato perceber que apenas tendências interrompidas chamam a atenção para essas coisas. Quando o movimento continua como estava, é facílimo trazer muito rapidamente as conclusões de sempre e dizer que o passo continua o mesmo.

Penso, claro, que cientistas sociais podem cumprir um papel público, posicionando-se na mídia etc. Porém, pode-se incorrer em graves irresponsabilidades, desferindo-se conclusões importantes sem o menor fundamento, apoiando-se somente na autoridade de pesquisador ou na “experiência”. Alguns médicos irresponsáveis fazem isso: sem qualquer exame (nem laboratorial, nem no consultório), desferem diagnósticos-relâmpago, em consultas de cinco minutos, com base na experiência e na autoridade. Ora, uma ciência ou área de conhecimento não dá respostas imediatas, mas fornece caminhos para procurá-las. A experiência pode apontar direções prováveis. Mas não é geralmente assim que é mobilizada.

Abramos esses microdados, afinal! Mas, no limite, se trata apenas de mais um ponto no tempo…

Ciências sociais, censo e informação quantitativa no Brasil: entrevista com Elza Berquó e Nelson do Valle Silva

Fizemos uma entrevista com Elza Berquó e Nelson do Valle Silva. Saiu na Novos Estudos Cebrap.

O link é esse aqui.

Reproduzimos a introdução aqui:

Por sua regularidade, capilaridade, relativa padronização e abrangência temática, os censos demográficos estão entre as principais matérias-primas dos estudos sobre as mudanças de longo prazo na sociedade brasileira. No entanto, analisar dados dos censos implica também conhecer seus processos de produção e, consequentemente, a própria história dos levantamentos de informação social quantitativa no Brasil.

A entrevista a seguir foi realizada no contexto do primeiro workshop do Projeto Censo. Idealizado e coordenado pela professora Marta Arretche (CEM-Cebrap e USP), o Projeto Censo, iniciado em meados de 2012 no âmbito do Centro de Estudos da Metrópole (CEM), objetiva examinar as mudanças sociais, políticas e demográficas ocorridas nos últimos cinquenta anos, tomando como eixo a análise das desigualdades. No percurso de nossa pesquisa, diversas inquietações surgiram durante a utilização dos censos. Nós, entrevistadores, éramos parte da equipe de suporte metodológico do projeto e nosso objetivo ao entrevistar dois dos maiores pesquisadores brasileiros que já trabalharam com essas informações era o de (re)descobrir as histórias que envolvem a produção e o uso dos censos demográficos2. A trajetória profissional dos professores Elza Berquó e Nelson do Valle Silva diz muito sobre a consolidação do campo das ciências sociais no Brasil e ambos são parte da história dos levantamentos e da análise dos dados censitários no país.

Nelson é um dos principais responsáveis por desenvolver o campo de estudos de estratificação social no Brasil. Tem inúmeros trabalhos sobre desigualdades educacionais, raciais, ocupacionais, estruturação de classes e mercado de trabalho. Atualmente professor visitante do Iesp-Uerj (anteriormente professor titular do Iuperj), foi também pesquisador titular do Laboratório Nacional de Computação Científica do então CNPQ (LNCC) nas décadas de 1980 e 1990, além de ter trabalhado no IBGE nos anos 1970, inicialmente como analista de sistemas do Instituto Brasileiro de Informática (IBI-IBGE) e, posteriormente, como chefe do Departamento de Estudos da População.

Elza é professora titular da Faculdade de Saúde Pública da Universidade de São Paulo. Tem graduação em matemática, mestrado em estatística e especialização em bioestatística pela Universidade de Columbia. Foi aposentada compulsoriamente pelo AI-5, e então compôs o corpo de fundadores do Cebrap, onde deu seguimento às suas pesquisas na área de demografia. Liderou a criação do Núcleo de Estudos de População (Nepo) da Unicamp, em 1982, e da Associação Brasileira de Estudos Populacionais (Abep), em 1976. Recebeu, em 1998, a Grã-Cruz da Ordem Nacional do Mérito Científico e é membro titular da Academia Brasileira de Ciências.

Censos (1960-2010) e PNADs (1976-2011) para download (formato SPSS)

No site do Centro de Estudos da Metrópole estão disponíveis para download os microdados dos Censos Demográficos realizados pelo IBGE (de 1960 a 2010) e das Pesquisas Nacionais por Amostragem de Domicílios (de 1976 a 2011).

Os “microdados” são os “dados brutos” — isto é, dados que são como grandes planilhas (realmente grandes!),  em que cada linha traz informações sobre um indivíduo e cada coluna representa uma característica (como sexo, raça, idade, escolaridade, renda, ocupação etc.) São a fonte primária a partir da qual todas as análises são feitas. Mas requerem algum domínio de softwares de análise estatística, como SPSS, Stata, R ou SAS, por exemplo. 

Tudo pode ser acessado livremente. Basta preencher um cadastro gratuito.