Eine einführung in multivariate adaptive regressionssplines
Wenn die Beziehung zwischen einer Reihe von Prädiktorvariablen und einer Antwortvariablen linear ist, können wir häufig die lineare Regression verwenden, die davon ausgeht, dass die Beziehung zwischen einer bestimmten Prädiktorvariablen und einer Antwortvariablen die Form annimmt:
Y = β 0 + β 1 X + ε
In der Praxis kann die Beziehung zwischen Variablen jedoch tatsächlich nichtlinear sein, und der Versuch, eine lineare Regression zu verwenden, kann zu einem schlecht passenden Modell führen.
Eine Möglichkeit, eine nichtlineare Beziehung zwischen dem Prädiktor und der Antwortvariablen zu berücksichtigen, ist die Verwendung einer polynomialen Regression , die folgende Form annimmt:
Y = β 0 + β 1 X + β 2 X 2 + … + β h
In dieser Gleichung wird h als „Grad“ des Polynoms bezeichnet. Wenn wir den Wert von h erhöhen, wird das Modell flexibler und kann sich an nichtlineare Daten anpassen.
Die polynomielle Regression hat jedoch einige Nachteile:
1. Bei der polynomialen Regression kann es leicht zu einer Überanpassung eines Datensatzes kommen, wenn der Grad h zu groß gewählt wird. In der Praxis ist h selten größer als 3 oder 4, da es jenseits dieses Punktes einfach dem Rauschen eines Trainingssatzes entspricht und sich nicht gut auf unsichtbare Daten verallgemeinern lässt.
2. Die polynomielle Regression erlegt dem gesamten Datensatz eine globale Funktion auf, die nicht immer präzise ist.
Eine Alternative zur polynomialen Regression sind multivariate adaptive Regressionssplines .
Die Grundidee
Multivariate adaptive Regressions-Splines funktionieren wie folgt:
1. Teilen Sie einen Datensatz in k Teile.
Zunächst teilen wir einen Datensatz in k verschiedene Elemente auf. Die Punkte, an denen wir den Datensatz teilen, werden Knoten genannt.
Wir identifizieren Knoten, indem wir jeden Punkt für jeden Prädiktor als potenziellen Knoten bewerten und unter Verwendung der Kandidatenmerkmale ein lineares Regressionsmodell erstellen. Der Punkt, der die meisten Fehler im Modell reduzieren kann, ist der Knoten.
Sobald wir den ersten Knoten identifiziert haben, wiederholen wir den Vorgang, um weitere Knoten zu finden. Sie können so viele Knoten finden, wie Sie zunächst für sinnvoll halten.
2. Passen Sie an jedes Teil eine Regressionsfunktion an, um eine Scharnierfunktion zu bilden.
Sobald wir die Knoten ausgewählt und ein Regressionsmodell an jedes Element im Datensatz angepasst haben, erhalten wir eine sogenannte Scharnierfunktion , die mit h(xa) bezeichnet wird, wobei a der Schwellenwert für den Wert bzw. die Werte ist.
Die Scharnierfunktion für ein Ein-Knoten-Modell könnte beispielsweise wie folgt aussehen:
- y = β 0 + β 1 (4,3 – x), wenn x < 4,3
- y = β 0 + β 1 (x – 4,3), wenn x > 4,3
In diesem Fall wurde festgestellt, dass die Wahl von 4,3 als Schwellenwert die maximale Fehlerreduzierung unter allen möglichen Schwellenwerten ermöglichte. Anschließend passen wir ein anderes Regressionsmodell an Werte unter 4,3 im Vergleich zu Werten über 4,3 an.
Eine Scharnierfunktion mit zwei Knoten kann wie folgt aussehen:
- y = β 0 + β 1 (4,3 – x), wenn x < 4,3
- y = β 0 + β 1 (x – 4,3), wenn x > 4,3 & x < 6,7
- y = β 0 + β 1 (6,7 – x), wenn x > 6,7
In diesem Fall wurde festgestellt, dass die Wahl von 4,3 und 6,7 als Schwellenwerte die maximale Fehlerreduzierung unter allen möglichen Schwellenwerten ermöglichte. Anschließend passen wir ein Regressionsmodell an Werte unter 4,3 an, ein anderes Regressionsmodell an Werte zwischen 4,3 und 6,7 und ein weiteres Regressionsmodell an Werte über 4,3.
3. Wählen Sie k basierend auf der k-fachen Kreuzvalidierung.
Nachdem wir schließlich mehrere unterschiedliche Modelle mit einer unterschiedlichen Anzahl von Knoten für jedes Modell angepasst haben, können wir eine k-fache Kreuzvalidierung durchführen, um das Modell zu identifizieren, das den niedrigsten mittleren quadratischen Testfehler (MSE) erzeugt.
Das Modell mit dem niedrigsten MSE-Test wird als das Modell ausgewählt, das sich am besten auf die neuen Daten verallgemeinern lässt.
Vorteile und Nachteile
Multivariate adaptive Regressionssplines haben die folgenden Vor- und Nachteile:
Vorteile :
- Es kann sowohl für Regressions- als auch für Klassifizierungsprobleme verwendet werden.
- Dies funktioniert gut bei großen Datensätzen.
- Es bietet eine schnelle Berechnung.
- Dies erfordert keine Standardisierung der Prädiktorvariablen.
Die Nachteile:
- Es ist tendenziell nicht so leistungsfähig wie nichtlineare Methoden wie Random Forests und Gradient Boosting-Maschinen.
So passen Sie MARS-Modelle in R und Python an
Die folgenden Tutorials bieten Schritt-für-Schritt-Beispiele für die Anpassung multivariater adaptiver Regressionssplines (MARS) in R und Python:
Multivariate adaptive Regressions-Splines in R
Multivariate adaptive Regressions-Splines in Python