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ż .
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:
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 .
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 ?
źródło
PCA
Może pęknąć zmiennej korelacji, chyba użyć coś jak ukośnej rotacji. Nie jestem również pewien, w jaki sposób podział wariancjiPCA
wpłynie na odległość Mahalanobisa między podobnymi pacjentami.PCA
, jestem ciekawy, czy na wyjściach można zastosować jakąkolwiek miarę odległości.Odpowiedzi:
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.
źródło
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
źródło
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ą:
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.
źródło