satRday... ¡en Santiago de Compostela!

Los (o ciertos) usuarios de R de Galicia están organizando una conferencia alrededor del mundo R de la mano de satRdays. Serán el sábado 12 de septiembre (de 2020) y los interesados en saber más al respecto, harán bien en visitar esta página. De todos modos, si quieres presentar una charla o taller, el plazo límite parece ser el día 15 de abril.

28 de febrero de 2020 · Carlos J. Gil Bellosta

"Algoritmos" y acatarrantes definiciones de "justicia"

Lee Justicia: los límites de la inteligencia artificial… y humana y cuando acabes, te propongo un pequeño experimento probabilístico. Por referencia, reproduzco aquí los criterios de justicia del artículo que glosa el que enlazo: Centrémonos en (B), sabiendo que, por simetría, lo que cuento se aplica también a (C). Supongamos que tenemos dos grupos, cada uno de ellos de n <- 1000000 personas para estar en las asíntotas que aman los frecuentistas. Estos grupos tienen distribuciones distintas de un factor de riesgo, ...

26 de febrero de 2020 · Carlos J. Gil Bellosta

To IRLS or not to IRLS

A veces tomas un artículo de vaya uno a saber qué disciplina, sismología, p.e., y no dejas de pensar: los métodos estadísticos que usa esta gente son de hace 50 años. Luego cabe preguntarse: ¿pasará lo mismo en estadística con respecto a otras disciplinas? Por razones que no vienen al caso, me he visto en la tesitura de tener que encontrar mínimos de funciones que podrían cuasicatalogarse como de mínimos cuadrados no lineales. Y por algún motivo, pareciere que no hubiese en el mundo un algoritmo de ajuste que no fuese IRLS. Que tiene una gran tradición en estadística; es, de hecho, la base de la optimización propuesta por Nelder y McCullagh en 1972. ...

24 de febrero de 2020 · Carlos J. Gil Bellosta

Análisis estadístico de mezclas

No es algo que ocurra habitualmente. Creo que conozco a alguien que me dijo que lo tuvo que hacer una vez. Pero podría ocurrir en algún momento que tuvieses que analizar mezclas, es decir, situaciones experimentales en las que lo importante es la proporción de ciertos ingredientes (con la restricción obvia de que dichas proporciones suman la unidad). Para más datos, Mixture Experiments in R Using mixexp, que describe el paquete de R mixexp.

19 de febrero de 2020 · Carlos J. Gil Bellosta

No sé cómo traducir "Partially additive (generalized) linear model trees"

Sin embargo, basta con mirar la foto leer la entrada de hace unos días, que se refiere a algo muy parecido (y que, en particular, describe los datos usados en el modelo que representa) y, en el peor de los casos, esto, para hacerse idea de su utilidad y relevancia.

12 de febrero de 2020 · Carlos J. Gil Bellosta

Sobre la normalización de las direcciones postales

Lo de las direcciones postales es un caos. Trabajar con ellas, una tortura. Y cualquier proyecto de ciencia de datos que las emplee se convierte en la n-ésima reinvención de la rueda: normalización y tal. Cuando todo debería ser más sencillo. Cada portal en España tiene asociado un número de policía, un identificador numérico único. Independientemente de que quienes lo habiten se refieran a él de formas variopintas, vernaculares y, en definitiva, desnormalizadas y desestandarizadas hasta pedir basta. ...

10 de febrero de 2020 · Carlos J. Gil Bellosta

model4you

Un grupo de estudiantes se examina en horas distintas con exámenes parecidos pero no iguales. Se pretende estudiar si el examen tiene algún efecto sobre la nota final y para eso se hace algo así como bmod_math <- lm(pcorrect ~ group, data = MathExam) para obtener una distribución de la nota media por grupo descrita bien cbind(estimate = coef(bmod_math), confint(bmod_math)) ## estimate 2.5% 97.5% ## (Intercept) 57.600184 55.122708 60.07766 ## group2 -2.332414 -5.698108 1.03328 o bien, gráficamente, así: ...

6 de febrero de 2020 · Carlos J. Gil Bellosta

x[] <- lapply(...)

Estos días he aprendido una expresión muy compacta para operar sobre las columnas de una tabla en R: x <- iris # por ejemplo x[] <- lapply(x, function(x) factor(x)) # o cualquier otra función Aunque lapply debería devolver (y, de hecho, devuelve) una lista, esos corchetes de x fuerzan de una manera contraintuitiva que la salida final sea una tabla. La magia es consecuencia de que [<- es una función en sí misma (puedes consultar help("[<-") si quieres) con un comportamiento que es el que es (porque sí, a veces las cosas son simplemente como son). ...

29 de enero de 2020 · Carlos J. Gil Bellosta

Siete llaves al sepulcro del método delta

El desafortunado tuit Recordatorio: el método delta (para estimar el error de funciones de variables aleatorias) https://t.co/lkfnE3I5MU — Carlos Gil Bellosta (@gilbellosta) January 20, 2020 es de lo más parecido a que me repitan unos chorizos que me ha ocurrido últimamente. Salvo que en lugar de chorizos, lo que se me manifestaban fueron años estudiando matemáticas y, por extensión, las partes más analíticas de la estadística. Con inmerecida delicadeza, se me respondió: ...

22 de enero de 2020 · Carlos J. Gil Bellosta

De texto a función

Problema: convertir una expresión definida por un usuario (p.e., algo como "a+b") en una función (i.e., function(a, b) a + b). Solución: gen_foo <- function(expr){ my_args <- all.vars(parse(text = expr)) expr <- paste0("function(", paste(my_args, collapse = ","), ") ", expr) eval(parse(text = expr)) } Demostración: multiplica <- gen_foo("a * b") multiplica(5, 31)

21 de enero de 2020 · Carlos J. Gil Bellosta