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?
quelle
Antworten:
Kurz gesagt, und aus Ihrer Beschreibung heraus, vergleichen Sie Apfel mit Orangen ... auf zwei Arten.
Betrachten Sie dieses Beispiel:
Nun passen die beiden Modelle (ROBPCA und classic pca beide auf das Protokoll der Daten):
Betrachten Sie nun die Achse der kleinsten Variation, die mit jeder Methode gefunden wurde (der Einfachheit halber zeichne ich sie im log-transformierten Raum auf, aber Sie würden dieselben Schlussfolgerungen für den ursprünglichen Raum ziehen).
Sichtbar macht ROBPCA eine bessere Arbeit im Umgang mit dem nicht kontaminierten Teil der Daten (den grünen Punkten):
Aber jetzt komme ich zu meinem zweiten Punkt.
Sie haben das (dies ist in der obigen Handlung ruhig zu sehen):
Aber Sie scheinen überrascht zu sein, dass:
- So wie Sie Ihr Testverfahren beschrieben haben, berechnen Sie das Anpassungsbewertungskriterium für den gesamten Datensatz. Daher ist Ihr Bewertungskriterium eine monotone Funktion von (2), wobei Sie eine monotone Funktion von (1) verwenden sollten. -
Mit anderen Worten, erwarten Sie nicht, dass eine robuste Anpassung eine geringere Summe von quadratischen orthogonalen Residuen aufweist als eine nicht robuste Prozedur für Ihren vollständigen Datensatz: Der nicht robuste Schätzer ist bereits der eindeutige Minimierer der SSOR für den vollständigen Datensatz.
quelle