520
Le logiciel R - Effectuer des analyses statistiques
Nous pr´ esentons bri` evement dans cette sous-section quelques m´ ethodes de
s´ election de variables disponibles avec le logiciel R. Celles-ci sont illustr´ ees sur
quelques variables du jeu de donn´ ees POIDS.NAISSANCE.
Les variables explicatives consid´ er´ ees sont : LWT, AGE, UI, SMOKE, HT et deux
variables recod´ ees FTV1 et PTL1. On note FVT1 = 1 s’il y a eu au moins une
visite chez le m´ edecin, et FVT1 = 0 sinon. De mˆ eme, on note PTL1 = 1 s’il y a
au moins un ant´ ec´ edent de pr´ ematurit´ e, et PTL1 = 0 sinon.
La m´ ethode du meilleur sous-ensemble (best subset)
Lorsque le nombre p de variables explicatives n’est pas trop grand, on peut
´ etudier toutes les possibilit´ es. Un algorithme efficace (voir [25] et [26]) permet ainsi d’aller jusqu’` a une trentaine de variables ; il s’agit de la proc´ edure
leaps and bounds. `
A p fix´ e, on choisira le mod` ele de r´ egression qui fournit le r
2
le plus grand. Pour deux mod` eles de r´ egression ayant un nombre diff´ erent de
variables explicatives, on peut choisir celle qui fournit le r
2
a ajust´ e le plus grand.
La fonction R ` a utiliser est la fonction leaps() disponible dans le package
leaps.
> require("leaps")
> FVT1 <- FVT; FVT1 <- as.integer(FVT>=1)
> PTL1 <- PTL; PTL1 <- as.integer(PTL>=1)
> matx <- model.matrix(lm(BWT∼-1+LWT+AGE+UI+SMOKE+HT+FVT1+PTL1))
> # Equivalent de: matx <- cbind(LWT,AGE,UI,SMOKE,HT,FVT1,PTL1)
> adjr2.leaps <- leaps(matx,BWT,nbest=1,method="adjr2")
> meilleur.modele.adjr2 <- adjr2.leaps$which[adjr2.leaps$adjr2==
+
max(adjr2.leaps$adjr2),]
> meilleur.modele.adjr2
1
2
3
4
5
6
7
TRUE FALSE TRUE TRUE TRUE FALSE TRUE
Le meilleur mod` ele au sens du r
2
a ajust´ e est donc :
BWT = β 0 + β 1 LWT + β 2 UI + β 3 SMOKE + β 4 HT + β 5 PTL1 + .
Remarque
Il est possible d’obtenir d’autres crit` eres de s´ election que le r
2
a
ajust´ e grˆ ace au param` etre method de la fonction leaps(). Par exemple,
method="Cp" utilise le crit` ere bien connu du C p de Mallows [34].
Une autre fonction tr` es int´ eressante disponible dans le package leaps est la
fonction regsubsets(). Elle permet par exemple au moyen de son param` etre
force.in de sp´ ecifier une ou plusieurs variables qui seront incluses dans tous
les mod` eles compar´ es. Un exemple est donn´ e ici en faisant le choix du meilleur
mod` ele par le crit` ere BIC (bayesian information criterion, [43]) :
Précédent

- 551/701

Suivant