Wie wende ich eine Regression auf Hauptkomponenten an, um eine Ausgabevariable vorherzusagen?

9

Ich habe die Grundlagen der Hauptkomponentenanalyse aus Tutorial1 , Link1 und Link2 gelesen .

Ich habe einen Datensatz von 100 Variablen (einschließlich der Ausgabevariablen Y), möchte die Variablen durch PCA auf 40 reduzieren und dann die Variable Y unter Verwendung dieser 40 Variablen vorhersagen.

Problem 1: Nachdem ich Hauptkomponenten erhalten und die ersten 40 Komponenten ausgewählt habe, erhalte ich eine Funktion, die zu den Daten passt, wenn ich eine Regression darauf anwende. Aber wie kann man eine Variable Y aus den Originaldaten vorhersagen? Um die Variable Y vorherzusagen, habe ich (100-1) Variablen am Eingang, und woher weiß ich, welche 40 Variablen ich aus meinen ursprünglichen 100-1-Variablen auswählen soll?

Problem 2: Ich mache eine Umkehrung der PCA und erhalte die Daten von diesen 40 Hauptkomponenten zurück. Die Daten werden jedoch geändert, da ich nur die ersten 40 Komponenten ausgewählt habe. Ist es sinnvoll, auf diese Daten eine Regression anzuwenden?

Ich benutze Matlab / Octave.

munjal007
quelle
Welche Software oder welches Programm verwenden Sie für PCA? In SPSS kann diese Analyse beispielsweise einfach durchgeführt werden, und Sie können die Anzahl der Hauptkomponenten festlegen, die Sie extrahieren möchten, und Sie können sehen, welche in der Ausgabe ausgewählt sind. Die Anwendung der Regression in diesen Daten ist natürlich sinnvoll, da PCA nur zur Dimensionsreduzierung verwendet wird.
Merveceng
1
Wenn Sie ausschließlich an Vorhersagen interessiert sind , sollten Sie sich darüber im Klaren sein, dass Hastie, Tibshirani und Friedman die LASSO-Regression gegenüber der Hauptkomponentenregression empfehlen, da LASSO angeblich dasselbe tut (Verbesserung der Vorhersagefähigkeit durch Reduzierung der Anzahl der Variablen im Modell) besser. LASSO ist heutzutage auch in statistischen Paketen weit verbreitet.
Shadowtalker
@ssdecontrol: Haben Hastie et al. speziell Lasso über Hauptkomponentenregression empfehlen? Die PCR ist viel enger mit der Gratregression verbunden als mit dem Lasso: Sie führt zu keiner Spärlichkeit (dh sie führt im Gegensatz zum Lasso keine Merkmalsauswahl durch), sondern bestraft alle Gewichte, die dem Grat ähnlich sind. Vielleicht empfehlen sie ein elastisches Netz gegenüber der PCR, aber es ist Lasso plus Grat.
Amöbe
1
@amoeba Ich habe gerade das Online-PDF überprüft. Entweder hat sich der Text geändert oder ich habe ihn beim ersten Lesen falsch verstanden. Die Schlussfolgerung ist nicht, dass "Lasso überlegen ist", sondern dass "PCR, PLS und Ridge-Regression dazu neigen, sich ähnlich zu verhalten", und dass Ridge möglicherweise besser ist, weil es kontinuierlich ist. Danke, dass du mich ehrlich hältst!
Shadowtalker

Antworten:

7

Sie wählen keine Teilmenge Ihrer ursprünglichen 99 (100-1) Variablen aus.

Jede der Hauptkomponenten sind lineare Kombinationen aller 99 Prädiktorvariablen (x-Variablen, IVs, ...). Wenn Sie die ersten 40 Hauptkomponenten verwenden, ist jede von ihnen eine Funktion aller 99 ursprünglichen Prädiktorvariablen. (Zumindest bei gewöhnlicher PCA gibt es spärliche / regulierte Versionen wie die SPCA von Zou, Hastie und Tibshirani, die Komponenten liefern, die auf weniger Variablen basieren.)

Betrachten Sie den einfachen Fall zweier positiv korrelierter Variablen, von denen wir der Einfachheit halber annehmen werden, dass sie gleich variabel sind. Dann ist die erste Hauptkomponente ein (gebrochenes) Vielfaches der Summe beider Variablen und die zweite ein (gebrochenes) Vielfaches der Differenz der beiden Variablen; Wenn die beiden nicht gleich variabel sind, wird die erste Hauptkomponente die variablere stärker gewichten, aber es werden immer noch beide beteiligt sein.

yX.

Sie verwenden dann Ihre 40 neuen Variablen so, als wären sie eigenständige Prädiktoren, genau wie bei jedem Problem mit multipler Regression. (In der Praxis gibt es effizientere Möglichkeiten, die Schätzungen zu erhalten, aber lassen wir die rechnerischen Aspekte beiseite und beschäftigen uns nur mit einer Grundidee.)

In Bezug auf Ihre zweite Frage ist nicht klar, was Sie unter "Umkehrung der PCA" verstehen.

X.Z.=X.W.X.n×99W.99×4040y^=Z.β^PC

y^=Z.β^PC=X.W.β^PC=X.β^β^=W.β^PCyX.. Es ist natürlich nicht dasselbe wie die Koeffizienten, die Sie erhalten, wenn Sie eine Regression auf die ursprünglichen X schätzen - es wird durch Ausführen der PCA reguliert; Obwohl Sie auf diese Weise Koeffizienten für jedes Ihrer ursprünglichen X erhalten würden, haben sie nur den df der Anzahl der Komponenten, die Sie angepasst haben.

Siehe auch Wikipedia zur Regression der Hauptkomponenten .

Glen_b - Monica neu starten
quelle