Pesquisas eleitorais: Veritá ou DataFolha? Sobre metodologia e margens de erro.


As eleições têm trazido ao público um debate importante sobre estatística e incerteza. Em um dia, o Datafolha indica 52% dos votos para a Dilma. No dia seguinte, o Instituto Veritá contabiliza 53% do votos para Aécio. Como conciliar isso com as pequenas margens de erro sugeridas pelas pesquisas?

O problema é que, em geral, as margens de erro das pesquisas são divulgadas como se tivessem sido feitas por amostragem aleatória simples.  Mas, na verdade, as pesquisas têm um processo de amostragem mais complexo, sujeito a outros tipos de erros. Um texto legal sobre o assunto é este, do Rogério.

E para complicar ainda mais, os institutos usam métodos diferentes. Por exemplo, olhando as últimas duas pesquisas presidenciais, aparentemente a pesquisa do Instituto Veritá foi uma Amostragem Probabilística por Cotas com entrevistas por domicílios (e também com o uso de ponto de fluxo onde a entrevista domiciliar não fosse possível – vide aqui); e, a do DataFolha, uma Amostragem por Cotas com entrevistas por ponto de fluxo (vide aqui).

Esses métodos, apesar de terem nomes semelhantes, segundo Neale El-Dash não são tão semelhantes assim:

Anteriormente já escrevi sobre a diferença entre as pesquisas denominadas “Amostragem por Cotas” (AC) e as denominadas “Amostragem Probabilística por Cotas” (APC). Existe apenas uma semelhança entre as duas metodologias: ambas têm a palavra “Cotas” no nome, indicando que não são probabilísticas. Isso não quer dizer que sejam iguais. Pelo contrário, existem muitas diferenças entre elas, vou mencionar algumas abaixo: 

1-   Na APC as entrevistas são domiciliares. Na AC as entrevistas são realizadas em pontos de fluxo. Como o Carvalho diz em seu texto: “os pontos de concentração podem ser shoppings, esquinas de ruas movimentadas, ou seja, lugares onde é fácil preencher as cotas”. 

2-  Na APC existe muito controle sobre o entrevistador e a sua liberdade de escolha dos entrevistados. Ele tem que percorrer um trajeto muito restrito com critérios claros e objetivos.  Na AC, o entrevistador escolhe quem quiser, contanto que esteja nas cotas.  

3- Na APC, existe um controle geográfico excelente, equivalente ao que se poderia obter em qualquer amostra probabilística. Na AC, as pesquisas acabam tendo uma aglomeração geográfica muito maior. 

4- Na APC o objetivo das cotas é controlar a probabilidade de resposta das pessoas. Na AC, o objetivo é reproduzir características demográficas da população alvo.

(…) as metodologias (e as criticas) são muito diferentes. Mais importante, existe um efeito negativo importante na qualidade da AC pelo fato das entrevistas serem realizadas em pontos de fluxo. Apenas para exemplificar, no artigo [Ref2] sobre AC, os autores dizem que os maiores vícios encontrados na comparação foram: 1) A distribuição geográfica da amostragem por cotas (AC) era mais aglomerada, 2) na amostragem probabilística (aquela da prática, com voltas e substituições) havia mais não-resposta na variável de renda e 3) foram observadas mais pessoas na categoria sem renda/com renda baixa e renda alta do que na AC.

(…)

Meu ponto é: outras características metodológicas, além das cotas, também são claramente responsáveis por vícios observados na AC. Pra mim, pesquisas em ponto de fluxo são um sinal de baixa qualidade da pesquisa (potencialmente). Muito mais do que o fato de usar cotas. Cotas podem ser bem efetivas, principalmente se forem associadas com variáveis claramente relacionadas com a probabilidades de resposta de uma pessoa. Também é relevante em qual estágio se utilizam cotas. Por isso é importante distinguir entre AC e APC.

Outro problema é que o documento divulgado no TSE é muitas vezes pouco claro com relação a certos detalhes da metodologia. Se você se interessa pelo tema, deixo também os links para outros dois posts interessantes do Neale: este e este.

UPDATE: Previsões para eleições: o que estão dizendo para amanhã? Atualização com as pesquisas de hoje.


A vantagem de um modelo bayesiano é a a forma coerente de atualizar as probabilidades frente às novas informações. E o Polling Data atualizou suas previsões, agora à tarde, considerando as novas pesquisas eleitorais: são 79% de chances para Aécio ir ao segundo turno.

pollingdata2

As estimativas pontuais ficaram em 40% para Dilma, 24% para Aécio e 21% para Marina.  Leia um pouco mais sobre o assunto no blog do Neale.

Daniel Marcelino também havia atualizado as probabilidades, com 40% para Dilma, 23% para Aécio e 22% para Marina.

Previsões para eleições: o que estão dizendo para amanhã?


O que o pessoal que se aventurou nesta empreitada está chutando dizendo um dia antes da contenda eleitoral?

