Een inleiding tot multivariate adaptieve regressie-splines
Wanneer de relatie tussen een reeks voorspellende variabelen en een responsvariabele lineair is, kunnen we vaak lineaire regressie gebruiken, waarbij wordt aangenomen dat de relatie tussen een bepaalde voorspellende variabele en een responsvariabele de vorm aanneemt:
Y = β 0 + β 1 X + ε
Maar in de praktijk kan de relatie tussen variabelen feitelijk niet-lineair zijn en kan een poging om lineaire regressie te gebruiken resulteren in een slecht passend model.
Eén manier om rekening te houden met een niet-lineaire relatie tussen de voorspeller en de responsvariabele is door polynomiale regressie te gebruiken, die de vorm aanneemt:
Y = β 0 + β 1 X + β 2 X 2 + … + β h
In deze vergelijking wordt h de “graad” van de polynoom genoemd. Naarmate we de waarde van h verhogen, wordt het model flexibeler en kan het zich aanpassen aan niet-lineaire gegevens.
Polynomiale regressie heeft echter enkele nadelen:
1. Polynomiale regressie kan gemakkelijk een dataset overbelasten als de graad , h , te groot wordt gekozen. In de praktijk is h zelden groter dan 3 of 4, omdat het vanaf dat punt eenvoudigweg overeenkomt met de ruis van een trainingsset en niet goed generaliseert naar onzichtbare gegevens.
2. Polynomiale regressie legt een globale functie op aan de gehele dataset, die niet altijd nauwkeurig is.
Een alternatief voor polynomiale regressie zijn multivariate adaptieve regressiesplines .
Het basisidee
Multivariate adaptieve regressiesplines werken als volgt:
1. Verdeel een dataset in k stukken.
Eerst verdelen we een dataset in k verschillende elementen. De punten waar we de dataset verdelen, worden knooppunten genoemd.
We identificeren knooppunten door elk punt voor elke voorspeller te evalueren als een potentieel knooppunt en een lineair regressiemodel te creëren met behulp van de kandidaat-kenmerken. Het punt dat de meeste fouten in het model kan verminderen, is het knooppunt.
Zodra we het eerste knooppunt hebben geïdentificeerd, herhalen we het proces om aanvullende knooppunten te vinden. U kunt zoveel knooppunten vinden als u denkt dat redelijk is om mee te beginnen.
2. Pas een regressiefunctie aan elk onderdeel toe om een scharnierfunctie te vormen.
Zodra we de knooppunten hebben gekozen en een regressiemodel voor elk element in de dataset hebben aangepast, krijgen we een zogenaamde scharnierfunctie , aangegeven met h(xa) , waarbij a de drempelwaarde(n) is.
De scharnierfunctie voor een model met één knooppunt kan bijvoorbeeld zijn:
- y = β 0 + β 1 (4,3 – x) als x < 4,3
- y = β 0 + β 1 (x – 4,3) als x > 4,3
In dit geval werd vastgesteld dat het kiezen van 4,3 als drempelwaarde de maximale foutreductie onder alle mogelijke drempelwaarden mogelijk maakte. Vervolgens passen we een ander regressiemodel toe op waarden onder de 4,3 versus waarden boven de 4,3.
Een scharnierfunctie met twee knooppunten kan er als volgt uitzien:
- y = β 0 + β 1 (4,3 – x) als x < 4,3
- y = β 0 + β 1 (x – 4,3) als x > 4,3 & x < 6,7
- y = β 0 + β 1 (6,7 – x) als x > 6,7
In dit geval werd vastgesteld dat het kiezen van 4,3 en 6,7 als drempelwaarden de maximale foutreductie onder alle mogelijke drempelwaarden mogelijk maakte. Vervolgens passen we het ene regressiemodel aan op waarden onder de 4,3, een ander regressiemodel op waarden tussen de 4,3 en 6,7, en een ander regressiemodel op waarden boven de 4,3.
3. Kies k op basis van k-voudige kruisvalidatie.
Ten slotte kunnen we, zodra we verschillende modellen hebben aangepast met een verschillend aantal knooppunten voor elk model, k-voudige kruisvalidatie uitvoeren om het model te identificeren dat de laagste testgemiddelde kwadratische fout (MSE) produceert.
Het model met de laagste MSE-test wordt gekozen als het model dat het beste generaliseert naar de nieuwe gegevens.
Voor-en nadelen
Multivariate adaptieve regressiesplines hebben de volgende voor- en nadelen:
Voordelen :
- Het kan worden gebruikt voor zowel regressie- als classificatieproblemen .
- Dit werkt goed op grote datasets.
- Het biedt snelle berekeningen.
- Hiervoor hoeft u de voorspellende variabelen niet te standaardiseren.
De nadelen:
- Het heeft de neiging om niet zo goed te presteren als niet-lineaire methoden zoals willekeurige bossen en gradiëntverhogende machines.
Hoe MARS-modellen in R & Python te passen
De volgende tutorials bieden stapsgewijze voorbeelden van hoe u multivariate adaptieve regressiesplines (MARS) in R en Python kunt passen:
Multivariate adaptieve regressiesplines in R
Multivariate adaptieve regressiesplines in Python