¿Qué regresión usar para calcular el resultado de la elección en un sistema multipartidista?

11

Quiero hacer una predicción del resultado de las elecciones parlamentarias. Mi salida será el% que recibe cada parte. Hay más de 2 partes, por lo que la regresión logística no es una opción viable. Podría hacer una regresión separada para cada parte, pero en ese caso los resultados serían de alguna manera independientes entre sí. No garantizaría que la suma de los resultados fuera del 100%.

¿Qué regresión (u otro método) debo usar? ¿Es posible usar este método en R o Python a través de una biblioteca específica?

Viktor
fuente
Si se le permite cambiar su salida a binario (dependiendo de qué parte ganó), la regresión logística multinomial es una buena opción. Todavía considera una salida independiente que puede no ser lo que desea.
Robert Smith

Respuestas:

5

Robert tiene razón, la regresión logística multinomial es la mejor herramienta para usar. Aunque necesitaría tener un valor entero que represente a la parte como la variable dependiente, por ejemplo:

1 = mayoría conservadora, 2 = mayoría laboral, 3 = mayoría liberal ... (y así sucesivamente)

Puede realizar esto en R usando el paquete nnet. Aquí hay un buen lugar para ver rápidamente cómo usarlo.

Glen Moutrie
fuente
3

¿En qué quieres basar tu predicción? Traté de predecir los resultados de las elecciones multipartidistas para mi tesis en base a años anteriores y luego, utilizando los resultados de algunos colegios electorales de este año, pronostico los resultados en todos los demás colegios electorales. Para esto, el modelo lineal con el que comparé estimó el número de votos que obtendría cada partido al retroceder sobre los votos de años anteriores. Si tiene el número estimado de votos para todas las partes, puede calcular el porcentaje a partir de eso. Vea Pronósticos de muestras no aleatorias para el artículo relevante, que extiende el modelo lineal.

Bas
fuente
2

Esto no es una regresión, sino un problema de clasificación de varias clases. La salida es típicamente las probabilidades de todas las clases para cualquier instancia de prueba dada (fila de prueba). Entonces, en su caso, la salida para cualquier fila de prueba dada del modelo entrenado tendrá la forma:

prob_1, prob_2, prob_3,..., prob_k

donde prob_i denota la probabilidad de la i-ésima clase (en su caso i-ésima parte), suponiendo que hay k clases en la variable de respuesta. Tenga en cuenta que la suma de estas k probabilidades será 1. La predicción de clase en este caso será la clase que tenga la probabilidad máxima.

Hay muchos clasificadores en R que hacen una clasificación de varias clases. Puede usar la regresión logística con soporte de múltiples clases a través del paquete nnet en R e invocar el multinomcomando.

Como alternativa, también puede usar el paquete gbm en R e invocar el gbmcomando. Para crear un clasificador de clases múltiples, simplemente use la distribution="multinomial" while using thefunción gbm`.

Nitesh
fuente