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

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert