Posts

He tratado de contrastar una hipótesis sin éxito, así que solo publico el subproducto

R

Inspirado por esto he tratado de contrastar una hipótesis en otro contexto.

Las cosas, o se hacen bien, o no se hacen. Como mi análisis se ha complicado con casos y casitos particulares, aunque siga pensándo cierta (en caso de tener que apostar, como priori, claro) la hipótesis de partida, abandono su búsqueda.

Como subproducto, esto:

library(xml2)
library(stringr)
library(plyr)
library(lubridate)

periodos <- expand.grid(anno = 2010:2017, mes = 1:12)
periodos$ind <- periodos$anno * 100 + periodos$mes
periodos <- periodos[periodos$ind < 201711,]
periodos <- paste(periodos$anno,
  str_pad(periodos$mes, 2, pad = "0"), sep = "_")

raw <- lapply(periodos, function(x){
  url <- paste0("http://www.eldiario.es/sitemap_contents_", x, ".xml")
  print(url)
  as_list(read_xml(url))
})

#df <- lapply(raw, function(y)
  ldply(y, function(x) as.data.frame(t(unlist(x)))))

res <- lapply(raw, unlist)
res <- lapply(res, function(x) t(matrix(x, 3, length(x) / 3)))
res <- data.frame(url = res[,1],
  time = res[,2], stringsAsFactors = FALSE)

res$time <- gsub("\\+.*", "", res$time)
res$time <- strptime(res$time,
  "%Y-%m-%dT%H:%M:%S")

res$titular <- gsub("_0_[0-9]*.html", "", res$url)
res$titular <- gsub(".*/", "", res$titular)
res$titular <- tolower(res$titular)

res$year <- year(res$time)
res$month <- month(res$time)

Igual le sirve a alguien para analizar palabras clave en titulares de ese u otro medio, su evolución por mes, etc.

#ardeAsturias, #ardeAvilés? Ah, ¡mierda!

#ardeAsturias

#ardeAvilés?

Ah, ¡mierda!

Notas:

  • Las imágenes están sacadas de aquí. La página es muy entretenida, pero no es exactamente lo que promete, como evidencia esta entrada.
  • Si no has estado nunca en Avilés, igual no entiendes de qué va la cosa. La manera recomendable de solucionar el problema es problema es yendo: vale la pena.

Para esto que me da de comer no vale XGBoost

Los físicos crean modelos teóricos. Los economistas crean modelos teóricos. Los sicólogos crean modelos teóricos. Todo el mundo crea modelos teóricos: epidemiólogos, sismólogos, etc.

Estos modelos teóricos se reducen, una vez limpios de la literatura que los envuelve, a ecuaciones que admiten parámetros (sí, esas letras griegas). Frecuentemente, esos parámetros tienen un significado concreto: son parámetros físicos (con sus unidades, etc.), son interpretables como el grado de influencia de factores sobre los fenómenos de interés, etc. Frecuentemente, casi toda la ciencia de la cosa reside en ellos.

Modelos no lineales directos e inversos

Las malandanzas de Circiter la han conducido al siguiente entuerto: estimar $latex \alpha$ donde

$$ y = f_\alpha(x) + \epsilon$$

y $latex f_\alpha$ es una función no lineal horrible. Sin embargo, $latex f^{-1}_\alpha$ es mucho más manejable y podría plantearse el modelo

$$ x = f^{-1}_\alpha(y) + \epsilon$$

(donde este nuevo $latex \epsilon$ no coincide con el anterior: piénsese en el método delta y léase la nota final).

Un ejemplo. Que arranca con unos datos autoexplicativos:

rOpenSpain: ahí tiro el guante

La gente de rOpenSci hace cosas a las que merece la pena atento. Tanto por los objetivos como por medios y las formas. Recomiendo seguir sus últimas publicaciones acerca de la profesionalización del proceso de desarrollo de código.

Llevo unos meses jugando con una idea inspirada por rOpenSci: crear un respositorio y un consorcio más o menos formal que desarrolle, mantenga y mejore herramientas (en R) de interés para el procesamiento y análisis de datos ya no científicos sino españoles. Hablo, obviamente, de INE (EPA, EPF, censo, padrón,…), CIS (barómetros, etc.), IGN (Siane,…), encuestas electorales, etc.

