Regressione logaritmica in python (passo dopo passo)
La regressione logaritmica è un tipo di regressione utilizzato per modellare situazioni in cui la crescita o il declino accelerano rapidamente all’inizio e poi rallentano nel tempo.
Ad esempio, il grafico seguente mostra un esempio di decadimento logaritmico:
Per questo tipo di situazione, la relazione tra una variabile predittrice e una variabile di risposta potrebbe essere ben modellata utilizzando la regressione logaritmica.
L’equazione per un modello di regressione logaritmica assume la forma seguente:
y = a + b*ln(x)
Oro:
- y: la variabile di risposta
- x: la variabile predittiva
- a, b: i coefficienti di regressione che descrivono la relazione tra x e y
Il seguente esempio passo passo mostra come eseguire la regressione logaritmica in Python.
Passaggio 1: creare i dati
Innanzitutto, creiamo dati falsi per due variabili: x e y :
import numpy as np x = np. arange (1, 16, 1) y = np. array ([59, 50, 44, 38, 33, 28, 23, 20, 17, 15, 13, 12, 11, 10, 9.5])
Passaggio 2: visualizzare i dati
Successivamente, creiamo un rapido grafico a dispersione per visualizzare la relazione tra x e y :
import matplotlib. pyplot as plt plt. scatter (x,y) plt. show ()
Dal grafico possiamo vedere che esiste un modello di decadimento logaritmico tra le due variabili. Il valore della variabile di risposta, y , inizialmente diminuisce rapidamente, quindi rallenta nel tempo.
Sembra quindi saggio adattare un’equazione di regressione logaritmica per descrivere la relazione tra le variabili.
Passaggio 3: adattare il modello di regressione logaritmica
Successivamente, utilizzeremo la funzione polyfit() per adattare un modello di regressione logaritmica, utilizzando il logaritmo naturale di x come variabile predittrice e y come variabile di risposta:
#fit the model fit = np. polyfit (np. log (x), y, 1) #view the output of the model print(fit) [-20.19869943 63.06859979]
Possiamo utilizzare i coefficienti del risultato per scrivere la seguente equazione di regressione logaritmica aggiustata:
y = 63,0686 – 20,1987 * ln(x)
Possiamo utilizzare questa equazione per prevedere la variabile di risposta, y , in base al valore della variabile predittrice, x . Ad esempio, se x = 12, allora prevediamo che y sarebbe 12,87 :
y = 63,0686 – 20,1987 * ln(12) = 12,87
Bonus: sentiti libero di utilizzare questo calcolatore di regressione logaritmica online per calcolare automaticamente l’equazione di regressione logaritmica per un determinato predittore e variabile di risposta.
Risorse addizionali
Una guida completa alla regressione lineare in Python
Come eseguire la regressione esponenziale in Python
Come eseguire la regressione logistica in Python