Postado em 21 de novembro, 2016

Como (não) prever uma eleição

Nós usamos um modelo Bayesiano para mostrar como um pequeno viés a favor de Trump tem um grande impacto na previsão dos resultados da eleição.

As eleições americanas seguem um padrão diferente de outros lugares do mundo, o que pode causar confusão para alguém de fora dos Estados Unidos. Na maior parte do mundo, o presidente eleito é aquele que recebe o maior número de votos populares. Nos EUA é eleito quem recebe mais votos do colégio eleitoral. O sistema não é tão complexo quanto parece à primeira vista: cada estado americano possui uma quantidade de votos no colégio eleitoral, somando 538 votos para todos estados. O candidato a presidente que vence no voto popular em um determinado estado leva todos votos do colégio eleitoral deste estado (com duas exceções). Por exemplo, Trump venceu na Flórida e levou os 29 votos deste colégio eleitoral. Se um candidato receber 270 votos ou mais no total, ele é o vencedor da corrida presidencial. Esse sistema torna as eleições americanas mais difíceis de prever, pois a mudança de resultado em um único estado pode causar grande impacto no resultado final (um exemplo famoso foi a disputa Bush X Gore, em que a contagem de votos na Flórida determinou quem venceu). Nosso problema, portanto, é prever o resultado em cada um dos 50 estados individualmente, em vez de prever o número total de votos de cada candidato.

Fazer previsões é muito difícil, especialmente se for sobre o futuro.1

Nosso interesse aqui não é prever a eleição que já aconteceu, mas mostrar como um modelo Bayesiano pode ser usado para fazer previsões eleitorais, e propor uma modificação que explica a falha dos previsores e da imprensa em prever a vitória de Trump. Essa falha não é particular de um modelo, mas de qualquer modelo que se baseia nas pesquisas eleitorais sem considerar possíveis vieses e falhas metodológicas.

Pesquisas eleitorais

Em teoria, uma pesquisa eleitoral deveria amostrar a população de maneira aleatória e sem vieses. No entanto, na prática existem vários problemas que podem comprometer o uso de pesquisas eleitorais em análises estatísticas simplórias:

  • Efeito Shy Tory2 / Bradley3 / "vergonha": Eleitores não se sentem confortáveis em revelar suas preferências particulares.
  • Viés de seleção: Pessoas que respondem aos pesquisadores de opinião podem ser de um grupo pouco representativo (ex. pessoas que atendem a linhas de telefone fixo).
  • Erros de estratificação: Determinação inapropriada das subpopulações quando a amostragem é estratificada.
  • Correlação entre candidatos e (não) votantes: Como votar é opcional nos EUA, as preferências eleitorais de algumas pessoas podem estar correlacionadas com a probabilidade delas votarem (ou não) no dia da eleição.
  • Mudança de preferência ao longo do tempo: A preferência das pessoas muda com o tempo e com o desenrolar da corrida presidencial (muita gente só decide em quem votar na última semana).
  • Ruído de amostragem: Qualquer amostra de uma população está sujeita a ruído, portanto as estatísticas coletadas não são idênticas às da população em geral.

Previsões eleitorais básicas apenas consideram o último item na estimativa das incertezas e margens de erro. Apenas considerando isso e nada mais, múltiplas pesquisas eleitorais são tratadas como independentes e não-enviesadas, e quanto mais pesquisas você considerar, menores serão as estimativas das margens de erro. Isso levaria a uma previsão com certeza absoluta, o que nunca é o caso na vida real. Os outros efeitos são vieses que tornam múltiplas pesquisas eleitorais pouco confiáveis e possivelmente inúteis. Como esses vieses não podem ser modelados de maneira direta, pois não há os dados necessários para isso, a única maneira de determiná-los é com fortes suposições sobre a metodologia das pesquisas eleitorais. Outra possibilidade é estimar os vieses a partir de eleições anteriores. Nós não iremos modelar os vieses de maneira exata, mas vamos incluí-los em um termo abrangente que chamaremos de viés a partir de agora. Esse viés é compartilhado por todas as pesquisas eleitorais, e nós mostraremos que um pequeno valor favorável a Trump muda completamente as previsões eleitorais.

