Verwendung der Hauptkomponentenanalyse (PCA) zur Merkmalsauswahl

54

Ich bin neu in der Featureauswahl und habe mich gefragt, wie Sie PCA für die Featureauswahl verwenden würden. Berechnet PCA für jede Eingabevariable eine relative Bewertung, mit der Sie nichtinformative Eingabevariablen herausfiltern können? Grundsätzlich möchte ich in der Lage sein, die ursprünglichen Merkmale in den Daten nach Varianz oder Menge der enthaltenen Informationen zu ordnen.

Michael
quelle

Antworten:

75

Die Grundidee bei der Verwendung von PCA als Werkzeug für die Merkmalsauswahl besteht darin, Variablen entsprechend der Größe (vom größten zum kleinsten Betrag) ihrer Koeffizienten ( Belastungen ) auszuwählen . Sie erinnern sich vielleicht, dass PCA versucht, (mehr oder weniger korrelierte) Variablen durch nicht korrelierte lineare Kombinationen (Projektionen) der ursprünglichen Variablen zu ersetzen . Lassen Sie uns ignorieren, wie Sie ein optimales für das jeweilige Problem auswählen . Diese Hauptkomponenten werden durch ihre erklärte Varianz nach Wichtigkeit eingestuft, und jede Variable trägt mit unterschiedlichem Ausmaß zu jeder Komponente bei. Die Verwendung der größten Varianzkriterien würde einer Merkmalsextraktion ähnelnk < p k k j < p j p jpk<pkk , wobei die Hauptkomponente anstelle der ursprünglichen Variablen als neue Features verwendet wird. Wir können jedoch beschließen, nur die erste Komponente beizubehalten und die Variablen mit dem höchsten absoluten Koeffizienten auszuwählen . Die Zahl kann auf dem Anteil der Anzahl von Variablen (z. B. nur die oberen 10% der Variablen) oder einem festen Grenzwert (z. B. unter Berücksichtigung eines Schwellenwerts für die normalisierten Koeffizienten) basieren . Dieser Ansatz ähnelt dem Lasso- Operator bei der bestraften Regression (oder PLS- Regression). Weder der Wert von noch die Anzahl der beizubehaltenden Komponenten sind jedoch naheliegende Optionen.j<pjpj

Das Problem bei der Verwendung von PCA besteht darin, dass (1) Messungen von allen ursprünglichen Variablen in der Projektion auf den unteren dimensionalen Raum verwendet werden, (2) nur lineare Beziehungen berücksichtigt werden und (3) auch auf PCA oder SVD basierende Methoden Berücksichtigen Sie als univariate Screening-Methoden (t-Test, Korrelation usw.) nicht die potenzielle multivariate Natur der Datenstruktur (z. B. Interaktion höherer Ordnung zwischen Variablen).

In Bezug auf Punkt 1 wurden einige aufwendigere Screening-Methoden vorgeschlagen, z. B. die Hauptmerkmalanalyse oder die schrittweise Methode, wie sie in Genexpressionsstudien für die " Gen-Rasur " verwendet wurden. Außerdem kann eine spärliche PCA verwendet werden, um eine Dimensionsreduzierung und eine Variablenauswahl basierend auf den resultierenden variablen Ladungen durchzuführen. Über Punkt 2 ist es möglich, Kernel-PCA (unter Verwendung des Kernel-Tricks ) zu verwenden, wenn man nichtlineare Beziehungen in einen Raum mit niedrigeren Dimensionen einbetten muss. Entscheidungsbäume oder besser der Random-Forest- Algorithmus sind wahrscheinlich besser in der Lage, Punkt 3 zu lösen. Letzterer ermöglicht es, Gini- oder permutationsbasierte Maße mit variabler Wichtigkeit abzuleiten .

Ein letzter Punkt: Wenn Sie vor dem Anwenden eines Klassifizierungs- oder Regressionsmodells eine Featureauswahl durchführen möchten, müssen Sie den gesamten Prozess einer Kreuzvalidierung unterziehen (siehe §7.10.2 der Elemente des statistischen Lernens oder Ambroise und McLachlan, 2002 ).


Da Sie an einer R-Lösung interessiert zu sein scheinen, empfehle ich einen Blick auf das Caret- Paket, das viele nützliche Funktionen für die Datenvorverarbeitung und die Variablenauswahl in einem Klassifizierungs- oder Regressionskontext enthält.

