Odległość Mahalanobis przez PCA kiedy


10

Mam macierz , gdzie to liczba genów, a to liczba pacjentów. Każdy, kto pracował z takimi danymi, wie, że jest zawsze większe niż . Korzystając z wyboru funkcji, zredukowałem do bardziej rozsądnej liczby, jednak jest nadal większe niż .n×ppnpnppn

Chciałbym obliczyć podobieństwo pacjentów na podstawie ich profili genetycznych; Mógłbym użyć odległości euklidesowej, jednak Mahalanobis wydaje się bardziej odpowiedni, ponieważ uwzględnia korelację między zmiennymi. Problem (jak zauważono w tym poście ) polega na tym, że odległość Mahalanobisa, a konkretnie macierz kowariancji, nie działa, gdy . Gdy uruchamiam odległość Mahalanobisa w R, pojawia się błąd:n<p

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

Do tej pory próbowałem rozwiązać ten problem, używałem PCA i zamiast genów, używam komponentów i wydaje mi się, że to pozwala mi obliczyć odległość Mahalanobisa; 5 składników reprezentuje około 80% wariancji, więc teraz .n>p

Moje pytania brzmią: czy mogę użyć PCA, aby znacząco uzyskać odległość Mahalanobisa między pacjentami, czy jest to nieodpowiednie? Czy istnieją alternatywne miary odległości, które działają, gdy a także istnieje duża korelacja między zmiennymi ?n<pn


PCAMoże pęknąć zmiennej korelacji, chyba użyć coś jak ukośnej rotacji. Nie jestem również pewien, w jaki sposób podział wariancji PCAwpłynie na odległość Mahalanobisa między podobnymi pacjentami.
Michelle,

Jeśli PCA przełamie zmienne korelacje, czy mógłbym użyć innej metryki odległości (takiej jak odległość Pearsona) zamiast odległości Mahalanobisa?
user4673

Nie wiem wystarczająco, aby polecić dalej. Miałem nadzieję, że ktoś inny wskoczy do rozmowy. :) Biorąc pod uwagę, jak działają zmienne techniki redukcji PCA, jestem ciekawy, czy na wyjściach można zastosować jakąkolwiek miarę odległości.
Michelle,

Nie jestem ekspertem w tej dziedzinie. Chcę tylko powiedzieć, że mam podobny problem i użyłem „cov.shrink” z pakietu corpcor .
Bruno Sousa

Odpowiedzi:


8

Jeśli trzymasz wszystkie składniki z PCA - odległości euklidesowe między pacjentami w nowej przestrzeni PCA będą równe ich odległościom Mahalanobisa w przestrzeni obserwowanej zmiennej. Jeśli pominiesz niektóre komponenty, to się trochę zmieni, ale i tak. Mam tu na myśli komponenty PCA wariancji jednostkowych, a nie takie, których wariancja jest równa wartości własnej (nie jestem pewien co do implementacji PCA).

Mam na myśli, że jeśli chcesz ocenić odległość Mahalanobisa między pacjentami, możesz zastosować PCA i ocenić odległość euklidesową. Ocena odległości Mahalanobisa po zastosowaniu PCA wydaje mi się bez znaczenia.


Oto krótki artykuł omawiający tę zależność: Brereton, RG Odległość Mahalanobisa i jej związek z wynikami głównych składowych Journal of Chemometrics, Wiley-Blackwell, 2015, 29, 143–145. dx.doi.org/10.1002/cem.2692 . Zauważ, że PCA w chemometrii jest domyślnie czystym obrotem danych, a więc nie wersją wariancji jednostki, do której odnosi się Dmitry.
cbeleites niezadowoleni z SX

2

Spójrz na następujący artykuł:

Zuber, V., Silva, APD i Strimmer, K. (2012). Nowy algorytm do jednoczesnej selekcji SNP w wysokowymiarowych badaniach asocjacyjnych całego genomu . BMC bioinformatics , 13 (1), 284.

To dokładnie dotyczy twojego problemu. Autorzy przypuszczają zastosowanie nowych pomiarów istotności zmiennej, poza tym, że wcześniej wprowadzili metodę szacowania karnego dla macierzy korelacji zmiennych objaśniających, która pasuje do twojego problemu. Używają także odległości Mahalanobisa do dekorelacji!

