Régression logarithmique dans R (é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 suivant, étape par étape, montre comment effectuer une régression logarithmique dans R.

Étape 1 : Créer les données

Tout d’abord, créons de fausses données pour deux variables : x et y :

x=1:15

y=c(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 :

plot(x, y)

D’après le graphique, nous pouvons voir qu’il existe un schéma de décroissance logarithmique clair 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 lm() 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
model <- lm(y ~ log(x))

#view the output of the model
summary(model)

Call:
lm(formula = y ~ log(x))

Residuals:
   Min     1Q Median     3Q    Max 
-4.069 -1.313 -0.260  1.127  3.122 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept)  63.0686     1.4090   44.76 1.25e-15 ***
log(x)      -20.1987     0.7019  -28.78 3.70e-13 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 2.054 on 13 degrees of freedom
Multiple R-squared:  0.9845,	Adjusted R-squared:  0.9834 
F-statistic: 828.2 on 1 and 13 DF,  p-value: 3.702e-13

La valeur F globale du modèle est de 828,2 et la valeur p correspondante est extrêmement faible (3,702e-13), ce qui indique que le modèle dans son ensemble est utile.

En utilisant les coefficients du tableau de sortie, nous pouvons voir que l’équation de régression logarithmique ajustée est :

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.

Étape 4 : Visualisez le modèle de régression logarithmique

Enfin, nous pouvons créer un graphique rapide pour visualiser dans quelle mesure le modèle de régression logarithmique s’adapte aux données :

#plot x vs. y
plot(x, y)

#define x-values to use for regression line
x=seq(from=1,to=15,length.out=1000)

#use the model to predict the y-values based on the x-values
y=predict(model,newdata=list(x=seq(from=1,to=15,length.out=1000)),
          interval="confidence")

#add the fitted regression line to the plot (lwd specifies the width of the line)
matlines(x,y, lwd=2)

Régression logarithmique dans R

Nous pouvons voir que le modèle de régression logarithmique réussit bien à ajuster cet ensemble de données particulier.

Ressources additionnelles

Comment effectuer une régression linéaire simple dans R
Comment effectuer une régression linéaire multiple dans R
Comment effectuer une régression quadratique dans R
Comment effectuer une régression exponentielle dans R
Comment effectuer une régression polynomiale dans R

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *