Distancia de Mahalanobis vía PCA cuando

10

Tengo una matriz , donde p es el número de genes yn es el número de pacientes. Cualquiera que haya trabajado con estos datos sabe que p siempre es mayor que n . Usando la selección de características, pude obtener p a un número más razonable, sin embargo, p es aún mayor que nnorte×pagpagnortepagnortepagpagnorte .

Me gustaría calcular la similitud de los pacientes en función de sus perfiles genéticos; Podría usar la distancia euclidiana, sin embargo, Mahalanobis parece más apropiado ya que explica la correlación entre las variables. El problema (como se señaló en esta publicación ) es que la distancia de Mahalanobis, específicamente la matriz de covarianza, no funciona cuando . Cuando ejecuto la distancia de Mahalanobis en R, el error que obtengo es:norte<pag

 Error in solve.default(cov, ...) :    system is computationally
 singular: reciprocal condition number = 2.81408e-21

Hasta ahora para tratar de resolver esto, he usado PCA y en lugar de usar genes, uso componentes y esto parece permitirme calcular la distancia de Mahalanobis; 5 componentes representan aproximadamente el 80% de la varianza, por lo que ahora .norte>pag

Mis preguntas son: ¿Puedo usar PCA para obtener significativamente la distancia de Mahalanobis entre pacientes, o es inapropiado? ¿Existen métricas de distancia alternativas que funcionan cuando y también hay mucha correlación entre las n variables?norte<pagnorte

usuario4673
fuente
El PCApodría romper las correlaciones variables, a menos que use algo como una rotación oblicua. Tampoco estoy seguro de cómo la distribución de la varianza PCAafectará la distancia de Mahalanobis entre pacientes similares.
Michelle
Si PCA rompe las correlaciones variables, ¿podría usar alguna otra métrica de distancia (como la distancia de Pearson) en lugar de la distancia de Mahalanobis?
user4673
No sé lo suficiente como para recomendar más. Esperaba que alguien más saltara a la conversación. :) Dada la forma en que las técnicas de reducción variable como el PCAtrabajo, tengo curiosidad por saber si se puede utilizar alguna métrica de distancia en las salidas.
Michelle
No soy un experto en el área. Solo quiero compartir que tengo un problema similar y he usado 'cov.shrink' del paquete corpcor .
Bruno Sousa

Respuestas:

8

Si mantiene todos los componentes de un PCA, entonces las distancias euclidianas entre pacientes en el nuevo espacio PCA serán iguales a sus distancias de Mahalanobis en el espacio variable observado. Si omite algunos componentes, eso cambiará un poco, pero de todos modos. Aquí me refiero a los componentes PCA de varianza unitaria, no al tipo cuya varianza es igual al valor propio (no estoy seguro acerca de la implementación de su PCA).

Solo quiero decir que si desea evaluar la distancia de Mahalanobis entre los pacientes, puede aplicar PCA y evaluar la distancia euclidiana. Evaluar la distancia de Mahalanobis después de aplicar PCA me parece algo sin sentido.

Dmitry Laptev
fuente
Aquí hay un breve artículo que discute la relación: Brereton, RG La distancia de Mahalanobis y su relación con los puntajes de los componentes principales Journal of Chemometrics, Wiley-Blackwell, 2015, 29, 143–145. dx.doi.org/10.1002/cem.2692 . Tenga en cuenta que PCA en quimiometría es, por defecto, una rotación pura de los datos, por lo tanto, no la versión de varianza unitaria a la que se refiere Dmitry.
Cbeleites descontento con SX
2

Eche un vistazo al siguiente documento:

Zuber, V., Silva, APD y Strimmer, K. (2012). Un algoritmo novedoso para la selección simultánea de SNP en estudios de asociación de todo el genoma de alta dimensión . BMC bioinformática , 13 (1), 284.

