Análisis Bayesiano de las encuestas de las elecciones catalanas del 21D

Predicción de escaños a patir de varias encuestas regionales y provinciales

Virgilio Gómez Rubio

Departamento de Matemáticas

Universidad de Castilla-La Mancha

Campus de Albacete

Introducción

En este análisis de las encuestas de las elecciones catalanas del 21D de 2017 usamos un modelo jerárquico Bayesiano para combinar la información de las encuestas regionales y provinciales. El objetivo es usar toda la información disponible para mejorar la predicción de escaños sin importar la escala geográfica a la que se hayan hecho la encuestas.

Actualización: Se han incluído los resultados reales de las elecciones del 21D.

Métodos

De manera similar a los artículos anteriores, hemos considerado encuestas de intención de voto para intentar predecir el número de escaños. Los datos que hemos utilizado se han obtenido de la web Electograph y no se reproducen aquí.

Para modelizar las encuestas a nivel regional, se utiliza un modelo jerárquico Bayesiano multinomial-Dirichlet. Esto nos modeliza el porcentaje de votos total para cada partido. Además, usaremos un modelo multinomial para modelizar los resultados de las encuestas por partido y provincia. A nivel provincial, se ha supuesto que la probabilidad de votar a un partido en una determinada provincia depende del porcentaje global de voto de cada partido modificado por un efecto aleatorio para cada provincia y partido. Esto hace que los porcentajes de votos a un determinado partido en cada provincia se parezcan a los globales pero que también haya margen para variaciones locales. Para más detalles, se puede ver el modelo de WinBUGS más abajo.

Hemos usado el paquete rjags para ajustar el modelo Bayesiano usando este código:

 model {
   for(i in 1:n.encuestas.prov) {
     for(j in 1:n.provincias) {
     votos.prov[i, j, 1:n.partidos] ~ dmulti(p.prov[j, 1:n.partidos], n.prov[i, j])
     }
     
   }
 
   for(j in 1:n.provincias) {
     for(i in 1:n.partidos) {
       log(phi[j, i]) <- log(p[i]) + u[j, i]
       p.prov[j, i] <- phi[j, i]/sum(phi[j,])
 
       u[j, i] ~ dnorm(0, tau)
     }
   }
 
   tau ~ dgamma(a0, b0)
 
 
   for(i in 1:n.encuestas.cat) {
       votos.cat[i, 1:n.partidos] ~ dmulti(p[1:n.partidos], n.cat[i])
   }
   p[1:n.partidos] ~ ddirch(alpha[1:n.partidos])
 
 
 }

A la hora de ajustar el modelo usando simulación MCMC hemos usado 5000 iteraciones de calentamiento y otras 10000 para obtener las estimaciones de los parámetros. A la hora de generar estas simulaciones, nos hemos quedado con 1 de cada 10 simulaciones para disminuir la autocorrelación. Además, con cada una de estas 10000 simulaciones hemos estimado el número de escaños que correspondería a cada partido para obtener una simulación de los escaños por provincias y totales.

Resultados

Una vez que hemos ajustado el modelo, podemos estimar el número de escaños por provincia usando las medias a posteriori de los porcentajes de voto por provincias y partidos:

  Barcelona Gerona Lérida Tarragona TOTAL
CecP 6 1 1 1 9
Cs 21 3 3 5 32
CUP 6 1 1 1 9
ERC 18 5 4 4 31
JxCAT 16 5 4 4 29
PP 5 0 0 1 6
PSC 13 2 2 2 19

Los resultados reales han sido los siguientes:

  Barcelona Gerona Lérida Tarragona TOTAL
CecP 7 0 0 1 8
Cs 24 4 3 6 37
CUP 3 1 0 0 4
ERC 18 4 5 5 32
JxCAT 17 7 6 4 34
PP 3 0 0 0 3
PSC 13 1 1 2 17

Como puede verse, las estimaciones fueron bastante buenas. Considerando el total de escaños, fallamos en 22 (si los consideramos provincia a provincia serían 26) de un total de 135.

Para dar una medida de la variabilidad de esta estimación, hemos usado los resultados de las simulaciones para estimar el número de escaños totales que cada partido obtendría. Para ello hemos usado los porcentajes estimados en cada iteración y calculado los escaños. Posteriormente, hemos calculado una serie de estadísticos resumen con los escaños obtenidos por cada partido.

Aquí vemos los estadísticos resumen:

  CUP ERC JxCAT CecP PSC Cs PP
Min. 3.0000 23.0000 20.0000 4.0000 12.0000 22.0000 0.0000
1st Qu. 8.0000 29.0000 27.0000 8.0000 18.0000 30.0000 5.0000
Median 9.0000 31.0000 28.0000 9.0000 20.0000 32.0000 6.0000
Mean 8.8627 30.8588 28.4841 8.8161 19.8515 31.7292 6.3976
3rd Qu. 10.0000 32.0000 30.0000 10.0000 21.0000 33.0000 7.0000
Max. 16.0000 42.0000 39.0000 15.0000 28.0000 42.0000 13.0000

Y aquí tenemos un intervalo de credibilidad al 95% para el número de escaños por partido:

  CUP ERC JxCAT CecP PSC Cs PP
2.5% 6 26 24 6 16 27 4
97.5% 12 36 33 12 24 37 9

Los intervalos (¿de confianza?) del número total de escaños estimados por Kiko Llaneras, con una metodología diferente, fueron los siguientes:

  CUP ERC JxCAT CecP PSC Cs PP
10% 4 28 23 6 16 27.0 3
Mediana 8 33 27 9 20 31.5 6
90% 10 38 32 12 24 36.0 9

Nuestra metodología parece dar intervalos de credibilidad más estrechos con un nivel de confianza más alto.

El modelo Bayesiano nos combina los datos de las distintas encuestas de manera que se obtiene una estimación de las proporciones de voto mucho más fiable y, por tanto, del número de escaños obtenido por cada partido. La siguiente figura muestra las distribuciones marginales a posteriori de los escaños obtenidos por cada partido.

plot of chunk unnamed-chunk-13

Por último, vamos a mostrar en una gráfica el número de escaños que obtendrían los partidos independentistas, junto con el límite de 68 escaños que marca la mayoría absoluta:

plot of chunk unnamed-chunk-14

La gráfica indica que los partidos nacionalistas obtendrían una mayoría absoluta con una gran probabilidad.

Conclusiones

Hemos visto cómo los modelos jerárquicos Bayesianos nos permiten combinar datos de diferentes encuestas para poder realizar una estimación del número de escaños que obtendría cada partido en las elecciones catalanas de 21 de diciembre de 2017. Los resultados muestran que los partidos nacionalistas obtendrían una mayoría absoluta en número de escaños con una probabilidad del 59.79%.

Por algún motivo, este modelo proporciona resultados muy similares a los obtenidos usando solamente las encuestas a nivel provincial. Esto puede deberse a que el modelo produce un sobreajuste de los porcentajes de voto a nivel provincial.

Apéndice: Software y datos utilizados

  • R, para el análisis de datos.
  • Electograph, para la recogida de datos de encuestas.