NMF: una técnica mergente de análisis no supervisado

[N]NMF (se encuentra con una o dos enes) es una técnica de análisis no supervisado emergente. Se cuenta entre mis favoritas. [N]NMF significa non negative matrix factorization y, como SVD, descompone una matriz M como UDV'. Solo que, en este caso, las entradas de M son todas positivas. Y la descomposición es UV', donde las entradas de ambas matrices son también positivas. ¿Qué tipo de matrices tienen entradas estrictamente positivas? Las resultantes de cuestionarios donde sujetos (filas) valoran (de 0 a 10) objetos, propuestas, etc. (columnas). Las que representan clientes (filas) que compran (un determinado número >= 0) de productos (columnas). … Y acabo con un instrumento (el paquete NMF de R) y el análisis de una encuesta realizado con dicha técnica para que la veáis en acción.

14 de septiembre de 2015 · Carlos J. Gil Bellosta

Compresión con SVD

lo he creado con library(png) tmp.file <- tempfile() download.file("http://datanalytics.com/uploads/greco.png", tmp.file) m <- readPNG(tmp.file) svd.m <- svd(m) filtra.svd <- function(svd, k){ tmp <- svd tmp$d[(k+1):length(tmp$d)] <- 0 res <- tmp$u %*% diag(tmp$d) %*% t(tmp$v) res[res > 1] <- 1 res[res < 0] <- 0 plot(1:2, type='n', xlab = "", ylab = "", xaxt = "n", yaxt = "n", main = paste(k, "primeras componentes", sep = " ")) rasterImage(res, 1, 1, 2, 2) } layout(matrix(1:9, 3, 3, byrow = T)) sapply(c(1,2,3,5,10,15,20,30,50), function(k) filtra.svd(svd.m, k))

24 de marzo de 2015 · Carlos J. Gil Bellosta

Una feliz conjunción estadístico-algebraica (y II)

Abandonamos el otro día nuestra discusión sobre la feliz conjunción estadístico-algebraica que subyace a esa técnica conocida como análisis de correspondencias en el punto en que habíamos descompuesto la matriz $B$ de la forma $B = PDQ^\prime$, donde $P$ y $Q$ son matrices cuyas columnas son vectores ortonormales $p_i$ y $q_j$ y $D$ es una matriz diagonal (aunque no necesariamente cuadrada) cuyos elementos de la diagonal (en orden decreciente) son $\lambda_k$. ...

16 de agosto de 2011 · Carlos J. Gil Bellosta

Una feliz conjunción estadístico-algebraica

Tomemos una tabla de contingencia, p.e., library(MASS) a <- as.matrix(caith) # fair red medium dark black # blue 326 38 241 110 3 # light 688 116 584 188 4 # medium 343 84 909 412 26 # dark 98 48 403 681 85 que se refiere a los habitantes de una población de Escocia clasificados según el color de los ojos y el pelo. ¿Habrá una relación entre ambas variables? ...

12 de agosto de 2011 · Carlos J. Gil Bellosta

SVD de matrices enormes con R

Supongo que mis lectores habrán leído acerca del Netflix Prize. En el vídeo de este viernes se ilustra cómo se puede usar R para implementar la parte más intensiva computacionalmente de la solución ganadora utilizando el paquete irlba, la descomposición de la matriz de datos en sus componentes singulares (más propiamente, obtener algunas de ellas).

5 de agosto de 2011 · Carlos J. Gil Bellosta