Exponentiële regressie in python (stap voor stap)
Exponentiële regressie is een type regressie dat kan worden gebruikt om de volgende situaties te modelleren:
1. Exponentiële groei: De groei begint langzaam en versnelt vervolgens snel en zonder beperking.
2. Exponentieel verval: Het verval begint snel en vertraagt vervolgens om steeds dichter bij nul te komen.
De vergelijking voor een exponentieel regressiemodel heeft de volgende vorm:
y = abx
Goud:
- y: de responsvariabele
- x: de voorspellende variabele
- a, b: de regressiecoëfficiënten die de relatie tussen x en y beschrijven
Het volgende stapsgewijze voorbeeld laat zien hoe u exponentiële regressie in Python uitvoert.
Stap 1: Creëer de gegevens
Laten we eerst valse gegevens maken voor twee variabelen: x en y :
import numpy as np x = np. arange (1, 21, 1) y = np. array ([1, 3, 5, 7, 9, 12, 15, 19, 23, 28, 33, 38, 44, 50, 56, 64, 73, 84, 97, 113])
Stap 2: Visualiseer de gegevens
Laten we vervolgens een snelle spreidingsdiagram maken om de relatie tussen x en y te visualiseren:
import matplotlib. pyplot as plt plt. scatter (x,y) plt. show ()
Uit de grafiek kunnen we zien dat er een duidelijk exponentieel groeipatroon bestaat tussen de twee variabelen.
Het lijkt dus verstandig om een exponentiële regressievergelijking toe te passen om de relatie tussen variabelen te beschrijven, in tegenstelling tot een lineair regressiemodel.
Stap 3: Pas het exponentiële regressiemodel toe
Vervolgens zullen we de functie polyfit() gebruiken om een exponentieel regressiemodel te fitten, waarbij we de natuurlijke logaritme van y als de responsvariabele en x als de voorspellende variabele gebruiken:
#fit the model fit = np. polyfit (x, np. log (y), 1) #view the output of the model print(fit) [0.2041002 0.98165772]
Op basis van het resultaat kan de aangepaste exponentiële regressievergelijking als volgt worden geschreven:
ln(y) = 0,9817 + 0,2041(x)
Door e op beide zijden toe te passen, kunnen we de vergelijking als volgt herschrijven:
y = 2,6689 * 1,2264x
We kunnen deze vergelijking gebruiken om de responsvariabele, y , te voorspellen op basis van de waarde van de voorspellende variabele, x . Als x = 12, dan voorspellen we bijvoorbeeld dat y 30,897 zou zijn:
j = 2,6689 * 1,2264 12 = 30,897
Bonus: voel je vrij om deze online exponentiële regressiecalculator te gebruiken om automatisch de exponentiële regressievergelijking voor een bepaalde voorspeller en responsvariabele te berekenen.
Aanvullende bronnen
Hoe eenvoudige lineaire regressie uit te voeren in Python
Hoe polynomiale regressie uit te voeren in Python
Hoe kwantielregressie uit te voeren in Python