Comment effectuer une régression de puissance dans R (étape par étape)



La régression de puissance est un type de régression non linéaire qui prend la forme suivante :

y = hache b

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

Ce type de régression est utilisé pour modéliser des situations où la variable de réponse est égale à la variable prédictive élevée à une puissance.

L’exemple suivant, étape par étape, montre comment effectuer une régression de puissance pour un ensemble de données donné dans R.

Étape 1 : Créer les données

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

#create data
x=1:20
y=c(1, 8, 5, 7, 6, 20, 15, 19, 23, 37, 33, 38, 49, 50, 56, 52, 70, 89, 97, 115) 

Étape 2 : Visualisez les données

Créons ensuite un nuage de points pour visualiser la relation entre x et y :

#create scatterplot
plot(x, y)

Le graphique montre qu’il existe une relation de pouvoir claire entre les deux variables. Ainsi, il semble judicieux d’adapter une équation de régression de puissance aux données plutôt qu’un modèle de régression linéaire.

Étape 3 : Ajuster le modèle de régression de puissance

Ensuite, nous utiliserons la fonction lm() pour ajuster un modèle de régression aux données, en spécifiant que R doit utiliser le journal de la variable de réponse et le journal de la variable prédictive lors de l’ajustement du modèle :

#fit the model
model <- lm(log(y)~ log(x))

#view the output of the model
summary(model)

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

Residuals:
     Min       1Q   Median       3Q      Max 
-0.67014 -0.17190 -0.05341  0.16343  0.93186 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept)  0.15333    0.20332   0.754    0.461    
log(x)       1.43439    0.08996  15.945 4.62e-12 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.3187 on 18 degrees of freedom
Multiple R-squared:  0.9339,	Adjusted R-squared:  0.9302 
F-statistic: 254.2 on 1 and 18 DF,  p-value: 4.619e-12

La valeur F globale du modèle est de 252,1 et la valeur p correspondante est extrêmement faible (4,619e-12), 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 de puissance ajustée est :

ln(y) = 0,15333 + 1,43439ln(x)

En appliquant e aux deux côtés, nous pouvons réécrire l’équation comme suit :

  • y = e 0,15333 + 1,43439ln(x)
  • y = 1,1657x 1,43439

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 41,167 :

y = 1,1657(12) 1,43439 = 41,167

Bonus : n’hésitez pas à utiliser ce calculateur de régression de puissance en ligne pour calculer automatiquement l’équation de régression de puissance pour un prédicteur et une variable de réponse donnés.

Ressources additionnelles

Comment effectuer une régression linéaire multiple dans R
Comment effectuer une régression exponentielle dans R
Comment effectuer une régression logarithmique dans R

Ajouter un commentaire

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