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 n .
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:
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 .
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?
PCA
trabajo, tengo curiosidad por saber si se puede utilizar alguna métrica de distancia en las salidas.
PCA
podrí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 varianzaPCA
afectará la distancia de Mahalanobis entre pacientes similares.