Política

Lotería y elecciones: se non è vero...

Incumbent politicians tend to receive more votes when economic conditions are good. In this paper we explore the source of this correlation, exploiting the exceptional evidence provided by the Spanish Christmas Lottery. Because winning tickets are typically sold by one lottery outlet, winners tend to be geographically clustered. This allows us to study the impact of exogenous good economic conditions on voting behavior. We find that incumbents receive significantly more votes in winning provinces. The evidence is consistent with a temporary increase in happiness making voters more lenient toward the incumbent, or with a stronger preference for the status quo.

"Mi argumento no era científico, sino empírico"

En El triunfo de los descerebrados escribe Javier Cercas una frase que le vale no tanto la fama como una mención veraniega en mis páginas. Es la que titula la entrada y que no voy a comentar más.

No habría seguido leyendo de no haber advertido que el asunto es material de blog, en esta época en la que tan corto ando de motivos, y me habría perdido otro parrafito,

La democracia no representativa no es representativa

En estadística, una muestra representativa tiene que contener las características relevantes de la población en las mismas proporciones en que están incluidas en tal población (referencia).

En estos tiempos, se están poniendo de moda alternativas a la muy tradicional democracia representativa que, en contraposición a ella, no aspiran a serlo. Y su principal problema radica, precisamente, en que no lo son.

Lo anterior no es más que una opinión: es la constatación de un hecho. Esta semana pasada, en aras de una versión más directa y asamblearia de la democracia, ha habido en mi barrio un par de eventos en los que en presencia de la alcaldesa de Madrid el uno y del concejal de mi distrito el otro, se han tratado temas que me interesan directamente. Pero, oh, fatalidad, a la hora en que yo (y muchos otros) estamos lejos y ocupados ganándonos el pan.

Un poco más sobre el índice de poder de Banzhaf

R

En el año 2012 escribí esto, que incluye

El índice de Banzhaf para un determinado partido político mide su poder en términos del porcentaje de las posibles alianzas mínimas ganadoras en las que participa dentro de su universo total. Una alizanza es ganadora cuando reúne más de la mitad de los votos. Y es mínima cuando todos sus integrantes son necesarios para que sea ganadora; excluye, por ejemplo, la alianza trivial formada por todos los partidos.

Coaliciones de Banzhaf en el 20D

R

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:

La primera víctima será la sintaxis

No seré yo quien condene el contar palabras en textos para inferir por dónde van los tiros. Lo he hecho y lo hago con frecuencia.

Pero lo cuestiono en algunas ocasiones. La principal, esos análisis sumarísimos de los programas electorales —p.e., en la campaña que acabamos de cerrar— que los comparan en términos del número de veces que se mencionan diversos términos o el número de páginas que dedican a diversos temas.

Droga dura: El retorno de los chamanes

He pasado unos días enganchado a El retorno de los chamanes, un libro de mi paisano Víctor Lapuente.

Es una obra sobre política escrita por un politólogo. Por lo que no habría lugar comentarlo en estas páginas. Pero hay varios motivos por los que sí.

Vaya por delante que es un libro que me resulta difícil por mi formación y, sobre todo, mi deformación. Soy matemático y durante años mi trabajo ha consistido en abstraer, teorizar, extraer la esencia, crear modelos generales para poder aplicar después el método deductivo. Me han programado para buscar cierres teóricos, listas de axiomas de los que se deduzcan razonadamente hasta los más humildes corolarios. He sido educado y socializado durante años para convertirme en chamán.

Campaña de alfabetización numérica... para diputados

¿Sabe de números tu próximo representante?

Al preguntar a los diputados actuales acerca de la probabilidad de obtener dos caras consecutivas al lanzar una moneda, solo el 40% de ellos obtuvieron la respuesta correcta. ¿Lo harán mejor lo siguientes?

[…]

Así, pero en inglés, comienza esta nota de la Royal Statistical Society que sugiere a los votantes (del RU, desgraciadamente) invitar a sus candidatos a formarse en los rudimentos de la estadística y el análisis y comprensión de datos.

¿Cómo votan los diputados?

Tras leer el otro día Visualizando la matriz de acuerdo legislativo, pensé que esta bitácora no podía quedarse atrás. Casi desisto. Pero cerrando ya casi el navegador vi que en la página de las votaciones del Congreso de los Diputados había dos enlaces aprovechables: en uno ponía XML y en el otro, “histórico”.

He aquí pues el código concomitante que fue apareciendo en mi sesión de RStudio:

library(XML)
library(reshape)
library(corrgram)
library(psych)

# descarga y manipulación de datos

dia.votacion <- function( n.votacion ){
    dir.create("tmp")
    url <- paste( "http://www.congreso.es/votaciones/OpenData?sesion=",
            n.votacion, "&completa=1&legislatura=10", sep = "" )
    download.file(url, destfile = "./tmp/votos.zip")
    try(unzip("./tmp/votos.zip", exdir = "./tmp"), TRUE)

    ficheros <- dir("./tmp", pattern = ".*xml", full.names = T )

    if ( length(ficheros ) == 0)
        return(NULL)

    res <- sapply(ficheros, function(fichero){
        datos <- xmlTreeParse(fichero)
        datos <- xmlToList(datos)$Votaciones

        if( is.null(datos) )
            return(NULL)

        datos <- as.data.frame(t(datos))
        datos <- as.data.frame(lapply( datos, unlist))
        },
        simplify = F
    )

    unlink( "./tmp", recursive = T)      # borra el directorio temporal

    res
}

res <- list()
for ( i in  1:54 ) res <- c( res, dia.votacion(i) )
# la 32, 33 está trucha
for ( i in 34:54 ) res <- c( res, dia.votacion(i) )

Con él se pueden bajar unas docenas de ficheros XML correspondientes a ciertos plenos de la X Legislatura, procesarlos mínimamente y guardarlos en la lista res. No estoy seguro de la profundidad histórica de los datos (aparentemente, sólo están disponibles los del 2012, aunque la X Legislatura arrancó, creo, antes). Además, falla la descarga de los ficheros correspondientes a las sesiones 32 y 33. Ese es el motivo por el que he tenido que recurrir a for, como los gañanes, en lugar de utiliza sapply, como era mi natural inclinación.