segunda-feira, 14 de outubro de 2024

A probabilidade de o Trump ganhar é de 74%

Como os USA são uma federação, o presidente americano é proporcionalmente eleito pelos estados.

Cada estado vota no presidente que pretende e, depois, os resultados são transformados num certo número de "deputados federais" que, numa sessão única, elegem o presidente (perdem imediatamente o mandato).

O presidente é eleito se tiver pelo menos 270 votos (num total de 548).

Nos EUA é tudo muito contra os esquerdismos, comparando com os nossos partidos, o Partido Republicano está  entre o CDS, a IL e o CHEGA e o Partido Democrata está entre o CDS e o PSD.

Pegando nos resultados históricos, há estados que votam sempre no candidato de um determinado partido, uns no candidato do Partido Democrata (Azul) e outros no candidato do Partido Republicano (Vermelho).


Pegando nas sondagens e nos dados históricos, já estão distribuídos 83% dos deputados.

O total de deputados é 548 e já estão certos 226 para a Harris e 219 para o Trump. Falta então distribuir os deputados de apenas 7 estados que se denominam por Swing States.  

Fig. 1 - Soma das últimas 10 sondagens (a terminar em 13/10/2024)

Em termos médios, o Trump está com vantagem mas quero quantificar, usando bootstrapping, qual a probabilidade de ser ele a ganhar.
Usando um programa de re-amostragem estatística, obtenho 74%.


Programa em R:

# Definir os dados
dados <- data.frame(
  Estado = c("Arizona", "North Carolina", "Georgia", "Michigan", "Pensilvânia", "Wisconsin", "Nevada"),
  Respostas = c(6575, 7137, 10833, 7445, 7837, 7152, 6522),
  Harris = c(3120, 3407, 5119, 3521, 3761, 3437, 3171),
  Trump = c(3230, 3494, 5191, 3558, 3756, 3416, 3124),
  Outros = c(225, 236, 523, 366, 320, 299, 227),
  Deputados = c(11, 16, 16, 15, 19, 10, 6)
)

# 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
vitoria=0
for (i in 1:niter){
    Trump=simula_votos(dados)    
    if (Trump >270){
       vitoria=vitoria+1}
    }
vitoria/niter






0 comentários:

Enviar um comentário

Twitter Delicious Facebook Digg Stumbleupon Favorites More

 
Design by Free WordPress Themes | Bloggerized by Lasantha - Premium Blogger Themes | Best Hostgator Coupon Code