WoE,... pero ¿y las interacciones?

Esto del WoE he tenido que aplicarlo (de manera no estándar, además) en alguna ocasión. Pero forzado por las circunstancias (que, concretamente, eran el misteriosísimo y no siempre conforme a lo que cabría esperar que hace ranger de las variables categóricas). Digamos que a veces toca, pero no es tampoco algo de lo que enorgullecerse. Pero cuando escucho o leo a los apologetas del WoE, siempre me pregunto mucho por lo que tendrán que decir sobre la pérdida de información en términos abstractos y, en otros más concretos, qué ocurre con las interacciones. ...

13 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

Bibliografía científica y sesgos

Las únicas letras que no desmerecen en esta entrada del gráfico anterior son las de la obligada referencia.

11 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

La densidad de una Cauchy bivariada es cuasiconvexa

Primero, las curvas de nivel: x <- seq(-50, 50, length.out = 1000) tmp <- expand.grid(x = x, y = x) tmp$z <- log(dcauchy(tmp$x) * dcauchy(tmp$y)) ggplot(tmp, aes(x = x, y = y, z = z)) + stat_contour() Lo de la cuasiconvexidad está contado aquí. Las consecuencias estadísticas y probabilísticas, para otro rato.

7 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

Agoreros

Anderson et al. (2015) documented the existence of customers who systematically purchase new products that fail. Tal se lee en The Surprising Breadth of Harbingers of Failure, un artículo que abunda sobre la cuestión de la existencia ya no solo de clientes agoreros sino, incluso de códigos postales agoreros donde aquellos se arraciman. Desafortunadamente, el artículo omite decirnos cuáles son, dónde están y, por supuesto, alguna foto de quienes los habitan. ...

5 de febrero de 2020 · Carlos J. Gil Bellosta

Comparación y selección de modelos bayesianos

En el mundo bayesiano existen, cuando menos, dos escuelas: La flowerpower, que sostiene que los modelos bayesianos son subjetivos y, por lo tanto, inasequibles a la confrontación con la realidad objetiva. La de los que tienen un jefe que les paga un salario, al que le da igual si los modelos son bayesianos o no pero a quien le interesa por encima de todo saber si representan razonablemente el proceso subyacente. Los segundos cuentan con referencias como Comparison of Bayesian predictive methods for model selection. Es un artículo, en cierto modo, desasosegadoramente antibayesiano: miradlo y encontraréis en él cosas que se parecen demasiado a la validación cruzada, al RMSE, etc. ...

4 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 el 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

¿Pato o conejo? (Y su moraleja)

Supongo que Is it a Duck or a Rabbit? For Google Cloud Vision, it depends how the image is rotated. pic.twitter.com/a30VzjEXVv — Max Woolf (@minimaxir) March 7, 2019 es conocido de todos. Según la orientación de la imagen, la red neuronal correspondiente la categoriza bien como conejo o bien como pato. ¿El motivo? La red está entrenada con una serie de fotos etiquetadas por humanos y en ellas, las figuras en que parecen conejos están en ciertos ángulos (los naturales en fotos de conejos) y en las que aparecen patos, en otros. ...

31 de enero de 2020 · Carlos J. Gil Bellosta