Distanza di Mahalanobis tramite PCA quando


10

Ho una matrice , dove è il numero di geni e è il numero di pazienti. Chiunque abbia lavorato con tali dati sa che è sempre più grande di . Usando la selezione delle funzioni ho ridotto a un numero più ragionevole, tuttavia è ancora maggiore di .p n pn×ppnpp p nnppn

Vorrei calcolare la somiglianza dei pazienti in base ai loro profili genetici; Potrei usare la distanza euclidea, tuttavia Mahalanobis sembra più appropriato in quanto spiega la correlazione tra le variabili. Il problema (come notato in questo post ) è che la distanza di Mahalanobis, in particolare la matrice di covarianza, non funziona quando . Quando corro Mahalanobis a distanza in R, l'errore che ottengo è:n<p

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

Finora per provare a risolverlo, ho usato il PCA e invece di usare i geni, uso i componenti e questo sembra permettermi di calcolare la distanza di Mahalanobis; 5 componenti rappresentano circa l'80% della varianza, quindi ora .n>p

Le mie domande sono: posso usare PCA per ottenere in modo significativo la distanza di Mahalanobis tra i pazienti o è inappropriato? Ci sono metriche di distanza alternative che funzionano quando e c'è anche molta correlazione tra le variabili?nn<pn


Ciò PCApotrebbe interrompere le correlazioni variabili, a meno che non si usi qualcosa come una rotazione obliqua. Inoltre, non sono sicuro di come la ripartizione della varianza PCAinfluenzerà la distanza di Mahalanobis tra pazienti simili.
Michelle

Se la PCA rompe le correlazioni variabili, potrei usare qualche altra metrica di distanza (come la distanza di Pearson) invece della distanza di Mahalanobis?
user4673

Non ne so abbastanza per raccomandare ulteriormente. Speravo che qualcun altro potesse saltare nella conversazione. :) Dato il modo in cui funzionano tecniche di riduzione variabili PCA, sono curioso di sapere se è possibile utilizzare qualsiasi metrica di distanza sulle uscite.
Michelle

Non sono un esperto della zona. Voglio solo condividere che ho un tuo piccolo problema e ho usato 'cov.shrink' dal pacchetto corpcor .
Bruno Sousa,

Risposte:


8

