Una R-referencia con referencias para epidemiólogos circunstanciales

Lo del coronavirus nos ha convertido a todos en epidemiólogos circunstanciales. Casi ninguno de vosotros tenéis acceso a los datos necesarios para hacer cosas por vuestra cuenta, pero sí, tal vez gracias a esta entrada, las herramientas necesarias para ello. Podéis empezar por el paquete survellance de R, que implementa muchos de los métodos más modernos para la monitorización de brotes epidémicos. En particular, puede que os interese la función bodaDelay, intitulada Bayesian Outbreak Detection in the Presence of Reporting Delays, y que implementa una serie de métodos para estimar el número real de casos cuando las notificaciones de los positivos llegan tarde. O, en plata, si dizque hay 613 confirmados oficiales, ¿cuántos podría llegar a haber realmente? ...

9 de marzo 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

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

El "método delta", ahora con NIMBLE

NIMBLE ha sido uno de mis más recientes y provechosos descubrimientos. Mejor que hablar de él, que otros lo harán mejor y con más criterio que yo, lo usaré para replantear el problema asociado al método delta que me ocupó el otro día. Casi autoexplicativo: library(nimble) src <- nimbleCode({ T_half <- log(.5) / k k ~ dnorm(-0.035, sd = 0.00195) }) mcmc.out <- nimbleMCMC(code = src, constants = list(), data = list(), inits = list(k = -0.035), niter = 10000, monitors = c("k", "T_half")) out <- as.data.frame(mcmc.out) # hist(out$T_half), sd(out$T_half), etc. Cosas: El código contenido en src se compila (vía C++) por eficiencia en algunos casos y lo contrario, como este, en otros. Aún no he visto la manera, aunque presuntamente es posible, de no tener que pasar por ello. El método que ilustro se extiende naturalmente a expresiones más complejas, con varias variables, etc. Eh, ¿y qué os parece NIMBLE tal como lo he presentado para simular datos?

3 de febrero de 2020 · Carlos J. Gil Bellosta

bamlss promete regresión bayesiana flexible

Un paquete relativamente nuevo de R (las primeras versiones son de 2017) que llevo un tiempo siguiendo de reojo es bamlss. bamlss es un paquete que permite especificar y ajustar varios tipos de modelos usando en principio métodos bayesianos, aunque tampoco necesariamente. No puedo decir mucho más de él de momento. Habrá que ver cómo se comporta más allá de los ejemplos discutidos en la documentación. Muchos paquetes tienden a hacer trivial lo que antes era sencillo e imposible lo que antes difícil. Espero que no sea el caso y que acabe facilitando la divulgación de herramientas estadísticas avanzadas más allá del consabido $y \sim x_1 + x_2 + \dots$ envuelto sea en lm o en XGBoost.

19 de noviembre de 2019 · Carlos J. Gil Bellosta

tfprobability debería llamarse tfeoprobability

Porque, aunque la intención sea buena, el DSL (que ni siquiera llega a serlo) es muy, muy feo. Que en este contexto, además, quiere decir antinatural. La demostración, aquí, aquí o aquí.

12 de noviembre de 2019 · Carlos J. Gil Bellosta

Análisis y predicción de series temporales intermitentes

Hace tiempo me tocó analizar unas series temporales bastante particulares. Representaban la demanda diaria de determinados productos y cada día esta podía ser de un determinado número de kilos. Pero muchas de las series eran esporádicas: la mayoría de los días la demanda era cero. Eran casos de las llamadas series temporales intermitentes. Supongo que hay muchas maneras de modelizarlas y, así, al vuelo, se me ocurre pensar en algo similar a los modelos con inflación de ceros. Es decir, modelar la demanda como una mixtura de dos distribuciones, una, igual a 0 y otra >0, de manera que la probabilidad de la mixtura, $p_t$, dependa del tiempo y otras variables de interés. ...

4 de noviembre de 2019 · Carlos J. Gil Bellosta

DLMs

O Distributed Lag Models (véase, por ejemplo, dLagM). Son modelos para estimar el impacto de una serie temporal sobre otra en situaciones como las siguientes: Una serie mide excesos de temperaturas (en verano). La otra, defunciones. Existe un efecto causal (débil, pero medible) de la primera sobre la segunda. Pero las defunciones no ocurren el día mismo en que ocurren los excesos de temperaturas, sino que suelen demorarse unos cuantos días. ...

31 de octubre de 2019 · Carlos J. Gil Bellosta