Acredito que há dois eventos que devem ser vistos com mais atenção: (i) uma possível eleição da Dilma no primeiro turno; e (ii) a possibilidade de Aécio ultrapassar Marina e ir para o segundo turno.

Polling Data

UPDATE: O Polling Data atualizou as probabilidades com as novas pesquisas eleitorais. Agora são 79%  de chances para Aécio ir ao segundo turno. Leia mais no blog do Neale.

pollingdata2

Os resultados a seguir eram da previsão pela manhã, antes das novas pesquisas.

Neale El-Dash, do Polling Data, está dando apenas 2% de chances de não ter segundo turno. Já para o Aécio passar Marina, a probabilidade está em cerca de 22% – baixa, mas plausível. Grosso modo, isto é uma em cada 4 ou 5 vezes.

pollingdata

A previsão mais recente dos votos está em 39% para Dilma, 23% para Marina e 21% para Aécio.

Daniel Marcelino

As previsões mais recentes do Daniel são: 39% para Dilma, 23% para Marina e 18% para Aécio. Considerando somente os votos válidos, esses números passariam para: Dilma 46%; Marina 28%; e, Aecio 22%.

Com relação a Aécio ultrapassar Marina, as chances parecem um pouco menores do que no modelo de Neale. No olhomêtro, com o gráfico abaixo, está em algo em torno de 5%. E o segundo turno também parece bastante provável.

Marina_Aecio

Vidente Carlinhos

Para não ficar só com os modelos Bayesianos, vamos colocar algo místico no páreo: o vidente Carlinhos, que ficou famoso por “prever” a derrota do Brasil e a “saída” de Neymar durante a copa.  Pense no Carlinhos como um grupo de controle. Há vários outros “videntes” por aí que poderiam ser incluídos, mas esse é o mais divertido.  O interessante da previsão do Carlinhos é que ela é ousada (algo natural para quem não tem nada a perder, pois se acertar leva a fama e se errar pode dar uma desculpa): Aécio não somente ultrapassaria Marina, como ganharia a eleição no segundo turno.  Note que essa previsão tem baixa probabilidade nos dois modelos bayesianos. Entretanto, o problema principal da previsão do vidente é que ela não é probabilística. Deste modo, acertando ou errando, não conseguimos mensurar direito o quanto ele acertou ou errou – algo fundamental para comparar modelos de previsão – e que podemos fazer com as outras elencadas acima. 

***

Conhece mais alguma previsão? Informe aqui para que possamos acompanhar e ver quem se saiu melhor.

Previsões para eleição no Brasil?


Ontem, me indicaram um site que está se aventurando nesta empreitada: Polling Data. O autor está utilizando dois modelos diferentes, um baseado na agregação das pesquisas eleitorais, e outro com base em variáveis estruturais (como o PIB). O interessante é que os modelos estão apresentando resultados diferentes agora depois da última pesquisa. Os resultados são confiáveis? Não saberia dizer, senti falta de uma avaliação do modelo proposto com previsões fora da amostra. Acompanhemos!

Conhece mais alguém que está modelando as eleições? Compartilhe!

PS: para quem usa R, dei uma olhada nos gráficos e código fonte e é provável que o autor esteja usando shiny e ggvis!

Entrevista com Max Kuhn


O datascience.la liberou mais uma entrevista do useR! 2014: dessa vez com Max Kuhn, autor do pacote de modelos preditivos caret e do livro Applied Predictive Modeling.

Max Kuhn também deu um tutorial na conferência: e o material deste e de outros tutoriais você pode conferir aqui.  Outros vídeos do datascience.la, como a palestra do John Chambers e a entrevista com Hadley Wickham, você pode conferir aqui.

useR! 2014 – Tutoriais


Estava devendo alguns comentários sobre o excelente useR! 2014, mas, devido à correria logo após o retorno, ainda não tinha conseguido sentar para escrever. Aqui seguem alguns comentários sobre os tutoriais, que mereceram um post separado. Um outro post sobre o encontro virá futuramente.

O primeiro dia foi composto de tutoriais de 3 horas, um pela manhã e outro à tarde. Pela manhã, assisti ao tutorial do Max Kuhn, sobre modelos de previsão no R, baseado no seu excelente livro Applied Predictive Modeling e no seu pacote para o R, caret (Classification and Regression Training). Max trabalha na Pfizer, então tem bastante experiência com modelos preditivos voltados para o mercado – em outras palavras, modelos que têm de funcionar. Isso é excelente, pois há um foco grande em como lidar com as técnicas na prática e como gerenciar seu fluxo de trabalho na análise de dados, uma lacuna presente em muitos livros de estatística e machine learning. Os slides e códigos do tutorial podem ser encontrados aqui.

IMG_0168

 

