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?
źródło
Odpowiedzi:
Krótko mówiąc, z twojego opisu porównujesz jabłko do pomarańczy .... na dwa sposoby.
Pozwólcie, że pokrótce omówię pierwszy problem dotyczący porównywalności. Transformacja dziennika nie rozwiązuje problemu wartości odstających. Może to jednak pomóc uczynić silnie wypaczone dane bardziej symetrycznymi, potencjalnie poprawiając dopasowanie dowolnej metody PCA. Krótko mówiąc, danych nie zastępuje rzetelnej analizy, aw niektórych przypadkach (skośne dane) może być uzupełnieniem. Aby odłożyć na bok ten pierwszy błąd, w dalszej części tego postu używam przekształconej logami wersji niektórych asymetrycznych bi-zmiennych danych.log
Rozważ ten przykład:
Teraz dopasuj dwa modele (ROBPCA i klasyczne PCA oba do dziennika danych):
Rozważmy teraz oś najmniejszej zmienności znalezionej każdą metodą (tutaj, dla wygody, rysuję ją na przestrzeni przekształconej w log, ale otrzymamy takie same wnioski na temat pierwotnej przestrzeni).
Widocznie ROBPCA lepiej radzi sobie z niezanieczyszczoną częścią danych (zielone kropki):
Ale teraz przechodzę do drugiego punktu.
masz to (jest to ciche widoczne na powyższej fabule):
Ale wydajesz się być zaskoczony, że:
- tak, jak opisałeś swoją procedurę testową, obliczasz kryterium oceny dopasowania dla całego zestawu danych, więc twoje kryterium oceny jest monotonną funkcją (2), w której powinieneś użyć monotonnej funkcji (1) -
Innymi słowy, nie oczekuj, że niezawodne dopasowanie będzie zawierało mniejszą sumę kwadratowych reszt ortogonalnych niż nieobciążona procedura w pełnym zbiorze danych: nieobciążony estymator jest już unikalnym minimalizatorem SSOR w pełnym zbiorze danych.
źródło