Monday, January 4, 2016

Alunos de escolas Waldorf têm alguma desvantagem no ENEM?

Meu primeiro post em 2016 será sobre as duas coisas mais importantes pra mim: minhas duas filhas de 3 anos. Elas estudam numa escola Waldorf, ou seja, uma escola que utiliza a pedagogia Waldorf. Pra quem não conhece, segue abaixo o parágrafo inicial do Wikipedia:

“A Pedagogia Waldorf é uma abordagem pedagógica baseada na filosofia da educação do filósofo alemão Rudolf Steiner, fundador da antroposofia. A pedagogia procura integrar de maneira holística o desenvolvimento físico, espiritual, intelectual e artístico dos alunos. O objetivo é desenvolver indivíduos livres, integrados, socialmente competentes e moralmente responsáveis. As escolas e professores possuem grande autonomia para determinar o currículo, metodologia e governança.”

Como quase tudo na vida, alguns aspectos dessas escolas são muito interessantes, e outro nem tanto. Enquanto minhas filhas estão no Jardim, não tenho dúvidas de que mantê-las nesse tipo de escola seja a melhor opção. Porém em alguns anos elas já iniciarão o ensino fundamental. E para essa nova etapa, tenho diversas dúvidas sobre mantê-las em uma escola Waldorf.

Não vou comparar aqui os diferentes temas das pedagogias das escolas ‘tradicionais’ versus as Waldorf. Nem tenho qualificação para isso e esse é um blog sobre estatística. Um professor da USP escreveu um artigo sobre isso que pode ajudar aos mais interessados no tema (link). Meu interesse é bem mais pontual. De todas as conversas que já tive com pais/professores de alunos de escolas Waldorf, sinto que a ênfase dada para a realização de provas é bem baixa (na grade escolar). Elas são evitadas até o ensino médio. E mesmo nesse caso, me parece que são realizadas com uma frequência bem menor do que em escolas tradicionais.

Até ai, tudo bem.  Não acho que a educação de uma criança deva ser voltada especificamente para fazer provas, ou que essa é a única forma de avaliar a qualidade do aprendizado. Porém no Brasil, para ingressar na faculdade é necessário passar por provas muito longas, que demandam demais do aluno e que têm uma pressão "competitiva" muito alta (Vestibular e/ou ENEM). Provas desse tipo são difíceis até para quem têm bastante experiência com provas. E não há nenhum indício de que isso vai mudar num futuro próximo.

Ou seja, se um aluno no Brasil quer ir pra faculdade, terá que saber fazer essas provas. Uma das minhas preocupações com relação as escolas Waldorf é justamente essa. Acho que os alunos não estão tão bem preparados para essa etapa. E mais especificamente, o ensino da Matemática me parece ser bastante lúdico, um aprendizado bem distante daquilo que será cobrado no ENEM/Vestibular.

Com isso em mente, resolvi analisar os microdados do ENEM de 2014, disponibilizados pelo INEP aqui. Meu objetivo foi comparar as notas médias dos alunos de escolas tradicionais com os de escolas Waldorf. A primeira etapa foi identificar as escolas Waldorf na base do ENEM. Apenas procurando por escolas com o a palavra Waldorf no nome, encontrei um total de 104 alunos nas escolas listadas na tabela abaixo.


São poucos alunos, mas de fato existem bem poucas escolas Waldorf com ensino médio no Brasil. As escolas listadas estão com certeza entre as principais do Brasil, porém uma possibilidade de aumentar essa base seria incluir escolas Waldorf que não têm Waldorf no nome e que tenham ensino médio. Não sei se existem escolas assim, mas se alguém tiver interesse em melhorar a análise abaixo, segue o link com a listagem de todas as escolas filiadas a Federação das Escolas Waldorf.

A segunda etapa foi filtrar os alunos na base do ENEM de forma a tentar fazer uma comparação justa entre os alunos. Os seguintes filtros foram aplicados na base do ENEM 2014:

    1- Escolas do estado de São Paulo, pois quase todos os alunos de escolas Waldorf na base do ENEM são de SP.
      2-  Escolas particulares, pois as escolas Waldorf são particulares.
      3- Alunos concluindo o ensino médio em 2014, pois me parece razoável considerar apenas alunos que estão fazendo o ENEM no último ano do ensino médio.

