R

Encuestas electorales: medios y sesgos (II)

Aquí quedó pendiente hablar de datos y métodos. Los primeros proceden de El Mundo. Solicité a Marta Ley, una coautora, los datos pero, antes de que contestase que sí (¡gracias!), me di cuenta de que podía obtenerlos solito: basta con capturar la llamada que el javascript local hace al servidor.

¿Métodos? Mejorables: se suaviza la intención de voto (con loess) y se estima la diferencia con un modelo de efectos mixtos, i.e.,

modelo<- lmer(delta ~ 1 + (1 | medio),
    data = misdatos)

¿Caveats? Veo dos: el primero, que loess suaviza teniendo en cuenta también observaciones futuras. Los autores de las encuestas no ven la verdad: solo los resultados de las encuestas previas. Debería haber usado como referencia la mejor predicción basada en observaciones pasadas. El segundo, que los porcentajes de los distintos partidos suman un total. Los sesgos no son independientes y yo los modelo como tales.

Un corpus de textos en español para NLP

Mañana doy clase de NLP en el máster de ciencia de datos de KSchool. Para lo que necesito un corpus decente. Los hay en inglés a tutiplén, pero las hordas de lingüistas hispanoparlantes que se pagan los vicios a costa de tajadas de mi IRPF han sido incapaces de colgar ninguno en español que pueda ubicar y reutilizar.

Necesito una colección de textos en español con ciertas características:

  • Tener un cierto tamaño (¿unas cuantas centenas de ellos?)
  • Que no sean demasiado grandes (¿unos cuantos párrafos?)
  • Ser medianamente homogéneos.
  • Estar bien escritos, sin faltas de ortografía, etc.

Así que he decidido poner en valor otra de esas onerosas reliquias de la cultura analógica y de letras que es el Museo Thyssen; en particular, las descripciones que constan en las fichas de los cuadros. De hecho, corriendo esto:

Encuestas electorales: medios y sesgos (I)

Existen las encuestas electorales. Las publican medios. Algunos, se dice, tienen sesgos. Lo he estudiado y a continuación muestro resultados.

Para el PP:

sesgo_encuestas_pp

Para el PSOE:

sesgo_encuestas_psoe

Para Podemos y cía:

sesgo_encuestas_podemos

Para Ciudadanos:

sesgo_encuestas_ciudadanos

Para IU:

sesgo_encuestas_iu

En otra entrada, datos y métodos. Hoy solo adelanto que el eje horizontal mide puntos porcentuales y que las encuestas se remontan a enero de 2015.

Cómo ir de Regumiel de la Sierra a Montejo de la Vega de la Serrezuela

R

Pues así:

  • Continúe por CALLE SAN JUAN DE RABANERA
  • Gire justo a la izquierda por CALLE DIPUTACION
  • Gire justo a la derecha por CALLE CABALLEROS
  • Gire ligeramente a la izquierda por PLAZA RAMON Y CAJAL
  • Gire a la izquierda por PLAZA MARIANO GRANADOS
  • Gire a la izquierda por PASEO ESPOLON (EL)
  • Gire ligeramente a la izquierda por AVENIDA VALLADOLID
  • Gire ligeramente a la izquierda por N-122
  • Continúe por A-11
  • Continúe por N-122
  • Gire ligeramente a la izquierda por CARRETERA SIN NOMBRE
  • Continúe por N-122
  • Gire a la izquierda por BU-924
  • Continúe por N-122
  • Continúe por BU-930
  • Gire a la derecha por BU-940
  • Continúe por CALLE FELIPE GARCIA
  • Continúe por BU-940
  • Gire ligeramente a la derecha por BU-932
  • Gire a la izquierda por CALLE PAJARES
  • Continúe por BU-V-9321
  • Continúe por SG-V-9321
  • Continúe por road
  • Continúe por SG-V-9321
  • Gire a la derecha por CALLE BAÑUELOS

O al menos, eso dice la novísima función caRtociudad::get_cartociudad_route. Que, además (y además de otras cosas) te dice que, en coche, tardarías 6969024… ¿milisegundos?

El impacto causal del óbito del Sr. Botín en la cotización bursátil del benemérito Banco de Santander

R

El Sr. Botín, presidente que fue del Banco de Santander, falleció el 2014-09-10. Cabe preguntarse por el impacto causal à la Google de no continuidad de su gestión a cargo de dicha institución.

Comienzo pues.

Primero los datos:

library(tseries)
library(CausalImpact)

santander <- get.hist.quote(instrument="san.mc",
    start= Sys.Date() - 365*3,
    end= Sys.Date(), quote="AdjClose",
    provider="yahoo", origin="1970-01-01",
    compression="d", retclass="zoo")

bbva <- get.hist.quote(instrument="bbva.mc",
    start= Sys.Date() - 365*3,
    end= Sys.Date(), quote="AdjClose",
    provider="yahoo", origin="1970-01-01",
    compression="d", retclass="zoo")

ibex <- get.hist.quote(instrument="^IBEX",
    start= Sys.Date() - 365*3,
    end= Sys.Date(), quote="AdjClose",
    provider="yahoo", origin="1970-01-01",
    compression="d", retclass="zoo")

obito.botin <- as.Date("2014-09-10")

cotizaciones <- cbind(santander, bbva, ibex)
cotizaciones <- cotizaciones[!is.na(cotizaciones$AdjClose.ibex)]

Con lo anterior, he bajado las cotizaciones diarias de las acciones del Banco de Santander, las del BBVA y la del IBEX 35 durante los últimos tres años. Eso deja la fecha de la muerte del Sr. Botín, aproximadamente, en la mitad.

Ahora caRtociudad encuentra información administrativa relativa a un punto

R

Y lo hace así:

library(caRtociudad)
get_cartociudad_location_info(40.473219,-3.7227241, year = 2015)
# $seccion
# [1] "2807908148"
#
# $distrito
# [1] "2807908"
#
# $provincia
# [1] "Madrid"
#
# $municipio
# [1] "Madrid"

Esto da respuesta a una pregunta de Rubén.

La función es en su mayor parte (salvo algunos retoques más estéticos que otra cosa míos) de Luz Frías, que hizo omiso caso de la inexistente docuentación del INE sobre su servicio de mapas y capturó directamente la petición que el portal de Cartociudad hace al servicio.

¿Quieres aprender R? ¡Matricúlate en mi curso en KSchool!

Si quieres aprender R, bien puedes matricularte en el curso que voy a impartir en KSchool. Es un programa de iniciación a R centrado en aquellos aspectos de R que más usan en la práctica diaria quienes trabajan con datos (y no son estadísticos duros). ¡Y ya vamos por la tercera edición!

Tendrá lugar durante el mes de junio (y un poco de julio). Son diez sesiones de tres horas. Los detalles están aquí.