- Le test de Student (significativité d'un coefficient)


Dans le test de Student, on cherche à tester
contre 



> REG0=lm(Fire~X_1+X_2+X_3,data=dodge)
> summary(REG0)
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 22.07525 6.19447 3.564 0.000910 ***
X_1 -0.62764 5.28130 -0.119 0.905953
X_2 0.22378 0.06161 3.632 0.000744 ***
X_3 -1.55059 0.38195 -4.060 0.000204 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Sur la sortie on note que la statistique de test pour la variable X2 vaut 3.632. On a deux méthodes pour interpréter cette statistique
- construire la région d'acceptation du test à partir des quantiles théorique de la loi de Student (en lisant dans les tables, ou en demandant les quantiles au logiciel)
- en calculant la p-value, ie. la probabilité qu'une loi de Student atteigne une telle valeur.
> qt(.025,df=43)
[1] -2.016692
> qt(.975,df=43)
[1] 2.016692
Autrement dit, les deux dernières statistiques de Student ne sont pas dans cet intervalle: on rejette l'hypothèse de nullité des deux derniers coefficients. L'autre possibilité est de calculer la probabilité qu'en valeur absolue, une loi de Student dépasse la valeur absolue de la grandeur observée. Ici, ces probabilités sont
> (1-pt(abs(-0.119),df=43))*2
[1] 0.9058296
> (1-pt(abs(3.632),df=43))*2
[1] 0.0007442971
On retrouve les grandeurs données dans la dernière colonne du tableau.
- Le test de Fisher (significativité de plusieurs coefficients)




Ce test est en fait un cas très particulier d'un test beaucoup plus général proposé par Fisher. De manière beaucoup plus générale, on se demande si les deux modèles suivants sont vraiment différents, entre







Pour le test de Fisher global, le résultat figure dans le tableau de la régression
F-statistic: 11.34 on 3 and 43 DF, p-value: 1.314e-05
Mais il est possible de retrouver cette grandeur en utilisant la fonction anova(),
> REG0=lm(Fire~X_1+X_2+X_3,data=dodge)
> REG0c=lm(Fire~1,data=dodge)
> anova(REG0,REG0c)
Analysis of Variance Table
Model 1: Fire ~ X_1 + X_2 + X_3
Model 2: Fire ~ 1
Res.Df RSS Df Sum of Sq F Pr(>F)
1 43 1831.8
2 46 3280.8 -3 -1449.0 11.339 1.314e-05 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
On peut aussi faire des tests de modèles contraints. Le plus simple est d'enlever une variable explicative dans le modèle, par exemple la troisième
> REG0c=lm(Fire~X_1+X_2,data=dodge)
> anova(REG0,REG0c)
Analysis of Variance Table
Model 1: Fire ~ X_1 + X_2 + X_3
Model 2: Fire ~ X_1 + X_2
Res.Df RSS Df Sum of Sq F Pr(>F)
1 43 1831.75
2 44 2533.84 -1 -702.09 16.481 0.0002039 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
On retrouve que cette variable est significative dans le modèle (ce qui confirme la conclusion du test de Student). Pour des tests avec des contraintes plus complexes, on peut utiliser library(lmtest), ou library(AER). En particulier, on peut se demander si les coefficients associés aux variables X2 et X3 sont identiques.
> linear.hypothesis(REG0,"X_2=X_3")
Linear hypothesis test
Hypothesis:
X_2 - X_3 = 0
Model 1: Fire ~ X_1 + X_2 + X_3
Model 2: restricted model
Res.Df RSS Df Sum of Sq F Pr(>F)
1 43 1831.75
2 44 2652.77 -1 -821.01 19.273 7.245e-05 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Ce test peut se faire de manière équivalente en faisant directement une anova,
> REG0c=lm(Fire~X_1+I(X_2+X_3),data=dodge)
> anova(REG0,REG0c)
Analysis of Variance Table
Model 1: Fire ~ X_1 + X_2 + X_3
Model 2: Fire ~ X_1 + I(X_2 + X_3)
Res.Df RSS Df Sum of Sq F Pr(>F)
1 43 1831.75
2 44 2652.77 -1 -821.01 19.273 7.245e-05 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
ce qui donne (tout naturellement) la même chose.
- Tests de normalités (des résidus)
> source("http://blogperso.univ-rennes1.fr/arthur.charpentier/public/R/fonctions-nortest.R")
via un modèle que l'on supposera linéaire (pour faire
simple, mais ça ne change pas grand chose sur le fond). Mais
dans la base, on dispose de deux variables explicatives très
corrélées (voire plus)
. La question telle que je la comprends est la suivante: même si
les variables sont très corrélées, est-ce que l'on
est en mesure de ne garder que la bonne variable (en l'occurence 

est un bruit indépendant des variables explicatives, suivant une loi normale centrée et réduite.