O Inep publica as notas das quatro provas do ENEM separadamente. O resultado da comparação simples das médias segue na tabela abaixo. Como esperado, em todas as provas a nota média dos alunos de escolas Waldorf é um pouco mais baixa (~1%), com exceção de Matemática, onde a diferença é maior,  chegando a 8%.  


Várias ressalvas devem ser feitas a essa análise. Em primeiro lugar, a análise feita é bastante simples, e devem haver vários outros fatores que afetam as notas além da pedagogia que deveriam ser considerados numa análise mais aprofundada (por exemplo utilizando Propensity Scoring). Em segundo lugar, essa diferença observada pode ser causada por um viés de seleção, pois na minha experiência a maioria dos pais que colocam seus filhos em escolas Waldorf são formados em Humanas/Biológicas, e seja por afinidade, seja por DNA, podem influenciar o interesse/aptidão dos filhos por matemática.

Mas fica aqui o que eu aprendi com essa análise: hoje em dia, existe tanta informação disponível na internet sobre as escolas que os pais podem fazer uma avaliação objetiva sobre o impacto da escola na vida do seu filho – podem fazer uma decisão informada! Por outro lado, não podemos esperar que as escolas façam tudo por nós. Nós, os pais, somos responsáveis por prepará-los para a vida. Se prefiro matricular meu filho em um escola que vai prepará-lo melhor para o ENEM, em casa tenho que trabalhar mais o seu lado social, criativo, artístico, esportivo, etc. Se quero um escola mais focada no lado pessoal/artístico, então tenho que ajudar a prepará-lo melhor para o ENEM. Sinto que nessa discussão sobre escolas Tradicionais vs Waldorf, os pais/professores querem qualificar um método como melhor que o outro. Temos que ser um pouco mais flexíveis, e perceber que para a grande maioria das questões, o mundo é cinza, não branco e preto!


Monday, December 21, 2015

Performance do PollingData na Espanha 2015

PollingData está acompanhando as eleições Argentinas desde setembro desse ano, e nesse último domingo os espanhóis foram as urnas. O resultado da eleição pode ser visto nesse link (em espanhol). Na tabela abaixo está o comparativo entre a previsão final do PollingData e a contagem dos votos. O Erro Médio Absoluto  (EMA) foi de 1,7%. 



Por esse critério, a previsão do PollingData teve performance similar ao segundo turno Argentino, que foi de 1,9%. Como o numero de partidos nessas duas eleições é bem diferente, essa comparação não é muito justa, pois usualmente quanto maior o número de candidatos menor é o EMA. Discutiremos mais sobre esse tema em 2016, num outro post. 

Com a finalização das eleições espanholas, o PollingData encerra suas previsões para 2015. Agora iremos nos preparar para 2016, quando teremos as eleições municipais aqui no Brasil. Essas eleições prometem ser um verdadeiro desafio para o site, visto que são centenas de eleições (com pesquisas sendo divulgadas) acontecendo em paralelo. 

Desejamos a todos boas festas e um feliz 2016!

Friday, December 18, 2015

Acervo de pesquisas eleitorais do Polling Data (1989-2015)

Hoje, depois de muito tempo e muito trabalho, consegui publicar o acervo de pesquisas do PollingData.  Esse acervo contém pesquisas eleitorais brasileiras, publicadas na mídia, entre os anos de 1989 a 2014. Além disso também possui pesquisas de eleições estrangeiras que foram acompanhadas pelo PollingData até 2015 (Argentina, EUA, Suíça e Canadá – Espanha só será incluída após as eleições de 20/12/2015).

Esse acervo começou a ser montado em 2006, durante o meu Doutorado, onde o meu objetivo era avaliar a qualidade das pesquisas eleitorais brasileiras – pra quem tiver interesse, segue o link para a minha tese. Naquela época, tive a sorte de ter um amigo trabalhando no CESOP (Centro de Estudos de Opinião Pública) da UNICAMP, que me informou que eles tinham acabado de criar o “Banco de Dados Nacionais de Opinião”, com mais de 2300 pesquisas no acervo.