Previsão

Nós deixamos os detalhes do nosso modelo Bayesiano de previsão eleitoral em uma seção posterior, para o leitor que queira se aprofundar no modelo estatístico adotado. Nesta seção iremos mostrar o resultados das nossas previsões. Dependendo das pesquisas eleitorais que incluímos no modelo, nós temos resultados consideravelmente diferentes. As pesquisas a serem consideradas devem ser recentes e possuir boa qualidade (ou seja, pesquisas que foram conduzidas com metodologia apropriada). Nós usamos a avaliação do site 538 para obter uma nota de qualidade das pesquisas eleitorais americanas4. 538 determina essa nota a partir da maneira que a pesquisa foi conduzida e do seu histórico de sucesso. Por exemplo, uma pesquisa conduzida pela internet vai ter nota baixa, enquanto que uma pesquisa conduzida com estratificação vai ter uma nota melhor.

Nós vemos que a simples escolha de quais pesquisas incluir no modelo já possui grande impacto nas previsões:

Escolha de pesquisa Clinton Trump Nenhum
Última pesquisa com boa nota 87.3% 10.5% 2.2%
As três pesquisas de melhor nota (no último mês) 99.3% 0.6% 0.1%
Todas pesquisas da última semana 100.0% 0.0% 0.0%

Uma pesquisa de boa nota é aquela com nota acima de B, de acordo com o site 538. Quando falamos de última semana ou mês, é em referência ao dia da eleição, que aconteceu em 8 de novembro.

Dependendo da maneira que você agrega as pesquisas eleitorais, há infinitas possíveis previsões. Por exemplo, você pode dar pesos para as pesquisas de acordo com sua qualidade ou com a distância da eleição. Você pode desconsiderar algumas, e só considerar outras, como fizemos acima. Cada escolha leva a uma previsão diferente. Isso explica a diversidade encontrada na mídia, antes da eleição:

  • New York Times5: 85% Clinton, 15% Trump
  • Huffington Post6: 98% Clinton, 1.7% Trump
  • Princeton Election Consortium7: 93% Clinton
  • 5388: 71.4% Clinton, 28.6% Trump

Apenas 538 não pode ser incluído nos previsores que deram uma vitória quase certa para Clinton. Perceba que o resultado dos outros previsores é consistente com os nossos próprios resultados, exibidos na tabela anterior. Como tantos previsores falharam em prever a vitória de Trump? Como muitos problemas estatísticos, a resposta está nos dados: garbage in, garbage out 9.

Impacto do viés

Nós sintetizamos todos problemas associados às pesquisas eleitorais em um termo geral de viés. Esse termo sempre é favorável a Trump no dia da eleição, pois claramente foi isso que aconteceu em 8 de novembro. O viés pode ser interpretado como uma preferência a Trump que as pesquisas não capturaram. Em vez de fixá-lo em um valor, nós usamos uma variável aleatória com distribuição uniforme (todos valores na faixa considerada possuem a mesma probabilidade de acontecer). Começamos com viés nulo, em que Clinton é prevista como vitoriosa, e aumentamos o seu intervalo até que Trump seja previsto como vitorioso:

Nós vemos que mesmo um pequeno viés nas pesquisas eleitorais causa um grande impacto na previsão da eleição. Isso explica porque o 538 era mais favorável a vitória de Trump: eles também incluíram um termo de viés e não consideraram as pesquisas eleitorais como amostragens independentes10. Por outro lado, o gráfico acima sugere que até 538 subestimou o viés a favor de Trump.