Entretanto, o custo de assistir ao tutorial do Max foi o de perder os outros, igualmente interessantes, que ocorreram simultaneamente. Em particular, alguns que não pude ver mas depois consultei o material foram: (i) Matt Dowle sobre o pacote data.table (para manipulação de dados). Se você ainda não conhece o data.table, está perdendo precioso tempo de vida. Eu literalmente acabei de juntar mais de 2 milhões de observações de imóveis com a função rbindlist instantaneamente, enquanto que com a função base do R demorava minutos. E (ii) Romain Francois sobre a integração do R com C++11 e seu pacote Rcpp11. Um interface simples para interagir com C++ e C++11 parece estar sendo a resposta para desenvolvimento de pacotes de alta performance no R. Meu interesse nesta assunto tem crescido particularmente pelo fato de simulações Bayesianas poderem ser computacionalmente muito intensas, então você acaba eventualmente tendo que se preocupar com performance. Não é muito legal esperar dias para um modelo rodar e, só depois, você descobrir um bug para ter que rodar tudo de novo.

Pela tarde assisti ao tutorial do Hadley Wickham sobre manipulação de dados com o dplyr. O dplyr é um pacote que tem o lado do bom dos dois mundos: uma sintaxe simples e amigável para dummies – ainda mais com o uso do pipe operator %>% do magrittr - juntamente com excelente performance (Romain e C++!).  Como eu já havia adotado o dplyr desde seu lançamento, assisti ao tutorial mais para prestigiar o Hadley do que para aprender.   Valeu a pena, a apresentação foi muito bacana!

IMG_0179

E, para variar, infelizmente não pude ir a dois tutorias que me chamaram a atenção em particular: (i) o do Ramnath, sobre documentos interativos com R, discutindo o rCharts, slidify, bem como soluções server side que têm surgido como Shiny e OpenCPU. E (ii) a apresentação do Dirk Eddelbuettel sobre o Rcpp.

Além dos tutoriais que mencionei, foram abordados temas como visualição dinâmica, modelos  de rede bayesiana, análise de dados espaciais entre diversos outros. Então,  se você ainda não tinha tido contato com estes assuntos/pacotes e quer se aprofundar,  eis aí uma boa oportunidade. Há bastante material para consulta e praticamente todos estão disponíveis no site!

Previsões para a copa: afinal, como se saíram os modelos?


Depois do 7 x 1 da Alemanha contra o Brasil, houve algum rebuliço na mídia. Nate Silver se explicou: não é que a derrota do Brasil fosse algo imprevisível, afinal, estimou-se em 35% as chances de a Alemanha vencer a partida. Mais de uma em cada três vezes. Entretanto, o placar de 7 a 1 foi, de fato, estimado como muito improvável segundo o modelo – apenas 0.025%. Mas será que isso por si só é suficiente para rejeitarmos seus resultados? Não necessariamente. Lembre que modelos são falsos. Você não quer saber se eles representam fielmente a realidade, mas sim se são úteis. A dificuldade está em, justamente, saber onde esses modelos podem ser úteis, e onde podem ser enganosos.

Modelar resultados raros e extremos é muito complicado.  Isso ilustra um ponto importante: não se exponha negativamente a Black Swans, pois a dificuldade (ou impossibilidade) de identificar tais eventos pode te expor a riscos muito maiores do que o que você imagina.  Nassim Taleb é alguém que bate há algum tempo nesta tecla.

Todavia, o interessante neste caso é que os modelos para a copa, por preverem vitória ou derrota, não estavam negativamente expostos a eventos extremos deste tipo (o diferencial de gols). Suponha que a probabilidade estimada para o resultado de 7 a 1 para a alemanha fosse de 0.25% ao invés de 0.025%, ou seja, 10 vezes maior. Isso em quase nada alteraria a probabilidade de um time ou outro vencer. Em outras palavras,  se você estiver apostando no resultado binário (vitória ou derrota), você não está exposto a um Black Swan deste tipo (poderia estar exposto a outros tipos, mas isso não vem ao caso agora).

Para ilustrar, comparemos uma distribuição normal (cauda bem comportada) com uma distribuição t de student com 2 graus de liberdade (cauda pesada). No gráfico abaixo temos a Normal em vermelho e a t de student em azul.  Note que a probabilidade de X ser maior do que zero é praticamente 50% nas duas distribuições. Entretanto, a probabilidade de X ser maior do que 3.3 é mais de 80 vezes maior na distribuição t do que na Normal. Na verdade, a simulação da t resulta em pontos bastante extremos, como -100 ou 50 (resultados “impossíveis” numa normal(0,1)), e por isso o eixo X ficou tão grande. Isto é, para prever o resultado binário X>0 ou X<0, não há muita diferença nos dois modelos, a despeito de haver enormes diferenças em eventos mais extremos.

Normal x T

 

Dito isto, não é de se surpreender que, apesar de Nate Silver ter colocado o Brasil como favorito – e ter errado de maneira acachapante o resultado contra a Alemanha – ainda assim suas previsões (atualizadas) terminaram a copa com o menor erro quadrático médio. Ou, também, com o menor erro logarítmico. Essas são medidas próprias de escore para previsões probabilísticas.

O gráfico final do erro quadrático ficou da seguinte forma. Não coloco o logarítmico por ser praticamente igual:

modelos_final

E segue também o gráfico final comparando as probabilidade observadas com as previstas:

calibracao_final