Modellstabilität bei großen , kleinen Problemen


22

Intro:

Ich habe einen Datensatz mit einem klassischen "großen p, kleinen n-Problem". Die Anzahl der verfügbaren Stichproben n = 150, während die Anzahl der möglichen Prädiktoren p = 400 ist. Das Ergebnis ist eine kontinuierliche Variable.

Ich möchte die "wichtigsten" Deskriptoren finden, dh diejenigen, die die besten Kandidaten für die Erklärung des Ergebnisses und die Erstellung einer Theorie sind.

Nach Recherchen zu diesem Thema fand ich heraus, dass LASSO und Elastic Net üblicherweise für den Fall von großen p, kleinen n verwendet werden. Einige meiner Prädiktoren sind stark korreliert und ich möchte ihre Gruppierungen bei der Bewertung der Wichtigkeit beibehalten. Deshalb habe ich mich für Elastic Net entschieden . Ich nehme an, dass ich Absolutwerte von Regressionskoeffizienten als Maß für die Wichtigkeit verwenden kann (bitte korrigieren Sie mich, wenn ich mich irre; mein Datensatz ist standardisiert).

Problem:

Wie kann ich ein stabiles Modell erhalten, da ich nur eine geringe Anzahl von Proben habe?

Mein aktueller Ansatz ist es, die besten Abstimmungsparameter (Lambda und Alpha) in einer Rastersuche in 90% des Datensatzes mit einer 10-fachen Kreuzvalidierung zu finden, wobei der MSE-Score gemittelt wird. Dann trainiere ich das Modell mit den besten Abstimmungsparametern für die gesamten 90% des Datensatzes. Ich bin in der Lage, mein Modell mit dem Quadrat R auf dem Holdout 10% des Datensatzes zu bewerten (was nur 15 Stichproben entspricht).

Wenn ich dieses Verfahren wiederholt durchführe, stelle ich eine große Varianz bei den R-Quadrat-Bewertungen fest. Ebenso variiert die Anzahl von Prädiktoren ungleich Null sowie deren Koeffizienten.

Wie kann ich eine stabilere Einschätzung der Bedeutung von Prädiktoren und eine stabilere Einschätzung der endgültigen Modellleistung erhalten?

Kann ich meine Prozedur wiederholt ausführen, um eine Reihe von Modellen und dann durchschnittliche Regressionskoeffizienten zu erstellen? Oder sollte ich die Anzahl der Vorkommen eines Prädiktors in den Modellen als Wichtigkeitsfaktor verwenden?

Gegenwärtig erhalte ich ungefähr 40-50 Prädiktoren ungleich Null. Sollte ich die Anzahl der Prädiktoren für eine bessere Stabilität härter bestrafen?


1
Vielleicht ist eine regulierte Regression einfach nicht genug? Haben Sie einen maschinellen Lernansatz ausprobiert?

Welche ML-Ansätze für kontinuierliche oder ordinalabhängige Variablen schlagen Sie vor?
dimi

2
Zufällige Gesamtstruktur, SVR ... Für die Featureauswahl können Sie eine relevante Methode (sollte stabiler sein) wie ACE oder Boruta ausprobieren.

Antworten:


11

" Sparse Algorithmen sind nicht stabil: Ein No-Free-Lunch-Theorem "

Ich denke, der Titel sagt viel aus, wie Sie betont haben.

[...] Ein spärlicher Algorithmus kann nicht eindeutige optimale Lösungen haben und ist daher schlecht gestellt

Schauen Sie sich das randomisierte Lasso und den Vortrag von Peter Buhlmann an .

Aktualisieren:

Ich fand es einfacher, diesem Artikel zu folgen, als dem von Meinshausen und Buhlmann mit dem Titel "Stabilitätsauswahl".

pn

  1. In dem Fall, dass mehrere korrelierte Variablen existieren, wählt Lasso nur eine oder mehrere aus, was zu der Instabilität führt, über die Sie sprechen
  2. n

Die Hauptidee für das zufällige Lasso, das beide Nachteile des Lassos bewältigen kann, ist die folgende

n

Bootstrap-Beispiele werden erstellt, um mehrere Datensätze zu simulieren. Die endgültigen Koeffizienten werden durch Mitteln über die Ergebnisse jeder Bootstrap-Stichprobe erhalten.

