Faltam 7 dias e o resultado das presidenciais americanas ainda está em aberto.
Quando o futuro é desconhecido, em termos estatísticos, podemos fazer uma ideia do que vai acontecer, isto é, podemos atribuir uma probabilidade a cada uma das contingências futuras.
Naturalmente, há coisas que são quase certas como chover no Outono tem uma probabilidade de quase de 100%, e outras que são quase impossíveis, como a probabilidade de nos próximos 100 anos um asteróide colidir com a Terra.
Para conseguirmos "ver" melhor o resultado eleitoral futuro, usamos sondagens que, apesar de terem problemas, permitem-nos prever melhor do que usando a técnica de atirar uma moeda ao ar.
Peguei então nas sondagens publicadas entre os dias 21 e 29 de Outubro dos 7 "estados em dúvida"(https://www.270towin.com/2024-presidential-election-polls/) e, usando o Método de Monte Carlo de re-amostragem, calculei a percentagem de vezes em que o Trump ganha. Cheguei a um valor de 77%.
Representação gráfica da probabilidade de o Trump ganhar
Não está mal para quem é acusado de ser fascista, racista, xenófobo, misógino, machista ...
Isto só mostra a credibilidade que na América dão às pessoas que acusam o Trump de tudo e mais alguma coisa.
Valores usados
Código R usadodados <- data.frame(
Estado = c("Arizona","Georgia","North Carolina","Nevada","Pensilvânia","Wisconsin","Michigan"),
Respostas = c(8748,11004,9535,6919,10185,8309,7967),
Harris = c(4111,5211,4517,3286,4897,3994,3854),
Trump = c(4299,5365,4629,3322,4926,3983,3763),
Outros = c(338,428,389,311,362,332,350),
Deputados = c(11,16,16,6,19,10,15)
)
# Função para realizar o sorteio e calcular a soma dos deputados de quem ganhar em cada estado
simula_votos <- function(dados) {
# Inicializa a contagem de deputados para cada simulação
Trump=0
# Percorre os 7 estados
for (i in 1:nrow(dados)) {
# Sorteia votos com reposição para Harris e Trump
votos= sample(c(1,2,3), dados$Respostas[i], replace = TRUE, prob = c(dados$Harris[i],dados$Trump[i],dados$Outros[i]))
votos = table(votos)
if (votos[1]<votos[2])
Trump = Trump+dados$Deputados[i]
if (votos[1]==votos[2])
Trump = Trump+dados$Deputados[i]/2
}
219 + Trump
}
niter=10000
Trump=rep(0,niter)
vitoria=0
i=0
for (i in 1:niter){
Trump[i]=simula_votos(dados)
if (Trump[i] >=270){
vitoria=vitoria+1}
}
vitoria/niter
table(Trump)
hist(Trump)
0 comentários:
Enviar um comentário