Conversei com o pessoal do CESOP, os quais me deram acesso a base de dados. De lá extrai aproximadamente 900 pesquisas eleitorais publicadas entre 1989 e 2004 (apenas do Ibope e o Data Folha), as quais foram utilizadas na minha tese de doutorado. Nesse acervo, a base de dados de cada estudo está disponível, então tive tive que escrever um programa que entrava em cada base de dados, ligava o peso, e calculava as estimativas de intenção de voto, além de outras informações relevantes como tamanho da amostra, período de campo, taxa de não-resposta, etc...

Na época, eu acreditava que não havia outra base de dados tão completa no país. Mas alguns anos depois, em 2012, encontrei o Blog do Fernando Rodrigues. A quantidade de pesquisas disponíveis nesse site é impressionante, cobrindo o período de 2000 a 2014. Se eu tivesse encontrado esse site antes, a análise feita na minha tese de doutorado teria sido bem mais completa.

Eu sou muito grato ao jornalista Fernando Rodrigues, acho que ele fez um trabalho incrível. Ele teve uma iniciativa extremamente inovadora em 2000, anos à frente de qualquer outra iniciativa similar. Para mostrar o quão visionário ele foi, basta notar que nos EUA o primeiro site agregador de pesquisas, o RealClearPolitics, foi criado apenas em 2002, alguns anos depois. Não sei muitos detalhes sobre a criação do blog, mas acho que ninguém deu a devida importância ao mesmo, que talvez seja o primeiro site agregador de pesquisas do mundo.

Apesar da enorme quantidade de pesquisas disponíveis no Blog do Fernando Rodrigues, extrair todas as pesquisas para criar um banco de dados limpo, que pode ser utilizado para fazer análises estatísticas, se mostrou um desafio enorme. Fiz duas tentativas de extração dos dados. A primeira, no final de 2013, não deu certo. Eu consegui baixar os dados com um robozinho que eu criei, porém como era a primeira vez que escrevia um código do gênero, não consegui extrair algumas informações essenciais do HTML. A grande dificuldade é que em cada ano/turno, a formatação das tabelas e do site é diferente. Algumas vezes as diferenças são sutis, em outras são enormes. Olhando para trás, percebo que a criação desse acervo de pesquisas foi o meu primeiro contato com Big Data, mas nessa época acho que ainda não tinha esse nome.

Na segunda tentativa, agora no final de 2015, finalmente consegui terminar o trabalho. Fiz diversas validações, e não encontrei erros. Porém são 10.916 pesquisas realizadas em 883 eleições em 5 países ao longo de mais de 25 anos. É muita coisa, e eu não sou ingênuo o suficiente pra acreditar que não existem erros. Com certeza existem erros. Muitas decisões tiveram que ser feitas ao longo do processo, tanto para extração dos dados, quanto para a limpeza e imputação. Apenas para exemplificar o processo, toda tabela de dados de uma eleição passou por pelo menos três processos distintos: limpeza, imputação e agregação de colunas para rodar o modelo do PollingData.

O objetivo da criação desse acervo é similar ao realizado na minha tese de doutorado, porém maior: quero permitir que qualquer pesquisador possa avaliar a qualidade das pesquisas eleitorais brasileiras. Não somente de forma passiva, depois do fato, mas de forma preventiva, garantindo a qualidade/honestidade das pesquisas. Acredito que a melhor forma de conseguir esse feito é avaliando constantemente a performance dos institutos, criando critérios que permitam comparar os institutos de acordo com a sua precisão, e levando em conta também os erros não-amostrais. 

Na minha opinião, essa é uma estratégia muito mais eficaz do que criar leis que de fato não conseguem garantir a qualidade das pesquisas. E muito melhor do que a opção de proibir as pesquisas defendida por alguns. Pesquisas feitas com qualidade são importantes para o processo eleitoral, elas provêm informações relevantes que auxiliam a população a escolher seus representantes, e consequentemente a definir o futuro do país.

