¿Lo racional? Que jueguen a la lotería los demás

Yo mismo, lo confieso, he sido uno de los cenizos participantes en esa habitual letanía prenavideña sobre lo conveniente o no de comprar lotería en las que tanto se apela a la racionalidad. En una u otra dirección. Véase, cosecha de la campaña del año pasado, esto, esto, o, más tangencialmente, esto (y sus enlaces). Cuando lo verdaderamente racional es hacer por que compren lotería, precisamente, los demás.

22 de diciembre de 2017 · Carlos J. Gil Bellosta

El fraude de Lemús aún adorna las memorias del CSIC

Un tal Lemús, del CSIC, hizo avanzar su carrera científica inventando datos hasta que lo pillaron. Hasta 13 retracciones lleva el pillo. En particular esta. Que es relevante porque aún adorna la memoria del CSIC de 2010 (pág. 256) y suma a la lista de méritos (sección de publicaciones de alto impacto) de la institución en tal año. ¿Nadie edita ese tipo de cosas? ¿Ni por principios básicos de higiene?

21 de diciembre de 2017 · Carlos J. Gil Bellosta

Redes sin neutralidad de red que funcionan tan ricamente

Existen muchas redes de distribución. La red vial es una de ellas. La de pan, leche y huevos, otra. La de electricidad. La telefónica. Y la de paquetes de datos internet. Prácticamente ninguna se rige por principios de neutralidad de red. En la viaria, no es solo que los vehículos no puedan circular por donde y cuando quieran, sino que existen restricciones como el carril bus, el Bus Vao, lo que se perpetra diariamente en la Gran Vía de Madrid durante el periodo navideño, etc., y se aplican excepciones para los vehículos eléctricos y los conducidos por gentes con habilidades distintas de otros o como quiera que se los denomine el año en que leas esto. Y se hace para que el tráfico sea más fluido y en pretendido beneficio de todos, no para lo contrario. ...

20 de diciembre de 2017 · Carlos J. Gil Bellosta

Mezcolanza: de INLA a GAM pasando por la frenología

Combino en uno cuatro asuntos demasiado prolijos para Twitter pero sobre los que no sé lo suficiente como para desarrollarlos en una entrada entera. El paquete stpp de R tiene muy buena pinta para el análisis de conteos espacio-temporales. Se recomienda leer el artículo que lo describe. Para el tipo de problemas que plantea, se me habría ocurrido tirar de INLA. Desafortunadamente, a los autores del artículo no se les ocurrió compararlos. Cosas de la academia. ...

19 de diciembre de 2017 · Carlos J. Gil Bellosta

Sobre el problema de las martingalas: ¿cuántos sabíais la respuesta?

Pues no se sabe bien. Además, habrá quién pudiéndola haber averiguado, prefirió dejarse llevar por la intuición y errar. Pero volvamos a los hechos. Dado En un país hipotético, las familias tienen críos hasta que nace el primer varón. En un año, en promedio, nacen: — Carlos Gil Bellosta (@gilbellosta) December 10, 2017 la pregunta urgente es: ¿cuántos podrían haber conocido la respuesta? Suponiendo que el conocimiento de la respuesta es algo binarizable (¿lo es?), la distribución del número de respuestas correctas sería $pN + X$, donde $N$ es el número total de respuestas, $p$ es la proporción de quienes sabe la respuesta y $X \sim B(N - pN, 1/3)$, suponiendo siempre que $pN$ es entero. ...

19 de diciembre de 2017 · Carlos J. Gil Bellosta

El z-score es una medida inadecuada de la perplejidad