Se si mantengono tutti i componenti da un PCA, le distanze euclidee tra i pazienti nel nuovo spazio PCA eguagliano le loro distanze Mahalanobis nello spazio variabile osservato. Se salti alcuni componenti, questo cambierà un po ', ma comunque. Qui mi riferisco ai componenti PCA varianza unità, non al tipo la cui varianza è uguale all'autovalore (non sono sicuro dell'implementazione PCA).

Voglio solo dire che se vuoi valutare la distanza di Mahalanobis tra i pazienti, puoi applicare la PCA e valutare la distanza euclidea. La valutazione della distanza di Mahalanobis dopo l'applicazione del PCA mi sembra insignificante.


Ecco un breve articolo che discute della relazione: Brereton, RG La distanza di Mahalanobis e la sua relazione con i punteggi dei componenti principali Journal of Chemometrics, Wiley-Blackwell, 2015, 29, 143–145. dx.doi.org/10.1002/cem.2692 . Si noti che la PCA in chemiometria è di default una pura rotazione dei dati, quindi non la versione di varianza unitaria cui si riferisce Dmitry.
cbeleites insoddisfatto di SX il

2

Dai un'occhiata al seguente documento:

Zuber, V., Silva, APD, & Strimmer, K. (2012). Un nuovo algoritmo per la selezione SNP simultanea in studi di associazione su tutto il genoma ad alta dimensione . Bioinformatica BMC , 13 (1), 284.

Affronta esattamente il tuo problema. Gli autori suppongono l'uso di nuove misurazioni di importanza variabile, oltre a introdurre in precedenza un metodo di stima penalizzato per la matrice di correlazione delle variabili esplicative che si adatta al tuo problema. Usano anche la distanza Mahalanobis per la decorrelazione!

I metodi sono inclusi nel pacchetto R 'care', disponibile su CRAN


0

I punteggi PCA (o risultati PCA) sono utilizzati in letteratura per calcolare la distanza di Mahalanobis tra il campione e una distribuzione dei campioni. Per un esempio, vedi questo articolo . Nella sezione "Metodi di analisi", gli autori dichiarano:

I set di dati degli spettri di fluorescenza (681) sono ridotti in una dimensione inferiore (11) valutando i componenti principali (PC) della matrice di correlazione (681 × 681). I punteggi dei PC vengono stimati proiettando i dati originali lungo i PC. La classificazione tra i set di dati è stata effettuata utilizzando il modello di distanza Mahalanobis calcolando le distanze Mahalanobis per i punteggi PC.

Ho visto altri esempi di analisi discriminanti basate sulla distanza PCA / Mahalanobis in letteratura e nel menu di aiuto del software di chemometria GRAMS IQ. Questa combinazione ha senso poiché la distanza di Mahalanobis non funziona bene quando il numero di variabili è maggiore del numero di campioni disponibili e PCA riduce il numero di variabili.

Gli algoritmi di apprendimento automatico di classificazione di una classe (ovvero Isolation Forest, One-ClassSVM, ecc.) Sono possibili alternative all'analisi discriminante basata sulla distanza PCA / Mahalanobis. Nel nostro laboratorio, la foresta di isolamento combinata con la pre-elaborazione dei dati ha prodotto buoni risultati nella classificazione degli spettri nel vicino infrarosso.

In una nota leggermente correlata, il rilevamento di valori anomali o di novità con distanza PCA / Mahalanobis, per dati ad alta dimensione, spesso richiede il calcolo del limite di distanza Mahalanobis . Questo articolo suggerisce che il cutoff può essere calcolato come radice quadrata del valore critico della distribuzione chi-quadro , supponendo che i dati siano normalmente distribuiti. Questo valore critico richiede il numero di gradi di libertà e il valore di probabilità associato ai dati. L'articolo sembra suggerire che il numero di componenti principali conservati è uguale al numero di gradi di libertà necessari per calcolare il valore critico poiché gli autori hanno utilizzato il numero di funzionalità nel set di dati per il loro calcolo.


n<p

Quando n <p, PCA viene utilizzato per ridurre p. Il numero di componenti trattenuto dall'analisi PCA (nc) è generalmente molto più piccolo di p, e può anche essere inferiore a n a seconda della dimensione di n. Pertanto, PCA modifica il problema "n per p" in un problema "n per nc". Nel nostro laboratorio in cui analizziamo gli spettri NIR, p rappresenta il numero di lunghezze d'onda, che è in genere maggiore di duemila. n rappresenta il numero di campioni di addestramento (da ~ 20 a 150). nc è in genere da 3 a 11. Quando n> nc, l'analisi PCA / Mahalanobis produce buoni risultati.
Cherif Diallo,

1
Il problema non è quello che fa PCA. Questo è ben coperto in altri thread su questo sito. Il problema è che la distanza mahalanobis in genere non può essere calcolata in questo caso a causa della singolarità della matrice di covarianza: questa è la circostanza descritta nella domanda.
whuber

Grazie per i vostri gentili commenti. Sembra che abbiamo diverse interpretazioni di ciò che l'utente sta chiedendo. La risposta accettata afferma che "se si desidera valutare la distanza di Mahalanobis tra i pazienti, è possibile applicare la PCA e valutare la distanza euclidea. Valutare la distanza di Mahalanobis dopo aver applicato la PCA sembra qualcosa di insignificante ...". Penso che l'ultima frase sia in contrasto con la letteratura che ho visto e citato. Cosa ne pensi? I migliori saluti.
Cherif Diallo,

1
Fatto. Grazie :)!
Cherif Diallo,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.