Esse acervo publicado hoje é apenas o primeiro passo nessa direção. Outros passos ainda têm que ser dados. O próximo passo será incluir o resultado real das eleições no acervo, permitindo a comparação das previsões com a realidade observada.


O acervo está no item “Acervo/Past Elections”,localizado no menu principal do PollingData.

Monday, November 23, 2015

Performance do PollingData na Argentina - Turno 2

PollingData está acompanhando as eleições Argentinas desde agosto desse ano, e nesse último domingo os argentinos foram as urnas pelo segundo turno das eleições presidenciais. O resultado da eleição pode ser visto nesse link (em espanhol). Na tabela abaixo está o comparativo entre a previsão final do PollingData e a contagem dos votos. O Erro Médio Absoluto  (EMA) foi de 1,9%. 


Por esse critério, a previsão do PollingData no segundo turno foi bem melhor do que no primeiro turno (EMA de 2,6%). Essa melhora de performance era esperada. Além de haverem menos candidatos no segundo turno, os eleitores já conhecem os candidatos, o que geralmente resulta na intenção de voto ser menos variável e consequentemente mais previsível.

Como já foi discutido nesse post, as eleições Argentinas de 2015 foram um grande desafio para site por causa do cenário eleitoral instável, da baixa quantidade de pesquisas divulgadas e da falta de informação sobre as pesquisas publicadas. Apesar dessa dificuldades considero que a performance do PollingData foi aceitável. Num futuro próximo divulgaremos um ranking com a performance do PollingData em todas as eleições acompanhadas pelo site. Será interessante verificar o posição das diferentes eleições no ranking.

Nesse ano ainda estamos acompanhando as eleições espanholas, porém a eleição mais importante para o site foi a Argentina. Agora começaremos a nos preparar para as eleições municipais de 2016 no Brasil, e novidades serão apresentadas. Aguardem o PollingDAta versão 2016!

Tuesday, November 17, 2015

Prevendo o resultado da votação do Impeachment

Alguns meses atrás, um parceiro de trabalho teve a ideia de tentar prever o resultado de uma votação do Impeachment. O objetivo era vender esse modelo preditivo, visto que quantificar a chance de ocorrência do Impeachment (se de fato houver uma votação) pode ser bastante rentável para quem souber usar essa informação.

Lamentavelmente, não conseguimos vender o modelo. Ao invés de jogar fora todo esse trabalho, decidi investir um pouco mais de tempo e disponibilizar o modelo no site PollingData. Essa é uma forma de diminuir a frustração de não ter conseguido vender o modelo: pelo menos assim, talvez alguém ainda encontre utilidade para o modelo. Estou dando uma segunda chance ao modelo! Além disso, desenvolvi a interface com o usuário de forma a permitir que o mesmo tenha acesso a informações históricas e pertinentes sobre a votação e presença de cada deputado. Mesmo que o modelo em si não seja utilizado, as informações disponíveis ainda podem ser bastante uteis.

Vamos ao que interessa: é possível prever, de forma efetiva, o resultado de uma potencial votação de Impeachment? Eu acredito que sim, porém provavelmente não com a precisão desejada. Faço essa ressalva porque estamos fazendo, implicitamente, uma suposição (potencialmente) forte: estamos supondo que os deputados manterão seus padrões históricos de votos a favor/contra o governo na votação do Impeachment. Pra quem gosta de inferência Bayesiana: essas votações são permutáveis?

Sabidamente, essa seria uma votação extremamente importante, e não é difícil de imaginar que alguns padrões históricos se alterem: por exemplo, a probabilidade dos deputados estarem presentes nessa seção deve ser bem maior do que os seus históricos apontam! O maior o problema com essa suposição é que não há como avaliar a sua veracidade, só saberemos se de fato houver uma votação.