Se trata exactamente de su problema. Los autores suponen el uso de una nueva medición de importancia variable, además de que anteriormente introdujeron un método de estimación penalizado para la matriz de correlación de variables explicativas que se ajusta a su problema. ¡También usan la distancia de Mahalanobis para la descorrelación!

Los métodos están incluidos en el paquete de atención 'R', disponible en CRAN

Claas
fuente
0

Las puntuaciones de PCA (o resultados de PCA) se utilizan en la literatura para calcular la distancia de Mahalanobis entre la muestra y una distribución de muestras. Para ver un ejemplo, vea este artículo . En la sección "Métodos de análisis", los autores declaran:

Los conjuntos de datos de espectros de fluorescencia (681) se reducen a una dimensión inferior (11) mediante la evaluación de los componentes principales (PC) de la matriz de correlación (681 × 681). Las puntuaciones de PC se estiman proyectando los datos originales a lo largo de las PC. La clasificación entre los conjuntos de datos se ha realizado utilizando el modelo de distancia de Mahalanobis calculando las distancias de Mahalanobis para las puntuaciones de PC.

He visto otros ejemplos de análisis discriminante basado en la distancia PCA / Mahalanobis en la literatura y en el menú de ayuda del software de quimiometría GRAMS IQ. Esta combinación tiene sentido ya que la distancia de Mahalanobis no funciona bien cuando el número de variables es mayor que el número de muestras disponibles, y PCA reduce el número de variables.

Los algoritmos de aprendizaje automático de clasificación de una clase (es decir, Bosque de aislamiento, One-ClassSVM, etc.) son posibles alternativas al análisis discriminante basado en la distancia PCA / Mahalanobis. En nuestro laboratorio, el bosque de aislamiento combinado con el procesamiento previo de datos ha producido buenos resultados en la clasificación de los espectros de infrarrojo cercano.

En una nota ligeramente relacionada, la detección de valores atípicos o novedosos con PCA / distancia de Mahalanobis, para datos dimensionales altos, a menudo requiere el cálculo del límite de distancia de Mahalanobis . Este artículo sugiere que el límite puede calcularse como la raíz cuadrada del valor crítico de la distribución de chi-cuadrado , suponiendo que los datos se distribuyen normalmente. Este valor crítico requiere el número de grados de libertad y el valor de probabilidad asociado con los datos. El artículo parece sugerir que el número de componentes principales retenidos es igual al número de grados de libertad necesarios para calcular el valor crítico porque los autores utilizaron el número de características en el conjunto de datos para su cálculo.

Cherif Diallo
fuente
norte<pag
Cuando n <p, PCA se usa para reducir p. El número de componentes retenidos del análisis de PCA (nc) suele ser mucho menor que p, y también puede ser menor que n dependiendo del tamaño de n. Por lo tanto, PCA cambia el problema "n por p" a un problema "n por nc". En nuestro laboratorio donde analizamos los espectros NIR, p representa el número de longitudes de onda, que generalmente es mayor que dos mil. n representa el número de muestras de entrenamiento (~ 20 a 150). nc es típicamente de 3 a 11. Cuando n> nc, el análisis PCA / Mahalanobis produce buenos resultados.
Cherif Diallo
1
El problema no es lo que hace PCA. Eso está bien cubierto en otros hilos en este sitio. El problema es que la distancia mahalanobis generalmente no se puede calcular en este caso debido a la singularidad de la matriz de covarianza: esta es la circunstancia descrita en la pregunta.
whuber
Gracias por sus amables comentarios. Parece que tenemos diferentes interpretaciones de lo que pregunta el usuario. La respuesta aceptada dice: "si desea evaluar la distancia de Mahalanobis entre los pacientes, puede aplicar PCA y evaluar la distancia euclidiana. Evaluar la distancia de Mahalanobis después de aplicar PCA parece algo sin sentido ...". Creo que la última oración está en desacuerdo con la literatura que he visto y citado. ¿Qué piensas? Atentamente.
Cherif Diallo
1
Entendido. Gracias :)!
Cherif Diallo