offset, porque el coeficiente es 1 necesariamente

Estos días me han preguntado sobre un modelo lineal tal que $y \sim x_1 + \dots$ donde el coeficiente de $x_1$ no se entiende si no es igual a 1. Es como si los datos se creasen de la forma n <- 100 x1 <- rnorm(n) x2 <- rnorm(n) y <- x1 + rnorm(n, .1) + .02 * x2 y se conociese el coeficiente de $x_1$ y no el de $x_2$. Entonces no tiene sentido plantear el modelo lm(y ~ x1 + x2) sino más bien modelo <- lm(y ~ offset(x1) + x2) que hace lo que uno espera. Lo cual se puede comprobar, por ejemplo, comparando ...

4 de marzo de 2019 · Carlos J. Gil Bellosta

Entre lo fofo y lo hierático,modelos loglineales

El contexto, por fijar ideas, el problema de taguear fechas en textos. La estrategia gomosa, fofa (ñof, ñof, ñof), y en la que parecen parecer creer algunos, embeddings más TensorFlow. La estrategia hierática, inflexible y reminiscente de robots de pelis de serie B, expresiones regulares encadenadas con ORs. En la mitad donde mora la virtud, extracción de features (principalmente con expresiones regulares) y luego, esto. Nota: esta entrada es un recordatorio para mí mismo y por si retorna cierto asunto que dejé postergado hace un par de días.

28 de febrero de 2019 · Carlos J. Gil Bellosta

Sobre el agregador de noticias sobre R en español

Aprovecho que acabo de actualizar mi agregador de noticias sobre R en español para escribir este recordatorio. La cosa es que hace ya un tiempo (¡lo anuncié en 2010!) creé una programita que rastrea una serie de blogs que publican cosas sobre R, extrae los corresondientes RSS, selecciona las entradas que tratan sobre R y: Crea un RSS combinado que guarda aquí (para los que aún uséis RSS, claro). Publica esas entradas en una cuenta específica de Twitter, @noticiasSobreR. ¿Para qué, pues, este recordatorio? Para dos cosas: ...

27 de febrero de 2019 · Carlos J. Gil Bellosta

Homo politicus < IQ < homo economicus

Lo del homo economicus ya no está de moda. Ahora pega más fuerte lo del homo politicus (y otros homos caracterizados por actuar como quien no completó el bachillerato con aprovechamiento). No obstante, parece no todos los homos son iguales: unos se parecen más al economicus; otros, al politicus. Y ahora parece que el coeficiente intelectual tendría algo que ver con eso. Nota: encuentro ridículas las críticas a la economía (particularmente, a :qla microeconomía) basadas en su acreditada incapacidad para predecir el comportamiento humano por su tendencia a alejarse del esperado en un homo economicus. No, no va de eso. No va de predecir el comportamiento humano. Para eso ya tenemos otras disciplinas ad hoc. Va de cómo un agente racional descubre en otro que lo es menos un imbécil al que separarlo de su dinero.

26 de febrero de 2019 · Carlos J. Gil Bellosta

Modelos log-lineales y GLMs con regularización

Hace años tomé el curso de NLP de M. Collings en Coursera (¡muy recomendable!), uno de cuyos capítulos trataba de los llamados modelos loglineales. En esto, Collings sigue una nomenclatura un tanto personal porque la mayor parte de la gente se refiere con ese nombre a algo que no es exactamente lo mismo (y dentro del mundo de las tablas de contingencia). El otro día, sin embargo, me pensé que los modelos loglineales à la Collings me serían muy útiles para un problema de clasificación en el que estamos trabajando. Y repasándolos… me di cuenta de que eran versiones de algo ya conocido: GLMs multinomiales con regularización. Sí, como estos.

25 de febrero de 2019 · Carlos J. Gil Bellosta

Los resultados preliminares del experimento finlandés de la renta básica apestan a...

Por si alguien acaba de despertar después de un coma de tres o más años de duración, lo del experimento finlandés de la renta básica y un somero análisis (junto con una serie de conclusiones extravagantes) está descrito aquí. En resumen, el experimento terminó y se ha redactado un informe preliminar de los resultados (que avisa por todos los lados de que no sirven para nada y que hay que esperar a los definitivos) basados en entrevistas telefónicas (con una tasa de respuesta muy baja) a los beneficiarios del plan (y a unos cuantos que no lo son y que conforman un grupo de control). ...

22 de febrero de 2019 · Carlos J. Gil Bellosta

Todo lo que deberías saber sobre encodings

¿Por qué (casi) nadie sabe sobre encodings? ¿Por qué (casi) nadie ha leído What Every Programmer Absolutely, Positively Needs To Know About Encodings And Character Sets To Work With Text?

20 de febrero de 2019 · Carlos J. Gil Bellosta

Charlatanes y regulación

Así resumen sus autores Regulation of Charlatans in High-Skill Professions: Estudiamos un mercado para una habilidad que cuenta con poca oferta y una alta demanda, donde la presencia de charlatanes (profesionales que venden un servicio que no cumplen) es un resultado de equilibrio. Utilizamos este modelo para evaluar los estándares y los requisitos de divulgación que existen en estos mercados. Demostramos que reducir el número de charlatanes mediante la regulación disminuye el excedente del consumidor. Aunque tanto los estándares como la divulgación expulsan a los charlatanes del mercado, los consumidores se ven perjudicados debido a la consiguiente reducción de la competencia entre los productores. ...

19 de febrero de 2019 · Carlos J. Gil Bellosta

vecpart: modelización de moderadores con árboles

En un GLM (aún más generalizado que la G de las siglas) puede haber coeficientes moderados. Usando una terminología muy ad hoc, en el modelo pueden entrar predictores y moderadores. Lo cual quiere decir que la parte lineal puede ser de la forma $$\sum_i X_i \beta_i(Z_i),$$ donde las $X_i$ son los predictores propiamente dichos y las variables $Z_i$ son moderadoras, es decir, que modifican el efecto de los predictores a través de una función arbitraria $\beta_i$. ...

18 de febrero de 2019 · Carlos J. Gil Bellosta

Modas y fotogenia del código secuencial

Este tipo de programación se puso de moda en los noventa: Y yo decía: ¿dónde están mis bucles? ¿Y mis bifurcaciones? Este tipo de programación está de moda últimamente: hourly_delay <- flights %>% filter(!is.na(dep_delay)) %>% group_by(date, hour) %>% summarise( delay = mean(dep_delay), n = n() ) %>% filter(n > 10) Y todo bien, sí, pero sigo sin tener bucles o bifurcaciones. Tal vez no hagan falta. Al menos, para cosas de andar por casa. Pero, lo confieso, el código de verdad que escribo está lleno de casos especiales, comprobaciones de todo tipo de contingencias, reglas que aplican a unas columnas sí y otras no, objetos complejos (p.e., listas), que se van rellenando de una u otra manera dependiendo de las opciones del usuario y otras enojosas coyunturas muy reñidas con la elegancia. ...

14 de febrero de 2019 · Carlos J. Gil Bellosta