Por esse motivo, no modelo disponibilizamos duas versões: uma onde o mesmo peso é dado a todas as votações ocorridas em 2015, e outra onde um peso maior é dado a algumas votações que acreditamos terem maior poder preditivo para a votação do Impeachment. Essa avaliação de quais votações podem ser mais importantes foi feita de forma totalmente subjetiva, porém baseado na avaliação de um analista político bastante experiente, que reside em Brasília e acompanha de perto o jogo político da nossa capital.

Em toda votação, existe uma orientação de voto do Governo, da Minoria e de cada partido. Essas orientações geralmente escolhem um lado (SIM ou NÃO), mas também podem ser LIVRES, indicando que cada deputado deve votar como desejar. No caso de haver uma orientação, os deputados não são obrigados a votar de acordo com a ela. Existem deputados que, historicamente, respeitam bastante essas orientações, porém existem outros que as respeitam  com muito menos frequência.

O modelo preditivo é bastante simples. Calculamos as probabilidades de cada deputado votar a favor/contra o governo em duas situações distintas:
  • Governo e o partido têm a mesma orientação: ou seja, qual a chance de votar a favor do Impeachment se a orientação do partido for para NÃO votar a favor.
  • Governo e o partido têm orientações distintas: ou seja, qual a chance de votar a favor do Impeachment se a orientação do partido for SIM, para votar a favor.
 Em ambos os casos, dependendo do partido e do deputado, pode não haver votações suficientes para estimar essas probabilidades. Nesses casos, utilizamos as probabilidades não-condicionais, ou seja, a chance de votar a favor/contra o Governo, independentemente das orientações. Essas probabilidades são utilizadas para fazer milhares de simulações (Monte Carlo) da votação do Impeachment, permitindo que as probabilidades de vitória do Impeachment sejam calculadas. Como referencia, para que o Impeachment seja aprovado, a oposição precisa obter 342 votos na Câmara (2/3 dos 513 deputados, independente do número de presentes na seção). Se for aprovado, ainda tem que ser votado no Senado, onde precisa obter 54 votos (2/3 dos 81 senadores). O modelo apresentado aqui é apenas para a votação na Câmara.

      Nessa versão apresentada no site, o usuário pode escolher a orientação de cada partido, e ver como as probabilidades de vitória da oposição se alteram. O mesmo modelo também pode ser usado para prever qualquer votação na Câmara, talvez até de forma mais eficiente, visto que no geral as votações não são tão high-profile como a do Impeachment. Nesse caso, SIM deve ser interpretado como voto contra o governo, e NÃO como voto a favor do governo.

     O modelo de previsão do Impeachment se encontra no site PollingData, no menu “Modelos/Big Data” > "Impeachment”.



Tuesday, November 10, 2015

Bigdata no PollingData: Tabela FIPE + Webmotors

Algumas semanas atrás tive que comprar um carro. Não sou muito antenado com relação a carros, sei apenas quanto quero gastar e algumas características de interesse como ser um semi-novo, ter um motor potente e uma quilometragem aceitável. Fiquei bastante frustrado quando percebi que a única forma de pesquisar o valor dos carros na tabela da Fipe era selecionando uma Marca/Modelo especifica. Pra mim seria bem mais útil se pudesse selecionar todos os carros numa faixa de preço e/ou até um determinado ano.

Pra solucionar esse problema, acessei a todos os dados da Fipe utilizando uma api bem eficiente que encontrei online. Escrevi um programa no R que baixa a tabela completa da Fipe, converte os dados de JSON para um dataframe, e disponibilizei no PollingData. A interface com o usuário foi feita essencialmente utilizando apenas o DataTables, que é um plug-in para JQuery bastante flexível.

Além disso, também senti muita falta de poder ajustar o preço do carro de acordo com a quilometragem. Acabei comprando o carro sem ter uma estimativa confiável do seu valor em função da sua quilometragem. Depois de comprar o carro, fiquei pensando sobre isso: qual seria um jeito simples porém eficiente de obter essa estimativa? A minha solução envolveu Big Data. Escrevi um outro programa, utilizando técnicas de web scrapping, que acessou todos os veículos anunciados na WebMotors no dia 04/11/2015 (foram mais de 128 mil carros). 

