main-slide.jpg

Projeto Censo

Uma iniciativa do Centro de Estudos da Metrópole

Censos: "Big Data" e Softwares estatísticos

Censos Demográficos são bancos de dados muito pesados para os softwares estatísticos. Mesmo as amostras possuem milhões de casos. Deste modo, podemos usar uma palavra da moda e dizer que, de fato, Censos são "big data". 

Se as particularidades implicadas pelo volume de dados não forem levadas em consideração, operações simples, como frequências, médias e proporções podem demorar muitos minutos -- e operações um pouco mais sofisticadas, como a execução de modelos de regressão, podem chegar a levar horas. Por esta razão é necessário compreender um pouco sobre como cada um dos softwares mais utilizados lida com a informação -- e, deste modo, torna-se possível otimizar o uso daquele que é o preferido. 

Abordaremos aqui os mais utilizados apenas: R, Stata, SPSS e SAS.

 

O segredo da velocidade: armazenamento e processamento

É preciso compreender um pouco sobre como funciona o armazenamento e o processamento de informações nos computadores para então colocar em perspectiva o desempenho dos softwares

Fundamentalmente, o processamento de informações depende de três instâncias que se comunicam entre si: o drive de armazenamento -- geralmente um disco rígido (HDD) ou drive em estado sólido (Solid State Drive - SSD) --, a memória RAM e o processador (CPU).

No disco rígido, ficam guardados todos os arquivos do usuário -- e eles permanecem lá mesmo quando o computador está desligado. Na memória RAM são carregados os softwares e informações que estão em uso num dado momento. Ou seja, a memória RAM carrega cópias das informações do disco rígido (operação que leva tempo, pois a velocidade de leitura e gravação dos discos rígidos é relativamente lenta). Depois disso, passa a trocar e fornecer materiais para que o processador trabalhe -- e esta etapa de comunicação já é bem mais rápida. No próprio processador apenas ficam armazenados os dados que serão utilizados mais imediatamente (em micro ou nano segundos!).

 

 

Saber dessas coisas é importante porque estabele um critério para avaliar a performance dos softwares estatísticos mais utilizados.

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.

 

 

 

Consequentemente, com o R ou com o Stata não é possível abrir um banco de dados cujo tamanho é superior à quantidade de memória RAM disponível no hardware utilizado. Num computador com 16Gb de memória RAM, por exemplo, não seria possível abrir um Censo com 20Gb de tamanho. 

O SAS e o SPSS, por sua vez, mantém os dados no disco rígido e os acessam aos poucos, em blocos (chunks), apenas quando fazem operações. Consequentemente, são muito mais lentos, mas acabam por conseguir abrir bancos de quase qualquer tamanho. 

A saída para o R e o STATA é trabalhar com subconjuntos dos dados: apenas as variáveis ou casos necessários, por exemplo. A plataforma de extração de dados do Centro de Estudos da Metrópole tem como um objetivos justamente facilitar a extração e seleção de dados de antemão, antes que de os submetermos aos softwares. Usualmente, não trabalhamos com mais de 10 ou 15 variáveis de um Censo de uma só vez.

Usando subconjuntos menores dos dados, quaisquer softwares podem ser utilizados sem dificuldade.