Incertidumbre electoral
Para la recolección y depuración de los datos hemos usado tanto R como SQL.
Para el análisis exploratorio, visualización y modelización hemos usado R
Todo el código se encuentra libremente disponible en Github en https://github.com/3nriket/TFM_encuestas_y_elecciones_EPP_UCM_2023
Se han usado fundamentalmente 3 tipos de bases de datos
La idea principal del trabajo es que una encuesta, en un instante temporal, falla, pero la evolución del conjunto de las mismas nos puede servir para realizar predicciones certeras.
¿Cuál es la variable objetivo?
Por cada casa encuestadora \(s_i\) y partido \(p_j\), en un instante temporal \(t\), anterior a las elecciones, tenemos entonces que
\[V_{j} = \hat{V}_{ij}(t) + \varepsilon_{ij}(t), \quad i=1,\ldots,E, \quad j=1,\ldots, P\]
\[V_{j} = \hat{V}_{ij}(t) + \varepsilon_{ij}(t), \quad i=1,\ldots,E, \quad j=1,\ldots, P\]
En contraste con uno de los paradigmas principales del Machine Learning, en nuestro problema de medidas repetidas, con un mismo valor de la variable objetivo \(V_j\) para una muestra de predictoras \(V_{j} = \hat{V}_{ij}(t)\)
El objetivo de este trabajo es ser capaces de, en un instante de tiempo \(t\) estimar los errores cometidos por cada encuestadora \(\hat{\varepsilon}_{ij}(t)\), para cada partido, de manera que la estimación agregada final sea el resultado del promedio de sus predicciones, tras corregirlas por los errores estimados cometidos
\[\hat{V}_{j} = \frac{1}{E} \sum_{i=1}^{E} \left( \hat{V}_{ij}(t) + \hat{\varepsilon}_{ij}(t) \right), \quad j=1,\ldots, P\]
Los datos agregados de las encuestadoras proceden de bases de datos abiertas como la Wikipedia
El objetivo será predecir el porcentaje de voto real (primera fila de la tabla), por los principales partidos políticos (rectángulo discontinuo azul), en las distintas carreras electorales desde 1982 hasta la actualidad, haciendo uso de la estimación de voto de cada casa (matriz de valores del recuadro verde).
La automatización en la extracción contó con los siguientes pasos:
Generación de una base de datos de links en los que realizar la búsqueda de resultados mediante el uso con expresiones regulares para las distintas elecciones desde 1982.
Acceso al código html para extraer de los png de los logos los nombres de los partidos políticos
Una vez construida la base de (meta)datos, se accedió al código html de cada una de ellas para extraer los datos de cada una de las tablas. Estos son algunos de los pasos adoptados en la depuración
La tabla (tidy data) resultante se aproxima a las 12 000 observaciones (porcentaje de voto que una encuestadora estima, para cada partido, fecha de campo y carrera electoral), identificando de manera unívoca cada encuesta (casa encuestadora + fechas de campo)
Los datos relativos a resultados electorales se han obtenido a través del portal Infoelectoral del Ministerio del Interior, a través del proyecto de paquete de R {pollspain}
, que tenemos actualmente en desarrollo.
En esta fuente, los datos se encuentran desagregados por distritos electorales, que para esta tentativa preliminar hemos decidido agregarlos a nivel nacional, para cada partido y carrera electorales, tanto el porcentaje de voto como variables que cuantifique el censo, la participación, votos blancos y votos nulos.
Se ha tenido que realizar un arduo trabajo de normalización de los partidos
Con los datos de casas encuestadores y los resultados reales, podremos construir tanto el promedio/consenso de mercado (encuestas ponderadas por su tamaño muestral y ventana temporal) como el análisis de las desviaciones respecto a la realidad
¿Por qué incluir variables exógenas?
Aunque considerar en modelos de predicción electoral solo variables exógenas puede incorporar excesivo ruido y tener un bajo poder predictivo, no incorporarlas puede ocasionar un incremento del sesgo y variabilidad del error al modelo, especialmente si las encuestadoras han fallado o no han sido correctamente seleccionadas
Nate Silver 1 cuantificó en un 30% la variabilidad explicada por las condiciones económicas en las elecciones americanas de 2020.
Por ello hemos recopilado variables exógenas desde 1980, agrupadas en los siguientes bloques temáticos:
Por ello hemos recopilado variables exógenas desde 1980, agrupadas en los siguientes bloques temáticos:
En este trabajo hemos incorporado finalmente 31 indicadores a nivel nacional.
La hipótesis principal del trabajo no es (de momento) desarrollar el mejor método de predicción en el contexto de Machine Learning, sino ilustrar como, con métodos ya conocidos, se puede obtener un buen resultado predictivo entendiendo los sesgos sistemáticos de las casas encuestadoras.
El simple promedio ponderado de encuestas de los medios de comunicación y agregadores solo nos ofrece una fotografía del estado de la precisión de las casas encuestadoras, pero no permite ofrecer precisión a partir de cierto umbral
El objetivo del trabajo es chequear como con técnicas de Machine Learning, el consenso de los errores puede ayudarnos a una predicción precisa.
Sea \(\hat{V}_{ij}(t)\) la predicción de intención de voto de cada casa encuestadora \(s_i\) y para cada partido \(p_j\), en un instante temporal \(t\), y sea \(\varepsilon_{ij}(t)\) el error real que están cometiendo (cuando \(t\) es la cita electoral) y \(V_{j}\) el resultado real para cada partido, tal que
\[\varepsilon_{ij}(t) = V_{j} - \hat{V}_{ij}(t) , \quad i=1,\ldots,E, \quad j=1,\ldots, P\]
Llamaremos house effect, denotado como \(HE_{ij}\) al sesgo sistemático (a lo largo del tiempo \([t_0, t_1]\)) de una casa encuestadora respecto al promedio de un partido o bloque ideológico, definido como
\[HE_{ij}(t_0, t_1) = \frac{1}{\left| T \right|}\sum_{t \in T} \left| \hat{V}_{ij}(t) - \frac{1}{\left| T \right|}\sum_{t \in T} \omega_{i,j} \hat{V}_{ij}(t)\right|\]
Para analizar dichas desviaciones se han definido diferentes promedios, todos ellos ponderados por tamaño de la encuesta y ventana temporal (encuestas con mayor muestra y más recientes tendrán más peso)
Así el house effect puede ser definido como la infraestimación o sobreestimación de una casa encuestadora respecto a un partido/bloque respecto al promedio ponderado correspondiente, para un periodo de tiempo dado para cada cita electoral.
Ejemplo: para las últimas elecciones de 2019 se refleja un sesgo sistemático favorable al PP y/o ala derecha de encuestadoras como Gesop. Por otro lado, el CIS tuvo un sesgo sistemático en favor de PSOE y al ala izquierda.
Estos sesgos no solo no los consideramos perjudiciales para nuestros modelos sino que, si son continuados en el tiempo, la hipótesis es que servirán a nuestros modelos como un “recuerdo de estimación”.
En el trabajo se excluyeron las recientes elecciones de 2023. De las 11 036 restantes se decidió particionar como sigue
La métrica o bondad de ajuste a evaluar será el error medio absoluto (MAE) (más adecuado para modelos que tengan bajo error de predicción pero con valores extremos e inestables en los errores)
Referencia: por tener una referencia, el error absoluto medio de los promedios de encuestas en España ronda los dos puntos por partido
Aunque algunos modelos son robustos frente a outliers y ausentes, con el objetivo de ganar interpretabilidad y armonía entre los modelos construido, se decidido imputar estos datos. Para ello se comparó dos metodologías:
Imputación por estadísticos de localización
Imputación por bagging
El MAE conseguido en los modelos con variables imputadas por estadísticos es ligeramente peor que el de los modelos con imputación por Bagging, siendo respectivamente de 1.2 y 0.9.
c a fin de superar las limitaciones de los árboles, usaremos modelos con el mismo concepto base y con el método de Ensamblado (combinando múltiples modelos en uno nuevo). En el caso del Baggin se han seleccionado \(n<N\) observaciones con reemplazamiento (o sin) de los datos originales y se aplica un árbol.
¿Qué hemos conseguido? ¿Qué nos falta?
🟥 Debilidad: dificultad para la predicción de partidos nuevos sin información sobre el sesgo de las encuestas
✅ Futura solución: mejorar en la creación de predictoras que permitan a los modelos captar un «recuerdo de voto»: de partidos nuevos por bloques y regiones, así como crear modelos para estimar matrices de transferencia de voto
🟥 Debilidad: todavía no incluye variables sociológicas.
✅ Futura solución: incorporar a los modelos variables sociológicas extraídas de los microdatos del CIS (como preocupaciones de los españoles)
🟥 Debilidad: solo considera datos agregados de encuestas.
✅ Futura solución: automatizar la recopilación de encuestas a nivel autonómico para posteriormente agregarlas en un modelo nacional
🟥 Debilidad: ganar en voto no implicar ganar en poder
✅ Futura solución: desarrollar modelos de simulación de asignación de escaños (en función de cada sistema electoral) en función de los datos desagregados por comunidades.
Otras ideas: extenderlo a otros sistemas electorales, incluir dependencia entre regiones, etc. Todo ello está siendo estudiado para su posterior implementación en un paquete de R, en colaboración con la sección de datos de RTVE.
✉️ Mail: javalv09@ucm.es (Facultad de Estadística de la UCM)
Agradecimientos: «Dinámica compleja e inferencia no parámetrica», proyecto subvencionado por la Agencia Estatal de Investigación (AEI) del Ministerio de Ciencia e Innovación (PID2020-116587GB-I00)
Diapositivas creadas integramente con Quarto en RStudio
Javier Álvarez Liébana • SEIO 2023 (Elche) • Fac. Estadística (UCM)