Estoy usando princomp
en R para realizar PCA. Mi matriz de datos es enorme (10K x 10K con cada valor hasta 4 decimales). Toma ~ 3.5 horas y ~ 6.5 GB de memoria física en un procesador Xeon a 2.27 GHz.¿Cuál es la forma más rápida de calcular los dos primeros componentes principales en R?
Como solo quiero los dos primeros componentes, ¿hay una forma más rápida de hacerlo?
Actualización:
Además de la velocidad, ¿Hay una manera eficiente de la memoria para hacer esto?
Se necesitan ~ 2 horas y ~ 6.3 GB de memoria física para calcular los dos primeros componentes usando svd(,2,)
.
Se puede usar el algoritmo NIPALS. Busque los paquetes R para eso. –