Tenemos un dato y un valor de referencia. Por ejemplo, el valor predicho por uno modelo y el observado. Queremos medir la distancia entre ambos. ¿En qué unidades? Antes de eso, incluso, ¿para qué queremos medir esa distancia? Esta es la pregunta fácil: para ver cómo encaja en el modelo propuesto, para ver cómo lo sorprende, para cuantificar la perplejidad. Los estadísticos están acostumbrados a medir la perplejidad en unas unidades que solo ellos entienden, si es que las entienden: desviaciones estándar. El z-score de un residuo es el número de desviaciones estándar que lo separan de su estimación. Si es una, exclaman ¡bah!; si es dos, ¡oh!; si es tres, ¡oooh!; si es cuatro, ¡ooooooh, válgame Dios!, etc. ...

18 de diciembre de 2017 · Carlos J. Gil Bellosta

La distribución de Poisson y la estabilización de la varianza

Imagínate que quieres estabilizar la varianza (¡para qué!) de una distribución de Poisson. Los libros viejunos te dirán que saques la raíz cuadrada de tus valores. Si en lugar de mirar en libros viejunos prestas atención a tus propios ojos, harás algo parecido a: lambdas <- -10:10 lambdas <- 2^lambdas res <- sapply(lambdas, function(lambda) sd(sqrt(rpois(1e5, lambda)))) para obtener y averiguar dónde funciona y dónde no. Si usas la transformación $f(x) = x^{2/3}$, como recomiendan en cierto artículo que no viene a cuento identificar, harás ...

15 de diciembre de 2017 · Carlos J. Gil Bellosta

Martingalas, tiempos de parada y tuits cuasivirales

El otro día publiqué en Twitter un problema que copié de algún sitio (sinceramente, no recuerdo cuál), En un país hipotético, las familias tienen críos hasta que nace el primer varón. En un año, en promedio, nacen: — Carlos Gil Bellosta (@gilbellosta) December 10, 2017 que resultó megaviral en mi humilde tuitescala. A ver si mañana tengo tiempo de ocuparme de lo triste que resulta que mi entorno de Twitter sea tan cafre como para haber desacertado tanto. ...

13 de diciembre de 2017 · Carlos J. Gil Bellosta

p-curvas

Primero, una simulación: n <- 100 delta <- 0.2 n.iter <- 10000 p_valores <- function(n, delta){ tmp <- replicate(n.iter, { x <- rnorm(n) y <- rnorm(n, mean = delta) t.test(x, y)$p.value }) res <- tmp[tmp < 0.05] hist(res, freq = FALSE, xlab = "p value", ylab = "", col = "gray", main = "histograma de p-valores publicables") res } null_effect_p_values <- p_valores(n, 0) some_effect_p_values <- p_valores(n, delta) Lo que simula son n.iter experimentos en los que se comparan n valores N(0,1) con otros n valores N(delta, 1) y se extrae el correspondiente p-valor. Luego se grafican los publicables (<0.05). Cuando diff es 0, sucede: No hay diferencia entre x e y, i.e., no hay efecto real. Los p-valores tienen una distribución uniforme en [0,1] y, por tanto, también en [0, 0.05]. Así que la p-curva tiene una forma característica, aproximadamente como ...

12 de diciembre de 2017 · Carlos J. Gil Bellosta

Cuidado con los $

El otro día tropecé con el siguiente artefacto: a <- list(aa = 12, bb = 14) is.null(a$a) #[1] FALSE a$a #[1] 12 No es un bug de R, porque la documentación reza: x$name is equivalent to x[[“name”, exact = FALSE]] Y se pueden contrastar: a[["a", exact = FALSE]] a[["a", exact = TRUE]] Comentarios: Odio muchísimo los bugs que no son bugs porque están documentados en la nota ‡2.a.(c), párrafo §23.3 de la sección 14 de un manual oscuro. Odio mucho a los gilipollas que se complacen en mandarte a leer manuales. Odio mucho las violaciones del principio de mínima sorpresa. Soy consciente de que R es, fundamentalmente, una plataforma de análisis interactivo y no (o solo subsidiariamente) un lenguaje de programación. Soy consciente de que muchos de los defaults de R se decidieron antes de que se popularizasen los completadores de comandos.

11 de diciembre de 2017 · Carlos J. Gil Bellosta