Es wäre großartig, wenn jemand diesen Algorithmus in den Antworten näher erläutern könnte.


1
Nette Links (+1).
Bogenschütze

Vielen Dank für die Bemerkungen. Ich habe auch randomisiertes Lasso in Betracht gezogen, aber würde es im Fall von Kollinearität passen ?
dimi

2
Was passiert unter ungefährer Kollinearität zwischen den erklärenden Variablen? Beim herkömmlichen Vorwärtssuchalgorithmus in der Regressionsanalyse sehen wir uns häufig mit der Situation konfrontiert, dass zwei Variablen x1 und x2 eine ähnliche Aussagekraft haben. Wenn sich x1 im Modell befindet, muss x2 nicht eingeschlossen werden. Wenn sich x2 im Modell befindet, muss x1 nicht eingeschlossen werden. Wenn ich Ihre Vorgehensweise richtig verstehe, werden Sie in der Regel x1-mal die Hälfte und x2-mal die Hälfte einschließen, was zu Stabilitätswahrscheinlichkeiten von jeweils etwa 50% führt. In diesem Fall können Sie fälschlicherweise den Schluss ziehen, dass keine der beiden Variablen benötigt wird.
Dimi

Ich stelle mir vor, ich kann in diesem Fall auch ein randomisiertes elastisches Netz verwenden.
Dimi

Ich habe einen weiteren Link hinzugefügt, der Ihrer Meinung nach Ihre Frage besser beantwortet.
Pardis

6

Mein aktueller Ansatz ist es, die besten Abstimmungsparameter (Lambda und Alpha) in einer Rastersuche in 90% des Datensatzes mit einer 10-fachen Kreuzvalidierung zu finden, wobei der MSE-Score gemittelt wird. Dann trainiere ich das Modell mit den besten Abstimmungsparametern für die gesamten 90% des Datensatzes. Ich bin in der Lage, mein Modell mit dem Quadrat R auf dem Holdout 10% des Datensatzes zu bewerten (was nur 15 Stichproben entspricht).

Wie stabil sind die Stimmparameter?

Sehen Sie große Unterschiede zwischen der Anpassungsgüte (z. B. MSE der Kreuzvalidierung des optimalen Parameters) und der 10% igen unabhängigen Testleistung?

Das wäre ein Symptom für Überanpassung:

MSE=f(Grichdpeinreinmeters)MSE=f(Grichdpeinreinmeters)

Kann ich meine Prozedur wiederholt ausführen, um eine Reihe von Modellen und dann durchschnittliche Regressionskoeffizienten zu erstellen? Oder sollte ich die Anzahl der Vorkommen eines Prädiktors in den Modellen als Wichtigkeitsfaktor verwenden?

Es gibt verschiedene Möglichkeiten, solche aggregierten Modelle zu erstellen:

  • Lineare Modelle können durch Mitteln der Koeffizienten gemittelt werden
  • mm

Suchbegriffe wären "aggregierte Modelle", "Bootstrap-Aggregation", "Absacken".

Nebengedanke: Einige Datentypen haben erwartete und interpretierbare Kollinearität, die dazu führen kann, dass Variable Selectio zwischen mehr oder weniger gleichen Lösungen "springt".


3

Es gibt keinen Ausweg. Wie einige sagten, sind Modelle von Natur aus instabil (andernfalls wären keine Statistiken erforderlich).

Aber die Instabilität selbst bringt Informationen. Anstatt es loszuwerden, versuchte ich es zu analysieren.

Ich führe viele Male Kreuzvalidierungssimulationen durch und erhalte dann die Koeffizienten für die am besten ausgewählten Parameter in jedem Lauf und setze sie zusammen.

λα

Dann extrahiere ich die Regressionskoeffizienten für jedes Parameterpaar und dies gibt mir eine Werteverteilung für jeden Parameter. Auf diese Weise kann ich den Mittelwert / Medianwert verwenden, um die Stärke des Prädiktors und seine Standardabweichung / IQR zu beschreiben, um seine Variabilität, dh seine Stabilität, zu beschreiben.

Ein sehr stabiler Prädiktor bedeutet, dass Sie erwarten können, dass sein Effekt auch bei neuen Daten ähnlich ist. Ein Prädiktor, der selbst in Ihren Daten instabil ist, wäre wahrscheinlich selbst mit neuen Daten sehr instabil.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.