chl
quelle
1
Hier gibt es viele gute Informationen, aber ich bin überrascht, dass EFA nicht erwähnt wird. Ich halte die Faktorenanalyse für angemessen, um die Auswahl von Merkmalen / die Reduzierung der Dimensionalität zu ermöglichen, und PCA ist eigentlich nur für die Repräsentation Ihrer Daten geeignet, sodass die Variablen nicht korreliert sind. Ich denke, Sie sind anderer Meinung?
gung - Reinstate Monica
3
np
Es ist eindeutig ein schwieriges, differenziertes Thema. Da Sie viel mehr darüber wissen als ich, hat mich Ihre Meinung interessiert. +1, übrigens
gung - Reinstate Monica
2
Zwei Kommentare. Zunächst erwähnen Sie kPCA als eine mögliche Lösung für Ihren Punkt 2. Aber wie kann kPCA für die Merkmalsauswahl verwendet werden, wenn die Eigenvektoren / Ladungen dort nicht verfügbar sind? Darüber gibt es eine zusätzliche Frage, und ich habe dort argumentiert, dass dies nicht möglich ist . Zweitens könnte sich Ihr vorletzter Absatz erheblich verbessern, wenn Sie LASSO als bevorzugte (?) Methode für die Featureauswahl in der Regression erwähnen. Dieser Thread ist nach wie vor sehr beliebt und viele Fragen sind als Duplikate geschlossen. Daher ist es wichtig, dass Ihre Antwort so gut wie möglich ist!
Amöbe sagt Reinstate Monica
@chl, danke für deine informative Antwort. Sie sprechen über "entscheiden, nur die erste Komponente zu behalten". Warum nur die erste Komponente? Mit einer Komponente ist es einfach, Features / Variablen zu klassifizieren. Wie würden Sie das mit mehreren Komponenten machen, sagen wir 3? Wie ordnen Sie Variablen in Komponenten ein? Ich nehme an, Sie könnten jede Hauptkomponente durchgehen und das Feature mit der größten Auslastung aus dieser Hauptkomponente aus dem Satz von Features auswählen, die noch nicht ausgewählt wurden. Diese können wiederum durch eine Zahl (j) oder durch eine Schwelle von normalisierten Koeffizienten ausgewählt werden. Sind Sie einverstanden?
Sother
6

Ausgehend von einer Menge von N Merkmalen ergibt eine PCA-Analyse (1) die lineare Kombination der Merkmale mit der höchsten Varianz (erste PCA-Komponente), (2) die lineare Kombination mit der höchsten Varianz im Unterraum orthogonal zur ersten PCA-Komponente usw. (Unter der Bedingung, dass die Koeffizienten der Kombination einen Vektor mit Einheitsnorm bilden.) Ob die lineare Kombination mit maximaler Varianz ein "gutes" Merkmal ist, hängt wirklich davon ab, was Sie vorhersagen möchten. Aus diesem Grund würde ich sagen, dass eine PCA-Komponente und ein "gutes" Merkmal (im Allgemeinen) zwei nicht verwandte Begriffe sind.

Mepuzza
quelle
(-1) Ich verstehe nicht, wie dies die ursprüngliche Frage überhaupt beantwortet.
Amöbe sagt Reinstate Monica
-1

Sie können Features nicht nach ihrer Varianz ordnen, da die in PCA verwendete Varianz im Grunde genommen eine mehrdimensionale Einheit ist. Sie können Features nur sortieren, indem Sie die Varianz in eine von Ihnen gewählte Richtung projizieren (dies ist normalerweise das erste Hauptelement). Ob ein Feature also eine größere Varianz aufweist als ein anderes, hängt davon ab, wie Sie Ihre Projektionsrichtung wählen.

James LI
quelle
2
Das verstehe ich nicht: jede ursprüngliche Funktion eine Varianz hat, und so kann man mit Sicherheit kann „ um Merkmale entsprechend ihrer Varianz“. Außerdem verstehe ich nicht, wie man sie anordnen kann, "indem man die Varianz in eine bestimmte Richtung projiziert, die man wählt". Was meinst du damit?
Amöbe sagt Reinstate Monica
Sie können in der Tat Varianz verwenden, um Features zu bestellen, aber das hat nichts mit PCA zu tun, das alle Features zusammen behandelt.
James LI
Informationen zur Projektion: Wenn Sie n Features haben, ist ein Richtungsvektor nur ein Einheitsvektor im n-dimensionalen Raum. Die Projektion Ihrer m Instanzvektoren ist das Skalierungsprodukt des Instanzvektors mit diesem Einheitsvektor, was zu einem dimensionalen Vektor führt. Die Varianz dieses m-dimensionalen Vektors ist die "Projektion" der Varianz des Datensatzes in die gewählte Richtung.
James LI
1
-1. Ich denke, jeder einzelne der drei Sätze in Ihrer Antwort ist entweder falsch oder so unklar, dass er irreführend ist. Ich bin mit allem einverstanden, was Sie in den Kommentaren geschrieben haben, aber ich habe keine Ahnung, wie Ihre Antwort dahingehend interpretiert werden kann. "Sie können Features nicht nach ihrer Varianz ordnen" - ?? "Sie können Merkmale nur durch die Projektion der Varianz in eine bestimmte Richtung bestellen" - ?? "ob ein Feature mehr Varianz hat ... hängt davon ab ..." - ?? Das ist alles falsch.
Amöbe sagt Reinstate Monica
2
Mir war nicht bewusst, dass diese Frage vor so langer Zeit gestellt wurde; und ich stimme den meisten dieser Antworten zu. Mein Punkt ist: PCA ist nicht für die Funktionsauswahl geeignet. Nur will das hier niemand direkt sagen.
James LI