<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Este artículo aparece en Cable JMPer, Número 30, verano 2015 .
por John Sall john.sall , Cofundador y vicepresidente ejecutivo, SAS
Con los métodos multivariados, tiene que hacer las cosas de manera diferente cuando tiene datos amplios (muchos miles de columnas).
El cuello de botella
El talón de Aquiles para los enfoques tradicionales para datos amplios es que comienzan con una covarianza o matriz de correlación, que crece con el cuadrado del número de columnas. La investigación genómica, por ejemplo, tiende a tener datos amplios:
- En un estudio de genómica, hay 10.787 columnas de expresión génica, aunque solo hay 230 filas. Esa matriz de covarianza tiene más de 58 millones de elementos y ocupa 465 MB de memoria.
- Otro estudio con el que trabajamos tiene 49,041 genes en 249 individuos, lo que resulta en una matriz de covarianza que usa 9.6GB de memoria.
- Otro estudio más tiene 1,824,184 columnas de genes, que producen una matriz de covarianza de 13.3TB. Las computadoras simplemente no tienen tanta memoria; de hecho, no tienen tanto espacio en el disco.
Incluso si tiene la memoria para estos problemas amplios, tomaría mucho tiempo calcular la matriz de covarianza, en el orden de n * p 2 , donde n es el número de filas, y p es el número de columnas. Además, se vuelve aún peor cuando hay que invertir la matriz de covarianza, que costaría en el orden de p 3 . Además, la matriz de covarianza es muy singular, ya que hay muchas menos filas que columnas en los datos.
Entonces, usted pensaría que los métodos multivariables no son prácticos o imposibles para estas situaciones. Afortunadamente, hay otra forma, una que hace que los grandes problemas no solo sean prácticos, sino también razonablemente rápidos, y que a la vez proporcione las mismas respuestas que obtendría con una gran matriz de covarianza.
La SVD
El número de dimensiones efectivas en el espacio altamente multivariado está en el orden del número de filas, ya que es mucho más pequeño que el número de columnas. Todas las variaciones en esa amplia matriz pueden representarse por los componentes principales, aquellos asociados con la varianza positiva, es decir, valores propios distintos de cero. Hay otra manera de obtener los componentes principales utilizando la descomposición de valor singular de los datos (estandarizados). Ahora que está en el espacio de componentes principales, la dimensión de estos componentes principales es pequeña; de hecho, todos los cálculos se simplifican porque la matriz de covarianza de los componentes principales es diagonal, lo cual es trivial de invertir.
Supongamos que X es la matriz n por p de los datos estandarizados, con p mucho mayor que n, por lo que la matriz de covarianza es el cálculo de la matriz p por p X'X / n.
La SVD expresa cualquier X como una transformación que es una rotación, una escala y luego otra rotación:
X = U diag (M) V '
Donde U es y n por m matriz de columnas ortogonales, M es un vector de m valores singulares positivos, y V es ap por m matriz de columnas ortogonales. Resulta que si hubieras tomado la descomposición de valores propios de la matriz de covarianza, esos valores propios serían M 2 y los vectores propios serían V, por lo que ya que solo se necesitan M y V para los componentes principales, entonces puede hacer el SVD de los datos, en lugar de los valores propios de la matriz de covarianza, y si p está en los miles yn está en los cientos , esto es mucho más rápido. Los componentes principales son solo X * V.
Por ejemplo, en un problema con 10.787 columnas y 230 filas, los componentes principales a través de la matriz de correlación toman 81 minutos, pero con la SVD solo toma 7.5 segundos, más de 600 veces más rápido. Lo probé en un conjunto de datos genómicos con 1,824,184 columnas en 249 filas. Pude hacer los componentes principales de esos datos utilizando JMP 12 en mi Mac Pro de 6 núcleos en solo 94 minutos. Hacerlo de la otra manera claramente hubiera sido imposible.
Análisis discriminante
Con un análisis discriminante, la tarea principal es calcular la distancia desde cada punto a la media (multivariada) de cada grupo. Sin embargo, esa distancia no es la simple distancia euclidiana, sino una forma multivariada de la distancia: la distancia de Mahalanobis, que utiliza la matriz de covarianza inversa.
Pero piense en los datos estandarizados: los componentes principales son los mismos datos, pero girados en varios ángulos. La diferencia es que los datos originales pueden tener 10,000 columnas, pero los componentes principales solo tienen unos pocos cientos, en el caso de datos amplios. Entonces, si queremos medir distancias entre puntos o entre un punto y una media multivariada ( centroide ), entonces podemos hacerlo en muchas menos dimensiones. No solo eso, sino que las coordenadas principales no están correlacionadas, lo que significa que la matriz en el medio de los cálculos de distancia de Mahalanobis es diagonal, por lo que la distancia es solo una suma de cuadrados de distancias de coordenadas individuales.
Tomamos los componentes principales de los datos centrados en la media por grupo. Luego agregamos de nuevo la media a estos nuevos datos de dimensión reducida. La media transformada es simplemente la transformación de los componentes principales de las medias del grupo original.
Ejemplo
Existe un conjunto de datos de expresión del genoma del cáncer de mama que es un punto de referencia utilizado por Microarray Quality Consortium con 230 filas y 10,787 expresiones de genes. Un análisis discriminante que usa el método lineal amplio toma solo 5.6 segundos (en Mac Pro) y produce una tasa de clasificación errónea de validación cruzada de solo 13.7% en la categoría más difícil de clasificar, ER_status (Figura 1). Esta tasa de clasificación errónea es cercana a la mejor lograda para este problema, dado que los otros métodos son costosos.

Figura 1 Amplio análisis discriminante en la plataforma de Componentes Principales.
Hasta el momento hemos implementado opciones altamente multivariadas basadas en SVD en Discriminante, Componentes principales, Clúster jerárquico y una forma de imputación de valor faltante. Estamos experimentando con seguir usándolo y también explorando otros métodos similares útiles en análisis altamente multivariados. Gran parte de la exageración en torno a "Big Data" se trata de un gran número de filas, pero un gran número de columnas también son cada vez más importantes.