Mam dwie grupy badanych, A i B, każda o wielkości około 400 i około 300 predyktorów. Moim celem jest zbudowanie modelu predykcyjnego dla zmiennej odpowiedzi binarnej. Mój klient chce zobaczyć wynik zastosowania modelu zbudowanego z A na B. (W swojej książce „Strategie modelowania regresji” @FrankHarrell wspomina, że lepiej jest połączyć dwa zestawy danych i zbudować na nim model, ponieważ powoduje to dodanie moc i precyzja --- patrz strona 90, Zewnętrzna walidacja. Zwykle się z nim zgadzam, biorąc pod uwagę, że zbieranie danych, które posiadam, jest bardzo kosztowne i czasochłonne. Ale nie mam wyboru, czego chce klient .) Wiele moich predyktorów jest wysoce skorelowanych, a także bardzo wypaczonych. Używam regresji logistycznej do budowy mojego modelu predykcyjnego.
Moje predyktory pochodzą głównie z mechaniki. Na przykład całkowity czas pacjent był pod wpływem stresu wyższego niż próg przez okres czasu , dla różnych wartości i . Oczywiste jest, że właśnie z ich definicji wiele z tych całkowitych czasów jest ze sobą powiązanych algebraicznie. Wiele predyktorów, które nie są algebraicznie powiązane, są ze względu na swoją naturę: podmioty, które są pod dużym stresem w pewnym okresie czasu mają tendencję do dużego stresu w czasie , nawet jeśli . Aby zmniejszyć wymiar danych, zgrupowałem powiązane predyktory razem (na przykład wszystkie całkowite czasy naprężeń razem) i zastosowałem analizę składowych głównych do przedstawienia każdego klastra. Ponieważ zmienne były wypaczone, wypróbowałem dwie alternatywne ścieżki:
- Przed wykonaniem PCA użyłem transformacji logarytmicznej, aby zmniejszyć pochylenie zmiennych.
- Użyłem algorytmu ROBPCA Mii Hubert, zaimplementowanego przez pakiet rrcov w R (PcaHubert), aby znaleźć solidne główne komponenty.
Używam ogólnego kształtu krzywej ROC, kształtu krzywej precyzyjnego przywołania oraz obszaru pod krzywą ROC (AUC) jako moich miar wydajności i chciałbym uzyskać podobne wyniki dla obu zestawów danych A i B Oczekiwałem, że uzyskam znacznie lepszy wynik dzięki zastosowaniu solidnych głównych komponentów, ale ku mojemu zaskoczeniu pierwsza metoda była lepsza: lepsza wartość AUC dla obu zestawów danych A i B, większe podobieństwo między krzywymi ROC i bardziej podobne przypominanie o precyzji Krzywe.
Jakie jest tego wytłumaczenie? I w jaki sposób mogę użyć solidnych głównych komponentów, zamiast próbować sprawić, by moje dane wyglądały normalnie? Czy są jakieś szczególne solidne metody PCA, które poleciłbyś zamiast ROBPCA?