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.
Las únicas letras que no desmerecen en esta entrada del gráfico anterior son las de la obligada referencia.
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.
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.
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í:
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.
En el mundo bayesiano existen, cuando menos, dos escuelas:
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.
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:
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.
Tal vendría a ser la traducción del título de este artículo con el que, mentándolo, hago contrapeso a opiniones enlatadas con sabor a gominola.
Por no dejarlo todo en dos líneas, enumero aquí los diez mayores retos (¿problemas?) que encuentra hoy en día el autor en el deep learning:
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).