Comment effectuer un test t pour la pente de la droite de régression dans R



Chaque fois que nous effectuons une régression linéaire simple , nous nous retrouvons avec l’équation de régression estimée suivante :

ŷ = b 0 + b 1 x

Nous souhaitons généralement savoir si le coefficient de pente, b 1 , est statistiquement significatif.

Pour déterminer si b 1 est statistiquement significatif, nous pouvons effectuer un test t avec la statistique de test suivante :

t = b 1 / se(b 1 )

où:

  • se(b 1 ) représente l’erreur type de b 1 .

On peut alors calculer la p-value qui correspond à cette statistique de test à n-2 degrés de liberté.

Si la valeur p est inférieure à un certain seuil (par exemple α = 0,05), nous pouvons alors conclure que le coefficient de pente est différent de zéro.

En d’autres termes, il existe une relation statistiquement significative entre la variable prédictive et la variable réponse dans le modèle.

L’exemple suivant montre comment effectuer un test t pour la pente d’une droite de régression dans R.

Exemple : exécution d’un test t pour la pente de la droite de régression dans R

Supposons que nous ayons le bloc de données suivant dans R qui contient des informations sur les heures étudiées et les résultats de l’examen final obtenus par 12 étudiants dans une classe :

#create data frame
df <- data.frame(hours=c(1, 1, 2, 2, 3, 4, 5, 5, 5, 6, 6, 8),
                 score=c(65, 67, 78, 75, 73, 84, 80, 76, 89, 91, 83, 82))

#view data frame
df

   hours score
1      1    65
2      1    67
3      2    78
4      2    75
5      3    73
6      4    84
7      5    80
8      5    76
9      5    89
10     6    91
11     6    83
12     8    82

Supposons que nous souhaitions adapter un modèle de régression linéaire simple pour déterminer s’il existe une relation statistiquement significative entre les heures étudiées et les résultats de l’examen.

Nous pouvons utiliser la fonction lm() dans R pour adapter ce modèle de régression :

#fit simple linear regression model
fit <- lm(score ~ hours, data=df)

#view model summary
summary(fit)

Call:
lm(formula = score ~ hours, data = df)

Residuals:
   Min     1Q Median     3Q    Max 
-7.398 -3.926 -1.139  4.972  7.713 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept)  67.7685     3.3757  20.075 2.07e-09 ***
hours         2.7037     0.7456   3.626  0.00464 ** 
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 5.479 on 10 degrees of freedom
Multiple R-squared:  0.568,	Adjusted R-squared:  0.5248 
F-statistic: 13.15 on 1 and 10 DF,  p-value: 0.004641

À partir des résultats du modèle, nous pouvons voir que l’équation de régression estimée est :

Note à l’examen = 67,7685 + 2,7037 (heures)

Pour tester si le coefficient de pente est statistiquement significatif, nous pouvons calculer la statistique du test t comme suit :

  • t = b 1 / se(b 1 )
  • t = 2,7037 / 0,7456
  • t = 3,626

La valeur p qui correspond à cette statistique de test t est affichée dans la colonne appelée Pr(> |t|) dans la sortie.

La valeur p s’avère être 0,00464 .

Puisque cette valeur p est inférieure à 0,05, nous concluons que le coefficient de pente est statistiquement significatif.

En d’autres termes, il existe une relation statistiquement significative entre le nombre d’heures étudiées et la note finale obtenue par un étudiant à l’examen.

Ressources additionnelles

Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes dans R :

Comment effectuer une régression linéaire simple dans R
Comment effectuer une régression linéaire multiple dans R
Comment interpréter la sortie de régression dans R

Ajouter un commentaire

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