Een inleiding tot polynomiale regressie
Als we een dataset hebben met een voorspellende variabele en een responsvariabele , gebruiken we vaakeenvoudige lineaire regressie om de relatie tussen de twee variabelen te kwantificeren.
Eenvoudige lineaire regressie (SLR) gaat er echter van uit dat de relatie tussen de voorspeller en de responsvariabele lineair is. Geschreven in wiskundige notatie, gaat SLR ervan uit dat de relatie de vorm aanneemt:
Y = β 0 + β 1 X + ε
Maar in de praktijk kan de relatie tussen de twee 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, kan het model niet-lineaire relaties beter accommoderen, maar in de praktijk kiezen we er zelden voor dat h groter is dan 3 of 4. Voorbij dit punt wordt het model te flexibel en past het de gegevens te veel aan.
Technische opmerkingen
- Hoewel polynomiale regressie geschikt is voor niet-lineaire gegevens, wordt het nog steeds beschouwd als een vorm van lineaire regressie omdat het lineair is in de coëfficiënten β1 , β2 , …, βh .
- Polynomiale regressie kan ook worden gebruikt voor meerdere voorspellende variabelen, maar hierdoor ontstaan interactietermen in het model, wat het model extreem complex kan maken als meerdere voorspellende variabelen worden gebruikt.
Wanneer polynomiale regressie gebruiken?
We gebruiken polynomiale regressie wanneer de relatie tussen een voorspeller en een responsvariabele niet-lineair is.
Er zijn drie veelgebruikte manieren om een niet-lineaire relatie te detecteren:
1. Maak een spreidingsdiagram.
De eenvoudigste manier om een niet-lineair verband te detecteren is door een spreidingsdiagram te maken van de responsvariabele versus de voorspellende variabele.
Als we bijvoorbeeld het volgende spreidingsdiagram maken, kunnen we zien dat de relatie tussen de twee variabelen ongeveer lineair is, dus een eenvoudige lineaire regressie zou waarschijnlijk prima werken op deze gegevens.

Als ons spreidingsdiagram er echter uitziet als een van de volgende grafieken, kunnen we zien dat de relatie niet-lineair is en dat een polynomiale regressie daarom een goed idee zou zijn:


2. Maak een grafiek van de residuen tegen de gepaste grafiek.
Een andere manier om niet-lineariteit te detecteren is door een eenvoudig lineair regressiemodel aan de gegevens te koppelen en vervolgens een grafiek van de residuen tegen de aangepaste waarden te maken.
Als de plotresiduen ongeveer gelijkmatig rond nul zijn verdeeld zonder duidelijke trend, is eenvoudige lineaire regressie waarschijnlijk voldoende.
Als de residuen echter een niet-lineaire trend in de grafiek vertonen, geeft dit aan dat de relatie tussen de voorspeller en de respons waarschijnlijk niet-lineair is.
3. Bereken de R 2 van het model.
De R 2- waarde van een regressiemodel vertelt u het percentage variatie in de responsvariabele dat kan worden verklaard door de voorspellende variabele(n).
Als je een eenvoudig lineair regressiemodel in een dataset past en de R 2 -waarde van het model vrij laag is, kan dit erop wijzen dat de relatie tussen de voorspeller en de responsvariabele complexer is dan een eenvoudige lineaire relatie.
Dit kan een teken zijn dat u in plaats daarvan polynomiale regressie moet proberen.
Gerelateerd: Wat is een goede R-kwadraatwaarde?
Hoe de graad van de polynoom te kiezen
Een polynoomregressiemodel heeft de volgende vorm:
Y = β 0 + β 1 X + β 2 X 2 + … + β h
In deze vergelijking is h de graad van de polynoom.
Maar hoe kies je een waarde voor h ?
In de praktijk passen we verschillende modellen aan met verschillende waarden van h en voeren we k-voudige kruisvalidatie uit om te bepalen welk model de laagste testgemiddelde kwadratische fout (MSE) oplevert.
We kunnen bijvoorbeeld de volgende modellen aan een bepaalde dataset aanpassen:
- Y = β0 + β1
- Y = β 0 + β 1 X + β 2 X 2
- Y = β0 + β1X + β2X2 + β3X3
- Y = β 0 + β 1 X + β 2 X 2 + β 3 X 3 + β 4 X 4
We kunnen vervolgens k-voudige kruisvalidatie gebruiken om de MSE-test voor elk model te berekenen, die ons zal vertellen hoe goed elk model presteert op basis van gegevens die het nog nooit eerder heeft gezien.
De bias-variantie-afweging van polynomiale regressie
Er is een afweging tussen bias en variantie bij het gebruik van polynomiale regressie. Naarmate we de graad van de polynoom vergroten, neemt de bias af (naarmate het model flexibeler wordt), maar neemt de variantie toe.
Zoals bij alle machine learning-modellen moeten we een optimale afweging vinden tussen bias en variantie.
In de meeste gevallen maakt dit het mogelijk om de mate van de polynoom tot op zekere hoogte te verhogen, maar boven een bepaalde waarde begint het model zich aan te passen aan de ruis in de gegevens en begint de MSE van de test af te nemen.
Om ervoor te zorgen dat we een model passen dat flexibel maar niet te flexibel is, gebruiken we k-voudige kruisvalidatie om het model te vinden dat de laagste MSE-test oplevert.
Hoe polynomiale regressie uit te voeren
De volgende tutorials geven voorbeelden van hoe u polynomiale regressie kunt uitvoeren in verschillende software:
Hoe polynomiale regressie uit te voeren in Excel
Hoe polynomiale regressie uit te voeren in R
Hoe polynomiale regressie uit te voeren in Python