No mapa interativo abaixo você pode verificar como o viés impacta a eleição em cada estado. Para cada estado nós mostramos a porcentagem de votos prevista para cada candidato. Note que a porcentagem de votos é diferente da probabilidade de vencer, pois este depende também da incerteza da predição, o que não é exibido no mapa.

0
0
Viés:
Modelo Bayesiano hierárquico

Podemos usar um modelo Bayesiano hierárquico para agregar a informação das pesquisas eleitorais de cada estado de forma a gerar uma previsão global coerente. A probabilidade de cada pesquisa é modelada como uma multinomial, com prior Dirichlet (por estado) e hyperprior uniforme (pelo país). Dessa forma, a informação do prior é compartilhada entre estados, permitindo usar hyperpriors pouco informativos. Começamos com uma preferência nacional em relação a cada candidato, modelada como três distribuições uniformes independentes:

$$ \alpha_c \sim Uniform(0, 1000) \\ c \in [Trump, Clinton, Ind.] $$

A intenção de voto para cada estado é modelada com a distribuição Dirichlet, com a preferência nacional como prior:

$$ \theta_s = [\theta^{Trump}_s, \theta^{Clinton}_s, \theta^{Ind.}_s] \\ \theta_s \sim Dirichlet(\alpha) \\ s \in States $$

Por fim, cada pesquisa eleitoral é modelada como uma amostra independente de uma multinomial, cujos parâmetros são a intenção de voto do estado e o número de pessoas entrevistadas em cada pesquisa eleitoral:

$$ poll_{s,d} \sim Multinomial(\theta_s, N_{poll_{s,d}}) \\ d \in Dates $$

Inferimos os posteriors dos parâmetros desconhecidos (intenção de votos dos estados e preferência nacional) dados as variáveis observados (as pesquisas eleitorais que incluímos). O posterior é o nosso conhecimento das variáveis latentes após a observação de variáveis que são estatisticamente relacionadas. Dependendo da escolha de quais pesquisas incluir como observações, como explicamos anteriormente, os posteriors são diferentes, portanto as previsões também mudam.

Para prever a probabilidade de cada candidato vencer a eleição de um estado, usamos a mesma probabilidade multinomial que foi usada para a inferência. No entanto, agora as intenções de voto são o posterior dado as pesquisas eleitorais, e o número de eleitores é escolhido a partir da eleição de 2012. Assim, para cada estado, amostramos o número previsto de votos de cada candidato no dia da eleição usando a seguinte fórmula:

$$ election_s \sim Multinomial(\theta_s, N^{voters}_s) $$

O candidato com mais votos leva todos votos do colégio eleitoral do estado (ignoramos as exceções de Nebraska e Maine). Somamos os votos do colégio eleitoral de cada candidato, e se um candidato atinge 270 votos ou mais, ele é o vencedor. Repetimos este processo várias vezes para determinar a probabilidade de cada candidato vencer a eleição. Por exemplo, se repetirmos o processo 1000 vezes, e Clinton vencer em 937 casos, a probabilidade dela vencer é 93.7%.

Para adicionar o termo de viés em nossa previsão e levar em consideração todos os problemas de pesquisas eleitorais que citamos, fazemos uma simples mudança no modelo preditivo:

$$ \theta^{bias}_s \leftarrow [\theta^{Trump}_s + \text{bias}, \theta^{Clinton}_s - \text{bias}, \theta^{Ind.}_s] \\ bias \sim Uniform(0, \epsilon) \\ election_s \sim Multinomial(\theta^{bias}_s, N^{voters}_s) \\ $$

Este viés sempre favorece Trump, mas de maneira aleatória e imprevisível. Devemos subtrair o mesmo valor de Clinton, a fim de garantir que \( \theta^{bias} \) permaneça como um simplex probabilístico válido. Nos experimentos acima, variamos \( \epsilon \) de 0 a 5%.

Código

Sinta-se à vontade para utilizar e modificar nosso código. Veja abaixo como implementamos o modelo probabilístico em Stan11:

data {
    int nb_polls; // Number of polls
    int nb_states; // Number of states (51 because of D.C.)
    int nb_candidates; // Number of candidates (3: Trump, Clinton, Ind.)
    int polls_states[nb_polls]; // Poll -> state map
    int votes[nb_polls, nb_candidates]; // Polled votes for each candidate
    int nb_voters[nb_states]; // Number of voters for forecasting
    real bias; // Polling bias
}
parameters {
    simplex[nb_candidates] theta[nb_states]; //1 - Trump, 2 - Clinton, 3 - Ind.
    vector[nb_candidates] alpha;
}
model {
    for(c in 1:nb_candidates)
        alpha[c] ~ uniform(0, 1000); // Weakly informative hyperprior

    for(s in 1:nb_states)
        theta[s] ~ dirichlet(alpha); // Dirichlet prior per state

    for(p in 1:nb_polls) // Multinomial observations (polled values)
        votes[p] ~ multinomial(theta[polls_states[p]]);
}
generated quantities {
    int votes_pred[nb_states, nb_candidates]; // Predicted number of votes on election day
    real epsilon[nb_states]; // Bias random variable
    simplex[nb_candidates] theta_bias[nb_states]; // Biased voting intentions

    // The deltas below are used to ensure that the biased thetas form a valid simplex
    real delta_t[nb_states];
    real delta_h[nb_states];
    real delta[nb_states];

    for(s in 1:nb_states) {
        if(bias == 0.0)
            epsilon[s] <- 0.0;
        else
            epsilon[s] <- uniform_rng(0, bias); // Bias value for this state

        // We must ensure that theta will remain a valid probability simplex,
        // so we limit delta in a way theta will never be below 0 or above 1
        delta_t[s] <- fabs(theta[s][1] - fmax(0.0, fmin(1.0, theta[s][1] + epsilon[s])));
        delta_h[s] <- fabs(theta[s][2] - fmin(1.0, fmax(0.0, theta[s][2] - epsilon[s])));
        delta[s] <- fmin(delta_t[s], delta_h[s]);

        theta_bias[s][1] <- theta[s][1] + delta[s];
        theta_bias[s][2] <- theta[s][2] - delta[s];
        theta_bias[s][3] <- theta[s][3];

        votes_pred[s] <- multinomial_rng(theta_bias[s], nb_voters[s]);
    }
}

Conclusão

Nós vemos que mesmo um modelo estatístico razoavelmente sofisticado não é suficiente para combater dados ruins. Um modelo de previsão adequado às eleições americanas necessita incluir os vieses das pesquisas eleitorais, como demonstramos de maneira geral. Para ser mais preciso, é necessário ou fazer suposições sobre a metodologia de cada pesquisa eleitoral, ou calibrar o peso de cada pesquisa a partir de sua confiabilidade histórica. Isso explica 538 ter dado a maior chance de Trump vencer na grande mídia. Um ponto importante a levantar sobre previsões eleitorais é que se você prediz que um candidato vai vencer com 70% de certeza, é esperado que ele perca 30% das vezes. Ou seja, é difícil avaliar as previsões a partir da observação de uma única eleição presidencial.

Apesar das eleições americanas de 2016 terem sido uma grande surpresa, o resultado não foi um cisne negro12. Antes das eleições, Nassim Taleb demonstrou que as previsões eleitorais que estavam sendo publicadas não eram confiáveis por conta de sua volatilidade considerável. De acordo com um modelo baseado em teoria de opções, essa volatilidade deveria ter deixado as probabilidades de vitória mais próximas de 50%, que representa a maior incerteza possível13. Se houver interesse, nós gostaríamos de explorar esse modelo, em que as intenções de voto seguem um passeio aleatório. Para fazer isso, podemos seguir a sugestão de Andrew Gelman e mudar o prior Dirichlet para softmax, cujos parâmetros podem seguir um passeio aleatório14.

Autores