[en] The current project explores electoral data from Spanish national elections from 2000 to 2011. Using these, it is developed and tested an algorithm to predict election results with a small error. The analysed prediction is an Electoral Night Forecasting procedure, performed during the election night. Specifically, the implementation starts with the counting of the first votes and finishes with the publication of the final results. Differently from other widespread calculations, the basis of the study is not sociodemographic data. Machine Learning techniques, like clustering or PCA, are used in conjunction with electoral data from past elections and data from the current incoming votes. There are two distinguishable phases in the prediction: clustering of historical data to train the system and the prediction itself. Within the clustering phase, polling districts are grouped according to the similarity between their voting behaviour (clustering implementation depends strongly on the function chosen to calculate this similarity). Predictions of the final results are given as voting data is arriving. It is assumed that not computed polling districts have similar results to those already computed of the same cluster. With the previous assumption, predictions are improved. In addition, the error due to the bias of the early received results is reduced. The prediction model chosen to develop this approach was tested with great outcomes in the 2004 South African elections. A data study is conducted prior to the prediction, in order to find the optimal clustering type and number of clusters. Results obtained are not indicative enough to choose a good setting of the model. Consequently, the quest of the best parameters is done by the very same computation of predictions. For any tested configuration, the prediction improves the results thrown by pure counting of incoming votes. Forecasted results are studied according to the percentage of votes arrived. The study reveals that fewer clusters are a better option for lower votes arrived. On the contrary, a larger number of clusters is more accurate for a large number of incoming votes. An alternative implementation of the algorithm using PCA (Principal Component Analysis) is proposed. By using it, it is expected to lessen data volume and consequently, computational cost and execution time. By using PCA with training data, most of the forecasting results are notably enhanced. With this technique, a great behaviour is guaranteed with a large number of clusters, independently from the percentage of votes arrived.

[es] Este proyecto explora los datos electorales de los comicios estatales celebrados en España entre los años 2000 y 2011. Con ellos se elabora y testea un algoritmo de predicción de resultados electorales con un error de predicción pequeño. La predicción a desarrollar se enmarca en el llamado Electoral Night Forecasting (ENF), predicciones durante la noche electoral. En concreto, se implementan durante el escrutinio, iniciándose con el recuento de votos de las primeras mesas electorales y finalizando con la publicación de resultados definitivos. Los cómputos a realizar, a diferencia de otros más clásicos y conocidos, no se basan directamente en datos sociodemográficos. Se combinan técnicas de Machine Learning, como clustering y PCA; con datos históricos de elecciones pasadas y las que se obtienen del recuento de votos durante las elecciones actuales. Hay dos fases bien diferenciadas para desarrollar la predicción: el clustering de los datos históricos, que sirve como entrenamiento del sistema, y la misma predicción. En la fase de clustering se hacen grupos de mesas electorales, asignando al mismo conjunto las que tienen resultados similares (esta agrupación dependerá en gran medida de la función que se utiliza para calcular la semejanza entre resultados). Tal y como van llegando los datos durante el escrutinio, se van haciendo predicciones del resultado final. Éstas asumen que los votos de las mesas que aún no han finalizado el recuento son similares a las ya escrutadas de su mismo clúster. De esta manera se refina la predicción del resultado final y se reduce considerablemente el error provocado por la llegada de mesas con patrón de voto similar en los primeros estadios del escrutinio. El modelo de predicción escogido para realizar esta aproximación se implantó en las elecciones sudafricanas de 2004 con buenos resultados. Con anterioridad a la fase de predicción se estudian los datos, para encontrar el tipo de clustering y el número de clústeres óptimo a emplear. Los resultados obtenidos no son suficientemente indicativos para elegir una buena configuración para el modelo descrito. Se pasa entonces a buscar los mejores parámetros y número de clústeres comparando directamente la reducción de sus respectivos errores de predicción. Para cualquier configuración utilizada, la predicción mejora los resultados del escrutinio puro, mostrando su utilidad. Se estudia el comportamiento de la predicción para diferentes valores del escrutinio. Con valores bajos, se encuentran mejores resultados si las agrupaciones tienen un menor número de clústeres. Para valores superiores de escrutinio, es mejor usar un mayor número de clústeres. Se propone también un cálculo alternativo del algoritmo utilizando PCA (Principal Component Analysis) para aligerar el volumen de datos implicado en el cálculo de clústeres y así obtener tiempos de ejecución más reducidos, comparando si afecta al resultado final y a los parámetros óptimos. Con el procesado de los datos de entrenamiento con PCA, el comportamiento del sistema mejora notablemente para la mayoría de casos estudiados. Con PCA obtenemos también resultados óptimos (o casi óptimos en el peor de los casos) con un número de clústeres grandes, independientemente del porcentaje de escrutinio computado.