Análisis Bayesiano de las encuestas de las elecciones gallegas del 25S 2016

Predicción de escaños a partir de varias encuestas

Virgilio Gómez Rubio

Departamento de Matemáticas

Universidad de Castilla-La Mancha

Campus de Albacete

Introducción

En este artículo, escrito a la carrera desde Barajas, hago una predicción de los resultados de las elecciones del 25 de septiembre de 2016 al parlamento gallego.

Métodos

Hemos encontrado referencias a 3 encuestas publicadas en medios de comunicación que recogen la intención de voto a nivel provincial. Queremos combinar estas encuestas para obtener una estimación más precisa de los porcentajes de voto a nivel provincial y, a partir de aquí, obtener una estimación de los escaños obtenidos por cada partido en cada provincia y de ahí sacar el número de escaños totales.

En concreto, las encuestas que hemos considerado en este análisis se han obtenido de diversas webs y se han resumido en una tabla. Los datos son:

Empresa Provincia Dato N Error PP PSOE Marea Cs BNG OTROSBL
Einvenio A Coruña Porcentaje 400 4.9 43.5 17.0 20.5 7.0 6.0 6.0
  Lugo Porcentaje 300 5.7 48.0 18.8 17.7 4.0 5.5 6.0
  Ourense Porcentaje 300 5.7 48.5 18.0 17.0 5.0 4.0 7.5
  Pontevedra Porcentaje 400 4.9 40.5 20.3 21.5 5.2 7.0 5.5
Metroscopia A Coruña Porcentaje 800 3.5 46.9 18.7 23.7 4.7 5.3 0.7
  Lugo Porcentaje 600 4.1 53.2 18.1 18.0 2.6 6.1 2.0
  Ourense Porcentaje 600 4.1 55.0 12.7 16.6 2.9 3.9 8.9
  Pontevedra Porcentaje 800 3.5 40.9 17.9 22.5 4.7 7.5 6.5
CIS, TNS A Coruña Porcentaje 986 NA 45.5 19.2 20.0 4.4 5.1 5.8
  Lugo Porcentaje 741 NA 51.2 20.2 15.9 4.3 3.5 4.9
  Ourense Porcentaje 741 NA 50.5 19.5 16.7 4.1 3.0 6.2
  Pontevedra Porcentaje 986 NA 39.8 20.9 22.4 5.1 7.1 4.7

Algunas de las encuestas muestran ya directamente los escaños estimados para cada partido, con lo que no las hemos incorporado en nuestro modelo.

Usaremos un modelo jerárquico Bayesiano multinomial-Dirichlet para combinar todos los resultados y obtener estimaciones más precisas de las proporciones de voto en cada provincia.

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

 model {
   for(i in 1:n.encuestas) {
     for(j in 1:n.provincias) {
     votos[i, j, 1:n.partidos] ~ dmulti(p[j, 1:n.partidos], n[i, j])
     }
     
   }
 
   for(j in 1:n.provincias) {
     p[j, 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 ajsutado 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:

  A Coruña Lugo Ourense Pontevedra
BNG 1 0 0 1
Cs 0 0 0 0
Marea 6 2 3 6
OTROSBL 0 0 0 0
PP 13 9 9 10
PSOE 5 3 2 5

Los escaños totales por partidos serían:

  Escaños
BNG 2
Cs 0
Marea 17
OTROSBL 0
PP 41
PSOE 15

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:

  PP PSOE Marea Cs BNG
Min. 37.0000 12.0000 13.0000 0.0000 1.0000
1st Qu. 40.0000 15.0000 16.0000 0.0000 2.0000
Median 40.0000 15.0000 16.0000 1.0000 2.0000
Mean 40.4833 15.3099 16.2197 0.9553 2.0318
3rd Qu. 41.0000 16.0000 17.0000 1.0000 2.0000
Max. 44.0000 18.0000 19.0000 2.0000 4.0000

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

  PP PSOE Marea Cs BNG
2.5% 39 14 15 0 1
97.5% 42 16 18 2 3

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. La siguiente figura muestra las distribuciones marginales a posteriori de los escaños obtenidos por cada partido:

plot of chunk unnamed-chunk-11

La gráfica indica que los partidos nacionalistas obtendrían una mayoría absoluta con una gran probabilidad. La línea vertical muestra el resultado real de las elecciones.

Apéndice: Software y datos utilizados

  • R, para el análisis de datos
  • Electograph, como fuente de datos de encuestas