Efectos secundarios (nota: que existan no significa que debas usarlos)

Una función no debería cambiar nada de cuanto la rodea. Debería devolver algo y ya. Se acepta barco como animal acuático cuando hay funciones que escriben en logs, guardan datos en disco o crean gráficos.

R deja que los usuarios se disparen en el pie permitiendo hacer cosas tan peligrosas como:

a <- new.env()

a$1     # error

foo <- function(){
  a$a <- 1
}

foo()
a$a
# [1] 1

De la misma manera, si le enseñas un cuchillo a una vieja, es posible que te dé su bolso con todo lo que contiene. Pero eso no significa que debas usar los cuchillos para tales fines.

La estadística (y la ingenería, y la medicina, y...) es una tecnología

Abundo aquí en un punto polémico de mi charla de Pamplona: el que define la estadística como una tecnología (bajo una definición bastante particular de ella).

Pero es conveniente comenzar por el concepto de técnica. Que el DRAE define horripilantemente:

Conjunto de procedimientos y recursos de que se sirve una ciencia o un arte.

Y no, no, no… No solo las ciencias o las artes se sirven de técnicas para alcanzar sus fines. También los homeópatas, los curanderos, los chamanes, los echadores de cartas, etc. se sirven de técnicas sin que su actividad pueda calificarse de ciencia (¿o es que se trata de artes?).

Una comparación de lenguajes de programación en una esquinita pequeña de la economía

El título, no el de esta entrada sino el de A Comparison of Programming Languages in Economics, es una sinécdoque confusa.

Que nadie busque en él consejo sobre qué lenguaje estudiar si le interesa el mundo de la economía (en general). O fuera de ella (también en general).

Encontrará más bien la implementación de la solución a un único problema dentro de los muchos que supongo comprende esa disciplina. Uno, además, con el que no he visto (en persona) a economista alguno ganarse el pan ni en la academia ni fuera de ella.

Las cosas son azules, las personas son rosas (dicen algunos sicólogos)

El otro día hablé con un amigo. Estaba un tanto preocupado por lo que cuento a continuación. Trabaja en un lugar que organiza conferencias, seminarios, etc. y frecuentemente suben los vídeos a Youtube. Al examinar el perfil demográfico de los _yutuvidentes _advertía con desazón que entre los de los vídeos de unas charlas de tecnología muy friquis apenas había un 10% de mujeres.

El autor de un blog que sigo también está preocupado. El hombre lidera (no sé cómo de formalmente) una comunidad de _racionalistas _(aunque yo los catalogaría más bien como empiristas). Escribe sobre temas… imaginaos cuáles serán si me interesan a mí. Y el motivo de su preocupación no es tanto, sospecho, la escasa presencia de mujeres en la antedicha comunidad sino la posibilidad de que lo puedan acusar de lo habitual. Es decir, tener una actitud discriminadora, hostil o menospreciante.

Circiter

Este es, finalmente, el anuncio de que Circiter existe. Circiter (una SL con todas las de la ley) es la empresa a través de la que voy (vamos: nótese que hablo en plural) a trabajar en el futuro.

Qué hacemos (qué nos gusta)

Esencialmente, cuatro cosas:

  • Formación, si toca. No es lo más emocionante, pero mientras siga inflándose la burbuja, ahí estaremos. Tenemos varios cursos preparados (dos niveles de R, Spark, etc.) y bajo pedido, de lo que sabemos, lo que haga falta.
  • Sistemas, programación, etc. Generalmente, relacionado con ciencia de datos. E incluyendo cosas como migraciones de sistemas viejunos a R o Python, aggiornamento de código, produccionalización, etc.
  • Ingeniería estadística.
  • Análisis de datos, cómo no. Aunque es la actividad que encuentro que peor se acomoda dentro de la consultoría, además de que comercialmente lo tenemos muy crudo de competir con los vendedores de humo que todos conocemos.

En resumen, aquello de lo que hablo por aquí.