Régression logarithmique en Python (étape par étape)
La régression logarithmique est un type de régression utilisé pour modéliser des situations dans lesquelles la croissance ou le déclin s’accélère rapidement au début, puis ralentit avec le temps.
Par exemple, le graphique suivant montre un exemple de décroissance logarithmique :
Pour ce type de situation, la relation entre une variable prédictive et une variable de réponse pourrait être bien modélisée à l’aide de la régression logarithmique.
L’équation d’un modèle de régression logarithmique prend la forme suivante :
y = a + b*ln(x)
où:
- y : la variable de réponse
- x : la variable prédictive
- a, b : les coefficients de régression qui décrivent la relation entre x et y
L’exemple étape par étape suivant montre comment effectuer une régression logarithmique en Python.
Étape 1 : Créer les données
Tout d’abord, créons de fausses données pour deux variables : x et 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])
Étape 2 : Visualisez les données
Créons ensuite un nuage de points rapide pour visualiser la relation entre x et y :
import matplotlib.pyplot as plt plt.scatter(x, y) plt.show()
D’après le graphique, nous pouvons voir qu’il existe un modèle de désintégration logarithmique entre les deux variables. La valeur de la variable de réponse, y , diminue rapidement au début, puis ralentit avec le temps.
Il semble donc judicieux d’ajuster une équation de régression logarithmique pour décrire la relation entre les variables.
Étape 3 : Ajuster le modèle de régression logarithmique
Ensuite, nous utiliserons la fonction polyfit() pour ajuster un modèle de régression logarithmique, en utilisant le logarithme naturel de x comme variable prédictive et y comme variable de réponse :
#fit the model fit = np.polyfit(np.log(x), y, 1) #view the output of the model print(fit) [-20.19869943 63.06859979]
Nous pouvons utiliser les coefficients du résultat pour écrire l’équation de régression logarithmique ajustée suivante :
y = 63,0686 – 20,1987 * ln(x)
Nous pouvons utiliser cette équation pour prédire la variable de réponse, y , en fonction de la valeur de la variable prédictive, x . Par exemple, si x = 12, alors nous prédirions que y serait 12,87 :
y = 63,0686 – 20,1987 * ln(12) = 12,87
Bonus : n’hésitez pas à utiliser ce calculateur de régression logarithmique en ligne pour calculer automatiquement l’équation de régression logarithmique pour un prédicteur et une variable de réponse donnés.
Ressources additionnelles
Un guide complet de la régression linéaire en Python
Comment effectuer une régression exponentielle en Python
Comment effectuer une régression logistique en Python