Ich bin ein Software-Ingenieur, der am maschinellen Lernen arbeitet. Nach meinem Verständnis bilden lineare Regression (wie OLS) und lineare Klassifikation (wie logistische Regression und SVM) eine Vorhersage auf der Grundlage eines inneren Produkts zwischen trainierten Koeffizienten und Merkmalsvariablen :
Meine Frage lautet: Nachdem das Modell trainiert wurde ( nachdem die Koeffizienten berechnet wurden), ist es der Fall, dass die Koeffizienten für Merkmalsvariablen größer sind, die für das Modell wichtiger sind, um eine genauere Vorhersage zu treffen?
Mit anderen Worten, ich frage mich, ob die relativen Größen der Koeffizienten für die Merkmalsauswahl verwendet werden können, indem einfach die Variablen nach Koeffizientenwert sortiert und dann die Merkmale mit den höchsten Koeffizienten ausgewählt werden. Wenn dieser Ansatz gültig ist, warum wird er dann nicht für die Featureauswahl angegeben (zusammen mit Wrapper- und Filtermethoden usw.)?
Der Grund, warum ich das frage, ist, dass ich auf eine Diskussion über L1 vs. L2 Regularisierung gestoßen bin . Es gibt einen Klappentext, der besagt:
Die eingebaute Merkmalsauswahl wird häufig als nützliche Eigenschaft der L1-Norm erwähnt, was die L2-Norm nicht tut. Dies ist eigentlich ein Ergebnis der L1-Norm, die dazu neigt, spärliche Koeffizienten zu erzeugen (siehe unten). Angenommen, das Modell hat 100 Koeffizienten, aber nur 10 von ihnen haben Koeffizienten ungleich Null. Dies bedeutet effektiv, dass "die anderen 90 Prädiktoren bei der Vorhersage der Zielwerte unbrauchbar sind".
Wenn man zwischen den Zeilen liest, würde ich vermuten, dass die Merkmalsvariable mit diesem Koeffizienten eine geringe Vorhersagekraft haben muss, wenn ein Koeffizient nahe bei 0 liegt.
BEARBEITEN : Ich wende auch Z-Skalierung auf meine numerischen Variablen an.
quelle
Antworten:
Überhaupt nicht. Die Größe der Koeffizienten hängt direkt von den für die Variablen gewählten Maßstäben ab, was eine etwas willkürliche Modellierungsentscheidung ist.
Betrachten Sie dazu ein lineares Regressionsmodell, das die Blütenblattbreite einer Iris (in Zentimetern) anhand ihrer Blütenblattlänge (in Zentimetern) vorhersagt:
Unser Modell erreicht einen angepassten R ^ 2-Wert von 0,9266 und weist der Variablen Petal.Length den Koeffizientenwert 0,415755 zu.
Die Wahl, Petal.Length in Zentimetern zu definieren, war jedoch ziemlich willkürlich, und wir hätten stattdessen die Variable in Metern definieren können:
Dies hat natürlich keine wirklichen Auswirkungen auf das angepasste Modell. Wir haben Petal.Length.Meters (41.57554) einfach einen 100-fach größeren Koeffizienten zugewiesen als Petal.Length (0.415755). Alle anderen Eigenschaften des Modells (angepasste R ^ 2, t-Statistiken, p-Werte usw.) sind identisch.
Im Allgemeinen werden beim Anpassen von regulierten linearen Modellen zunächst Variablen normalisiert (z. B. mit Mittelwert 0 und Einheitsvarianz), um zu vermeiden, dass einige Variablen aufgrund der ausgewählten Skalen anderen vorgezogen werden.
Angenommen, normalisierte Daten
Auch wenn Sie alle Variablen normalisiert haben, sind Variablen mit höheren Koeffizienten für Vorhersagen möglicherweise nicht so nützlich, da die unabhängigen Variablen nur selten festgelegt werden (geringe Varianz). Betrachten Sie als Beispiel einen Datensatz, bei dem die abhängige Variable Z und die unabhängigen Variablen X und Y Binärwerte annehmen
Konstruktionsbedingt ist der Koeffizient für Y ungefähr doppelt so groß wie der Koeffizient für X, wenn beide verwendet werden, um Z über eine lineare Regression vorherzusagen:
Dennoch erklärt X mehr die Varianz in Z als in Y (das lineare Regressionsmodell, das Z mit X vorhersagt, hat einen R ^ 2-Wert von 0,2065, während das lineare Regressionsmodell, das Z mit Y vorhersagt, einen R ^ 2-Wert von 0,0511 hat):
gegen:
Der Fall der Multi-Kollinearität
Ein dritter Fall, in dem große Koeffizientenwerte täuschen könnten, wäre der Fall einer signifikanten Multi-Kollinearität zwischen Variablen. Betrachten Sie als Beispiel einen Datensatz, bei dem X und Y stark korreliert sind, W jedoch nicht stark mit den beiden anderen korreliert ist. Wir versuchen, Z vorherzusagen:
Diese Variablen haben so ziemlich den gleichen Mittelwert (0) und die gleiche Varianz (~ 1), und die lineare Regression weist X (ungefähr 15) und Y (ungefähr -16) viel höhere Koeffizientenwerte zu als W (ungefähr -16). ungefähr 2):
Dennoch ist unter den drei Variablen im Modell W die wichtigste: Wenn Sie W aus dem vollständigen Modell entfernen, sinkt der R ^ 2-Wert von 0,833 auf 0,166, während der R ^ 2-Wert praktisch unverändert bleibt, wenn Sie X oder Y fallen lassen.
quelle
"Feature-Wichtigkeit" ist ein sehr schlüpfriges Konzept, selbst wenn alle Prädiktoren auf eine gemeinsame Skala eingestellt wurden (was in vielen praktischen Anwendungen, die kategoriale Variablen oder verzerrte Verteilungen beinhalten, ein nicht triviales Problem darstellt). Wenn Sie also die in der Antwort von @josliber angegebenen Skalierungsprobleme oder das von @dsaxton aufgeworfene Problem der Varianz niedriger Prädiktoren vermeiden, haben Sie immer noch zusätzliche Probleme.
Ein nützlicheres Maß für die Merkmalsbedeutung kann beispielsweise das Verhältnis seines Koeffizienten zum geschätzten Fehler seines Koeffizienten sein. Ein hoher Koeffizient mit einem großen geschätzten Fehler wäre für Vorhersagen nicht unbedingt hilfreich. Die Koeffizientengröße allein ist also selbst in der vorskalierten Situation kein guter Hinweis auf "Wichtigkeit".
Dennoch kann ein Prädiktor wichtig sein, selbst wenn das Verhältnis von Größe zu Fehler seines Koeffizienten niedrig ist (dh er ist nicht "statistisch signifikant"). Lineare Modelle bieten die Möglichkeit, mehrere Prädiktorvariablen gleichzeitig zu berücksichtigen. Durch die Aufnahme eines "nicht signifikanten" Prädiktors in ein Modell kann die Gesamtleistung der kombinierten Sammlung von Prädiktoren verbessert werden.
Darüber hinaus sind Versuche, "wichtige" Prädiktorvariablen auszuwählen, in der Regel stark von der jeweiligen Datenstichprobe abhängig und erstrecken sich häufig nicht gut auf weitere Stichproben, insbesondere wenn die Variablen korreliert sind. Sie können sich davon überzeugen, indem Sie die Funktionsauswahl für mehrere Bootstrap-Beispiele desselben Datensatzes wiederholen. Frank Harrell zeigt in dieser Antwort , wie sein
rms
Paket in R für die Rangfolge der wichtigen Funktionen verwendet wird, und stellt in dieser Antwort fest, wie der Bootstrap verwendet wird, um Konfidenzintervalle für die Ränge zu ermitteln. Bootstrapping kann als Vorsichtsmaßnahme für diejenigen dienen, die der Funktion "Feature-Wichtigkeit" zu viel Bedeutung beimessen.Diese Frage von vor fast drei Jahren, auf die @amoeba hingewiesen hat, geht auch ausführlich auf Schwierigkeiten mit Merkmalsbedeutung in mehreren Regressionsmodellen ein.
quelle
Nur um die vorherige Antwort zu ergänzen, erfasst der Koeffizient selbst nicht, wie viel Variabilität ein Prädiktor aufweist, was einen großen Einfluss darauf hat, wie nützlich er für Prognosen ist. Betrachten Sie das einfache Modell
quelle