Eu tenho uma matriz , onde é o número de genes é o número de pacientes. Qualquer pessoa que trabalhou com esses dados sabe que é sempre maior que . Utilizando a seleção de características, obtive até um número mais razoável, no entanto, ainda é maior que .p n p n p p n
Eu gostaria de calcular a semelhança dos pacientes com base em seus perfis genéticos; Eu poderia usar a distância euclidiana, no entanto Mahalanobis parece mais apropriado, pois explica a correlação entre as variáveis. O problema (como observado neste post ) é que a distância de Mahalanobis, especificamente a matriz de covariância, não funciona quando . Quando corro a distância de Mahalanobis em R, o erro que recebo é:
Error in solve.default(cov, ...) : system is computationally
singular: reciprocal condition number = 2.81408e-21
Até agora, para tentar resolver isso, usei o PCA e, em vez de usar genes, uso componentes e isso me permite calcular a distância de Mahalanobis; 5 componentes representam cerca de 80% da variação, então agora .
Minhas perguntas são: Posso usar o PCA para obter uma distância significativa de Mahalanobis entre os pacientes ou é inapropriado? Existem métricas de distância alternativas que funcionam quando também há muita correlação entre as variáveis?n
fonte
PCA
pode quebrar as correlações das variáveis, a menos que você use algo como uma rotação oblíqua. Também não tenho certeza de como a distribuição da variaçãoPCA
afetará a distância de Mahalanobis entre pacientes semelhantes.PCA
funcionam, estou curioso para saber se alguma métrica de distância pode ser usada nas saídas.Respostas:
Se você mantiver todos os componentes de um PCA - as distâncias euclidianas entre os pacientes no novo espaço PCA serão iguais às distâncias de Mahalanobis no espaço variável observado. Se você pular alguns componentes, isso mudará um pouco, mas mesmo assim. Aqui, refiro-me aos componentes do PCA de variação unitária, não do tipo cuja variação é igual ao valor próprio (não tenho certeza sobre a implementação do PCA).
Quero apenas dizer que, se você quiser avaliar a distância de Mahalanobis entre os pacientes, poderá aplicar o PCA e avaliar a distância euclidiana. Avaliar a distância de Mahalanobis após a aplicação do PCA parece algo sem sentido para mim.
fonte
Dê uma olhada no seguinte artigo:
Zuber, V., Silva, APD e Strimmer, K. (2012). Um novo algoritmo para seleção simultânea de SNP em estudos de associação de alta dimensão em todo o genoma . BMC bioinformtics , 13 (1), 284.
Ele lida exatamente com o seu problema. Os autores supõem o uso de novas medidas de importância variável, além de terem introduzido anteriormente um método de estimação penalizada para a matriz de correlação de variáveis explicativas que se encaixa no seu problema. Eles também usam a distância de Mahalanobis para decorrelação!
Os métodos estão incluídos no pacote 'care', disponível no CRAN
fonte
As pontuações de PCA (ou resultados de PCA) são usadas na literatura para calcular a distância de Mahalanobis entre a amostra e uma distribuição de amostras. Para um exemplo, consulte este artigo . Na seção "Métodos de análise", os autores declaram:
Vi outros exemplos de análises discriminantes baseadas na distância de PCA / Mahalanobis na literatura e no menu de ajuda do software de quimiometria GRAMS IQ. Essa combinação faz sentido, pois a distância de Mahalanobis não funciona bem quando o número de variáveis é maior que o número de amostras disponíveis e o PCA reduz o número de variáveis.
Os algoritmos de aprendizado de máquina de classificação de uma classe (floresta de isolamento, One-ClassSVM, etc.) são possíveis alternativas à análise discriminante baseada na distância PCA / Mahalanobis. Em nosso laboratório, a Isolation Forest, combinada com o pré-processamento de dados, produziu bons resultados na classificação dos espectros de infravermelho próximo.
Em uma nota um pouco relacionada, a detecção de outlier ou novidade com distância de PCA / Mahalanobis, para dados dimensionais elevados, geralmente requer o cálculo do ponto de corte de distância de Mahalanobis . Este artigo sugere que o ponto de corte pode ser calculado como a raiz quadrada do valor crítico da distribuição qui-quadrado , assumindo que os dados sejam normalmente distribuídos. Esse valor crítico requer o número de graus de liberdade e o valor da probabilidade associado aos dados. O artigo parece sugerir que o número de componentes principais retidos é igual ao número de graus de liberdade necessário para calcular o valor crítico, porque os autores usaram o número de recursos no conjunto de dados para o cálculo.
fonte