Coaliciones de Banzhaf en el 20D

Usando código de una entrada anterior voy a medir el poder de cada partido político de acuerdo con Banzhaf tras las elecciones de diciembre de 2015.

escannos <- c(123, 90, 69, 40, 9, 8, 6, 2, 2, 1)
names(escannos) <- c( "pp", "psoe", "pod", "c's", "erc", "dl", "pnv", "iu", "bildu", "cc")
banzhaf(escannos)

da 14 coaliciones mínimas,

pp psoe
pp pod
pp c's erc dl
pp c's erc pnv
pp c's erc iu bildu
pp c's dl pnv
pp c's dl iu bildu cc
psoe pod c's
psoe pod erc dl
psoe pod erc pnv iu
psoe pod erc pnv bildu
psoe pod dl pnv iu bildu
psoe pod dl pnv iu cc
psoe pod dl pnv bildu cc

y un reparto de poder que queda de esta manera:

psoe pod pp pnv dl erc c's iu bildu cc
57.1 57.1 50.0 50.0 50.0 42.8 42.8 35.7 35.7 21.4

Gráficamente,

banzhaf_2015

Y una nota: coaliciones mínimas no significa coaliciones probables; de hecho, obviamente, las hay imposibles.

8 comentarios sobre “Coaliciones de Banzhaf en el 20D

  1. Juanjo 22 diciembre, 2015 14:04

    Hola, Carlos:

    Suena muy, pero que muy raro, que partidos con menos escaños tengan un mayor poder. De hecho, he utilizado varias calculadoras on-line para calcular el «voting power» y los resultados no se parecen a los que obtienes aquí.

    Por ejemplo, puedes echar un vistazo a esta: http://homepages.warwick.ac.uk/~ecaae/ipdirect.html

    Saludos.

    Juanjo

  2. Juanjo 22 diciembre, 2015 14:20

    Hola otra vez:

    ¿Puede ser que el problema sea que lo que hace la función es calcular las «coaliciones mínimas» cuando Banzhaf habla de «coaliciones suficientes»?

    Saludos.

    Juanjo

  3. Juanjo 22 diciembre, 2015 14:43

    Hola, otra vez:

    Además, por lo que deduzco del resultado, lo que haces es calcular para cada partido político cuál es la proporción de coaliciones mínimas en las que se encuentra presente.

    El índice de Banzhaf es la proporción de «swing votes» que corresponden a cada partido sobre el total de «swing votes». Es decir: 1) Hay que listar todas las posibles coaliciones suficientes. 2) Para cada coalición suficiente hay que ver qué partidos son necesarios para la coalición y cuáles no. Cada uno de estos partidos necesarios en una coalición suficiente tiene un «swing vote». 3) Hay que calcular la proporción de «swing votes» que corresponden a cada partido.

    Saludos.

    Juanjo

  4. Alanítico 22 diciembre, 2015 19:06

    Creo que está todo correcto, no se trata de poder en sí, sino de las combinaciones mínimas que permiten alcanzar un pacto con mayoría absoluta, PSOE y Podemos están en 8 de 14 posibles acuerdos mínimos ergo el 57,14% de los pactos les incluyen a ellos, esto no significa que a la hora de pactar se tenga que detener la cosa en la mayoría absoluta, Banzhaf no computa eso, es decir que un pacto entre tres o cuatro grandes fuerzas o la unanimidad del congreso no está contemplado por definición. Fíjate que los llamados «pactos contra natura» (ideológicamente hablando) están incluidos porque Banzhaf no tiene prejuicios a la hora de determinar el tipo de acuerdo mínimo. Quizá estés pensando en una mayoría de investidura con abstención de algún partido, bien eso tampoco está contemplado, si quieres rizar el rizo en ese aspecto intenta calcularlo (Juanjo’s Adjusted Benzhaf Index no suena muy comercial pero cuenta con mi apoyo para difundirlo).
    De todas formas creo que la lectura no iba por ahí, lo interesante es leer los datos bidireccionalmente: la mayoría mínima tanto para sacar adelante una iniciativa como para bloquearla, los colores, los compañeros de alcoba, todo eso es secundario.

  5. Carlos J. Gil Bellosta 22 diciembre, 2015 19:16

    Juanjo, convengo en que este índice, en este caso, es bastante inútil. Es contraintiutivo en algunos casos (p.e., partidos con menos escaños pero con más poder). Se puede arguentar que es un artefacto del método.

    En cualquier caso, creo que coaliciones mínimas y coaliciones suficientes son el mismo concepto: coaliciones de grupos que suman la mitad más uno pero donde, si se cae un miembro, no se llega al umbral. De hecho, tienes todas las coaliciones mínimas/suficientes listadas en la entrada. Puedes revisar el código en la entrada en la que aparece el enlace. Espero que no contenga errores.

    Advierte también que cualquier referencia a poder, etc. en la entrada aparece en cursiva. ¡No es por azar!

    ¡Gracias por tus comentarios y suerte en la maratón de Burdeos!

  6. Carlos J. Gil Bellosta 22 diciembre, 2015 19:19

    Y que conste: no tenía pensado escribir esta entrada… ¡pero me la pidieron!

  7. Alanítico 22 diciembre, 2015 20:43

    Tomado de http://www.r-bloggers.com/comparing-banzhaf-and-shapley-shubik-power-indices/
    Creo que se aproxima más al resultado de http://homepages.warwick.ac.uk/~ecaae/ipdirect.html pero sigue sin ser igual, de todas formas aunque Banzhaf estuviese mal calculado la lectura de mayorías mínimas es muy interesante especialmente como he comentado con el propósito tanto de conseguir sacar una iniciativa como un bloqueo.

    esca <- c(123, 90, 69, 40, 9, 8, 6, 2, 2, 1)

    library(gtools)
    perms <- permutations(10, 10)

    subsets <- length(const) – 1
    subs <- matrix(FALSE, 2 ^ subsets, subsets)
    for (i in 1:subsets) {
    subs[,i] <- rep(c(rep(FALSE, 2 ^ (i – 1)),
    rep(TRUE, 2 ^ (i – 1))),
    2 ^ (subsets – i))
    }
    banzhaf <- function(i) {
    other <- const[-i]
    part.sum <- apply(subs, 1, function(x) { sum(other[x]) } )
    sum((part.sum 175))
    }
    bpi <- prop.table(sapply(1:10, banzhaf))

    names(bpi) <- c( "pp", "psoe", "pod", "c's", "erc", "dl", "pnv", "iu", "bildu", "cc")
    barplot(rbind(bpi, const / sum(const))[,order(const)],
    beside = TRUE,
    legend.text = c("Banzhaf", "Votes"),
    args.legend = list(x = "top"))

    bpi

Los comentarios están desabilitados.