Ich habe zwei Gruppen von Probanden, A und B, jede mit einer Größe von ungefähr 400 und ungefähr 300 Prädiktoren. Mein Ziel ist es, ein Vorhersagemodell für eine binäre Antwortvariable zu erstellen. Mein Kunde möchte das Ergebnis der Anwendung des von A auf B erstellten Modells sehen. (In seinem Buch "Regression Modeling Strategies" (Strategien zur Regressionsmodellierung) erwähnt @FrankHarrell, dass es besser ist, die beiden Datensätze zu kombinieren und ein Modell darauf aufzubauen, da dies hinzugefügt wird Kraft und Präzision - siehe Seite 90, Externe Validierung. Ich stimme ihm eher zu, da das Sammeln der Daten, über die ich verfüge, sehr teuer und zeitaufwändig ist. Aber ich habe keine Wahl darüber, was der Kunde möchte .) Viele meiner Prädiktoren sind stark korreliert und auch sehr verzerrt. Ich verwende logistische Regression, um mein Vorhersagemodell aufzubauen.
Meine Prädiktoren kommen hauptsächlich aus der Mechanik. Zum Beispiel die Gesamtzeit , während der das Subjekt für die Zeitperiode einer Belastung ausgesetzt war, die höher als der Schwellenwert , für verschiedene Werte von und . Es ist klar, dass nur aus ihren Definitionen viele dieser Gesamtzeiten algebraisch miteinander zusammenhängen. Viele der nicht algebraisch verwandten Prädiktoren sind aufgrund ihrer Natur verwandt: Probanden, die während eines Zeitraums stark neigen dazu, während des Zeitraums , selbst wenn. Um die Dimension der Daten zu reduzieren, habe ich zusammengehörige Prädiktoren geclustert (zum Beispiel alle Gesamtspannungszeiten zusammen) und die Hauptkomponentenanalyse verwendet, um jeden Cluster darzustellen. Da die Variablen verzerrt waren, habe ich zwei alternative Pfade ausprobiert:
- Vor der Durchführung der PCA habe ich eine logarithmische Transformation verwendet, um den Versatz in Variablen zu reduzieren.
- Ich habe Mia Huberts ROBPCA-Algorithmus verwendet, wie er im Paket rrcov in R (PcaHubert) implementiert ist, um die robusten Hauptkomponenten zu finden.
Ich verwende die Gesamtform der ROC-Kurve, die Form der Precision-Recall-Kurve und die Fläche unter der ROC-Kurve (AUC) als Leistungsmaß und möchte für die Datensätze A und B ähnliche Ergebnisse erhalten Ich hatte erwartet, mit den robusten Hauptkomponenten ein viel besseres Ergebnis zu erzielen, aber zu meiner Überraschung schlug sich die erste Methode besser: Besserer AUC-Wert für die Datensätze A und B, mehr Ähnlichkeit zwischen ROC-Kurven und ähnlicherer Präzisionsrückruf Kurven.
Was ist die Erklärung dafür? Und wie kann ich robuste Hauptkomponenten verwenden, anstatt zu versuchen, meine Daten wie normal aussehen zu lassen? Gibt es bestimmte robuste PCA-Methoden, die Sie anstelle von ROBPCA empfehlen würden?