Extrai todas as informações disponíveis na página de busca, principalmente preço, ano carro/modelo e quilometragem. Calculei duas estatísticas que considero importante ter em mente quando for comprar um carro (rule's of thumb):
  • A média de uso dos carros (quilometragem) é aproximadamente de 1000 km/mês.  Com essa   estatística é possível avaliar se um carro é mais/menos utilizado do que o esperado para o seu ano.
  • A quilometragem reduz o preço do carro, na media, em R$1 para cada 5 km rodados. Com essa estatística é possível fazer uma conta simples pra prever o valor do carro a partir dos dados da Fipe.
Focando no objetivo principal, a característica mais importante que observei foi que o impacto da quilometragem no preço não é linear. Esse impacto é muito maior quanto o carro é novo / semi-novo. Quando o carro é mais velho, a redução no preço é bem menos acentuada. Pensando nisso, ajustei um modelo de regressão simples para prever essa redução:
  1.  A variável dependente utilizada foi a variação relativa no preço do carro se comparado com a média dos outros carros de mesma Marca/Modelo.
  2.  Além de incluir quilometragem e idade (+ idade ^2) do carro, inclui outras variáveis dependentes: UF , Tipo de câmbio, Origem do carro na WebMotors (loja, concessionária e particular) e motor.
Ajustei o modelo dessa forma por dois motivos principais: em primeiro lugar, me parece razoável supor que um carro mais caro possa sofrer um impacto maior no seu preço por causa da quilometragem do que um carro mais barato. Em segundo lugar, dessa forma retiro o efeito de variáveis que não serão usadas para escorar a base da Fipe (Motor e cambio poderiam ser utilizadas, porém ainda não estão sendo). 

Claro que existem muitas melhorias possíveis para esse modelo, mas isso requer tempo. Por enquanto, esse modelo é bem parcimonioso e relativamente preciso. Acredito que a melhoria mais importante do modelo seria permitir que carros com uma quilometragem abaixo da média do seu ano pudessem ter um preço mais alto do que a tabela da Fipe. Por enquanto, estou tratando o valor da Fipe como sendo o valor máximo do carro, mas seria mais realista considerá-lo como de fato é: uma média.

Não sei quão útil esse modelo será para as pessoas, acho que muitos escolhem carros com mais emoção do que razão, mas fica aqui uma alternativa para quem quer trocar de carro com menos incerteza. O modelo da Fipe+WebMotos do PollingData está no menu Modelos/Models > FIPE+WebMotors.

Thursday, November 5, 2015

“Versão twitter” da discussão sobre existência de amostragem probabilística


Eu participo do grupo do Facebook “Estatística Brasil”, e um dos posts mais recentes foi um pergunta sobre a metodologia dos institutos de pesquisa não ser probabilística e, consequentemente, a impossibilidade de se calcular intervalos de confiança e margens de erros.

Segue abaixo minha contribuição na discussão, focando principalmente na questão da existência de amostragem probabilística de populações humanas. Resumi muita coisa em alguns parágrafos, por isso chamei de versão twitter ;)

"A distinção entre amostragem probabilística e não-probabilística esta' nos detalhes (ou nas suposições). Para quase qualquer método de amostragem e' possível argumentar que existem probabilidades de inclusão associadas a cada respondente sob alguma suposição (claro que existirão alguns zeros como mencionado acima e em alguns casos as suposições não são realistas). 

Se fizermos qualquer suposição para calcular as probabilidades, então por definição, a amostragem deixa de ser probabilística pois as probabilidades de inclusão são desconhecidas. 

Pensando em amostragem de populações humanas, devido a diversas fontes de erros, como a não-resposta, as probabilidades de inclusão não podem ser calculadas sem suposições. Isso vale mesmo que o desenho amostral utilizado seja inicialmente probabilístico. A amostra nasce probabilística e morre não-probabilística. 

Acho que ponto mais importante e' perceber que não existe amostragem probabilística sem suposições (nesse contexto). Então ao invés de se preocupar com a classificação da metodologia entre prob/não-prob, se preocupe mais com as suposições que estão sendo feitas implicitamente (algo que esta intimamente relacionado com a metodologia utilizada)"