Diapositivas sobre mi charla acerca del "stack analítico"

Tuve ocasión el pasado jueves, en Barcelona y gracias a la invitación de KSchool, de lo que llamo el stack analítico. Es decir, de aquellas herramientas tecnológicas necesarias para poder hacer ciencia de datos hoy en día.

Las diapositivas de la charla están aquí.

El tema es viejo pero no por ello menos urgente: existen herramientas (y, desgraciadamente, me he visto a incluir el saber leer documentación técnica en inglés) cuyo conocimiento es imperativo para poder trabajar de manera efectiva en ciencia de datos. Incluidos están sistemas operativos (dencentes), editores de texto (decentes) e IDEs y, como poco, un lenguaje de programación.

Me too, me too!

Las alturas corresponden a una cierta potencia de la población residente en la correspondiente rejilla. Los datos son del SEDAC (Socioeconomic Data and Applications Center, Universidad de Columbia) y se pueden bajar gratis si te registras y rellenas un cuestionario tontaina.

El código,

    library(ggplot2)
    options(expressions = 10000)

    dat <- read.table("dat/espp00ag.asc", skip = 6)
    dat <- as.matrix(dat)
    dat <- data.frame(y = as.numeric(row(dat)),
                      x = as.numeric(col(dat)),
                      pop = as.numeric(dat))

    peninsula <- dat[dat$x > 200,]
    peninsula <- peninsula[peninsula$y < 250,]

    res <- ggplot()

    for (i in 1:max(peninsula$y)){
      tmp <- peninsula[peninsula$y == i,]
      tmp$pop <- tmp$pop^0.3
      res <- res + geom_polygon(data = tmp, aes(x = x, y = pop - y), fill = "white", col = "black", size = 0.1)
      res <- res + geom_path(data = tmp, aes(x = x, y = pop - y), size = 0.2)
      res <- res + geom_hline(data = tmp, aes(yintercept = -y), col = "white")
    }

    res + theme(axis.line=element_blank(),
                axis.text.x=element_blank(),
                axis.text.y=element_blank(),
                axis.ticks=element_blank(),
                axis.title.x=element_blank(),
                axis.title.y=element_blank(),
                legend.position="none",
                panel.background=element_blank(),
                panel.border=element_blank(),
                panel.grid.major=element_blank(),
                panel.grid.minor=element_blank(),
                plot.background=element_blank())

Nota: se me olvidó escribir en el cuerpo lo que anunciaba el título, i.e., que esta entrada está inspirada (fusilada, de hecho) en lo esencial de otras previas.

Cosas de Twitter (y encuestas)

Hoy (día en que escribo, no en que lees) se han publicado los resultados de intención electoral del CIS (los de los barómetros), de cuya cocina ha salido

Esos números han producido una avalancha de comentarios en Twitter sobre la ecuanimidad del CIS. Sobre todo en el sentido de que hincha los resultados de los partidos de la derecha. Nada nuevo bajo el sol.

Los datos son de la primera semana de abril, del 1 al 8. Lo sorprendente es que con datos de los cinco primeros días del mismo mes, Celeste-Tel, publicó para eldiario.es, un medio de izquierda,

¿Es Vd. de izquierdas o de derechas?

En una escala (de enteros) del 1 al 10, ¿cuál es el punto medio? ¿Cuál indicaría indiferencia entre ambas opciones? No, no es 5; es 5.5.

Cuando el CIS, en sus barómetros, como el de abril, pregunta

obtiene las respuestas

en las que se aprecian fenómenos sesgantes como, por ejemplo:

  • Toda esa gente que se define ni fú ni fá (véase el pico en el 5), va a elegir 5 pero ¿por qué no 6? El 5 está tan alejado del valor medio, 5.5, como 6.
  • Si damos por bueno que la gente que no sabe calcular medias va a cosiderar 5 el valor neutro, quedan 4 casillas de izquierdas (1:4) y 5 de derechas (6:10).
  • Como consecuencia de lo anterior, solo te dejan ser muy, muy, muy, muy de izquierdas pero no muy, muy, muy, muy, muy de izquierdas; pero sí muy, muy, muy, muy, muy de derechas.

Es folk knowledge que España es un país sociológicamente de izquierdas. Y ese conocimiento está fundamentado en esa pregunta (y, obviamente, sus respuestas).

¿Cómo fue R antes de R?

R

La década le ha dejado nuevas sintaxis a R. Algunos, precarcas, fruncimos el entrecejo. Esta entrada nos administrará un poco de medicina histórica.

R es una reimplementación (libre, para más señas) de S. La sintaxis actual de S (que es la del R de toda la vida) es del año 88. Antes, durante los 80, era otra. Pero es difícil dar con ella en internet.

Pero no imposible. El libro S: An Interactive Environment for Data Analysis and Graphics, de Chambers y Becker, ha sido escaneado por Google y, aunque no completo, nos permite echar un vistazo a algunas páginas, las suficientes para no hacer carraspear desaprobatoriamente al copyright.

Contratos por diffs

Hace unos días recibí de mi banco una actualización del contrato general de prestación de servicios. El nuevo contrato es un PDF de 76 páginas, más largo y mucho más farragoso —diríase que redactado por abogados aficionados a Benet— que, por ejemplo, la vigente constitución española.

Nadie va a leer eso. Y menos, entenderlo. Pero seguro que contiene puntos referidos a nuestra información personal y el uso que pueden hacer de ella, nos ata a draconieces, etc. Y todo escondido en kilobytes de hojarasca jurídica.

Curso de introducción a R en Gijón

Tenía que haberlo publicado antes, pero… ahí va:

Esta semana se va a impartir un curso de introducción a R en el que participo. Está organizado por la UNED y se puede asistir presencialmente (si estás en Gijón esos días) o en remoto desde cualquier parte.

La info, aquí.

¿Dónde dejar de leer? Un caso práctico

Hay mucho por leer. El tiempo es finito y valioso. Es imperativo contar con criterios para dejar de leer. Identificar señales tempranas que indiquen que no merece la pena seguir. Generalmente, porque te están tratando de vender una moto.

En una de las primeras diapositivas de la VIII Encuesta de Percepción de la Ciencia realizado por la Fundación Española para la Ciencia y la Tecnología (Fecyt) se muestran las respuestas a la siguiente pregunta:

WolframAlfa al rescate de exmatemáticos

Tengo el sistema

$$ m = \frac{a}{a+b}$$ $$ v = \frac{ab}{(a+b)^2 (a+b+1)}$$

en los que alguien descubrirá cosas relativas a la distribución beta.

Interesa despejar $a$ y $b$. Pero solo soy un exmatemático perezoso, disléxico y con déficit de tiempo y atención. Así que tacacata y…

$$ a = \frac{-m^3 + m^2 - mv}{v}$$ $$ b = \frac{m^3 - 2m^2 + mv + m -v}{v}$$