{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "---\n", "Predicciones utilizando RegressRidge\n", "---\n", "Predicción para el Frente: [47.38865268]\n", "Predicción para los blancos: [28.6112576]\n", "Predicción para los colorados: [16.70908836]\n", "---\n", "Predicciones ballotage (basados en 2009,2014)\n", "---\n", "Predicción para el Frente: [54.19052508]\n", "Predicción para los blancos: [43.76496115]\n" ] } ], "source": [ "import numpy as np\n", "\n", "# Las features son las predicciones de la última encuesta de Cifra, Equipos, Radar y Factum, en ese orden\n", "encuestas_X=np.array([[50.9,31.8,12.5, #Cifra\n", " 52.5,31.6,11.1, #Equipos\n", " 54.0,29.0,08.0, #Radar\n", " 54.5,31.0,12.0], #Factum\n", " #2004\n", " [45.0,31.0,12.0, #Cifra\n", " 44.0,30.0,10.0, #Equipos\n", " 45.0,29.0,14.0, #Radar\n", " 46.0,34.0,10.0],#Factum\n", " #2009\n", " [43.0,32.0,18.0, #Cifra\n", " 43.6,33.4,15.1, #Equipos\n", " 45.6,31.3,15.2, #Radar\n", " 44.0,34.0,15.0] #Factum\n", " #2014\n", " ])\n", "\n", "# Resultados reales en 2004 y 2009 para cada partido\n", "resultados_frente=np.array([50.54,48.0,47.8])\n", "resultados_blancos=np.array([34.3,29.0, 30.8])\n", "resultados_colorados=np.array([10.36,17.0, 12.8])\n", "\n", "resultado_ballotage_fa=[54.63,53.48]\n", "resultado_ballotage_blancos=[45.37,41.17]\n", "\n", "from sklearn import linear_model\n", "\n", "# Predicciones de las encuestas para 2019\n", "encuestas_2019=np.array([38.0,27.0,11.0, #Cifra -- Final\n", " 41.1,28.7,11.7, #Equipos\n", " 43.6,24.5,15.8, #Radar -- Final\n", " 40.0,28.0,13.0]).reshape(1,-1) #Factum -- Final\n", "\n", "\n", "print (\"---\")\n", "print (\"Predicciones utilizando RegressRidge\")\n", "print (\"---\")\n", "# Utilizo un alpha alto porque las features están correlacionadas\n", "clf=linear_model.Ridge(alpha=50.0)\n", "clf.fit(encuestas_X,resultados_frente)\n", "print(\"Predicción para el Frente:\", clf.predict(encuestas_2019))\n", "clf.fit(encuestas_X,resultados_blancos)\n", "print (\"Predicción para los blancos:\",clf.predict(encuestas_2019))\n", "clf.fit(encuestas_X,resultados_colorados)\n", "print (\"Predicción para los colorados:\",clf.predict(encuestas_2019))\n", "\n", "\n", "# Predicción ballotage\n", "print (\"---\")\n", "print (\"Predicciones ballotage (basados en 2009,2014)\")\n", "print (\"---\")\n", "\n", "clf=linear_model.Ridge(alpha=70.0)\n", "clf.fit(encuestas_X[1:3],resultado_ballotage_fa)\n", "print(\"Predicción para el Frente:\", clf.predict(encuestas_2019))\n", "clf.fit(encuestas_X[1:3],resultado_ballotage_blancos)\n", "print (\"Predicción para los blancos:\",clf.predict(encuestas_2019))\n", "\n" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.6.8" } }, "nbformat": 4, "nbformat_minor": 1 }