Metody są zawarte w pakiecie R „opieka”, dostępnym w CRAN


0

Wyniki PCA (lub wyniki PCA) są używane w literaturze do obliczania odległości Mahalanobisa między próbką a rozkładem próbek. Na przykład zobacz ten artykuł . W sekcji „Metody analizy” autorzy stwierdzają:

Zestawy danych widm fluorescencyjnych (681) są redukowane do niższego wymiaru (11) poprzez ocenę głównych składników (PC) macierzy korelacji (681 × 681). Wyniki na PC są szacowane poprzez projekcję oryginalnych danych wzdłuż komputerów. Klasyfikacji między zestawami danych dokonano przy użyciu modelu odległości Mahalanobisa, obliczając odległości Mahalanobisa dla wyników PC.

Widziałem inne przykłady analizy dyskryminacyjnej opartej na odległości PCA / Mahalanobis w literaturze i menu pomocy oprogramowania chemometrii GRAMS IQ. Ta kombinacja ma sens, ponieważ odległość Mahalanobisa nie działa dobrze, gdy liczba zmiennych jest większa niż liczba dostępnych próbek, a PCA zmniejsza liczbę zmiennych.

Algorytmy uczenia maszynowego jednej klasy (tj. Isolation Forest, One-ClassSVM itp.) Są możliwymi alternatywami dla analizy dyskryminacyjnej opartej na odległości PCA / Mahalanobis. W naszym laboratorium las izolacyjny w połączeniu z przetwarzaniem danych dały dobre wyniki w klasyfikacji widm bliskiej podczerwieni.

W przypadku nieco pokrewnej nuty wykrycie wartości odstającej lub nowości z odległością PCA / Mahalanobisa w przypadku danych o wysokich wymiarach często wymaga obliczenia wartości granicznej odległości Mahalanobisa . W tym artykule sugeruje się, że wartość odcięcia można obliczyć jako pierwiastek kwadratowy wartości krytycznej rozkładu chi-kwadrat , przy założeniu, że dane są zwykle rozkładane. Ta wartość krytyczna wymaga liczby stopni swobody i wartości prawdopodobieństwa związanej z danymi. Artykuł wydaje się sugerować, że liczba zachowanych głównych składników jest równa liczbie stopni swobody potrzebnych do obliczenia wartości krytycznej, ponieważ autorzy wykorzystali liczbę funkcji w zestawie danych do ich obliczenia.


Witamy na naszej stronie. Ponieważ nie jest to jednoznaczne w twojej odpowiedzi, czy możesz wyjaśnić, w jaki sposób rozwiązuje ten problemn<pokoliczność postawiona w pytaniu?
whuber

Gdy n <p, PCA służy do zmniejszenia p. Liczba składników zachowanych z analizy PCA (nc) jest zwykle znacznie mniejsza niż p, a także może być mniejsza niż n, w zależności od wielkości n. Zatem PCA zmienia problem „n przez p” na problem „n przez nc”. W naszym laboratorium, w którym analizujemy widma NIR, p oznacza liczbę długości fali, która zwykle jest większa niż dwa tysiące. n oznacza liczbę próbek treningowych (~ 20 do 150). nc wynosi zwykle od 3 do 11. Gdy n> nc, analiza PCA / Mahalanobis daje dobre wyniki.
Cherif Diallo

1
Problemem nie jest to, co robi PCA. Jest to dobrze opisane w innych wątkach na tej stronie. Problem polega na tym, że odległości mahalanobis zazwyczaj nie można obliczyć w tym przypadku ze względu na osobliwość macierzy kowariancji: jest to okoliczność opisana w pytaniu.
whuber

Dziękuję za miłe komentarze. Wygląda na to, że mamy różne interpretacje tego, o co pyta użytkownik. Przyjęta odpowiedź brzmi: „jeśli chcesz ocenić odległość Mahalanobisa między pacjentami, możesz zastosować PCA i ocenić odległość euklidesową. Ocena odległości Mahalanobisa po zastosowaniu PCA wydaje się czymś bez znaczenia ...”. Myślę, że ostatnie zdanie jest sprzeczne z literaturą, którą widziałem i cytowałem. Co myślisz? Z poważaniem.
Cherif Diallo

1
Rozumiem. Dzięki :)!
Cherif Diallo
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.