next up previous contents
Next: Autres fonctions liées Up: Les modèles dans Previous: Formules

Modèles linéaires: lm()

La fonction lm() est une version plus sophistiquée de lsfit(), régression usuelle des moindres carrés. Nous montrons dans ce chapitre de manière générale l'utilisation de ces modèles. La technique se transfère évidemment aux fonctions présentées dans les chapitres qui suivront.

Lisez le jeu de données suivant dans un tableau de données avec nom voitures. Il contient des données décrivant des caractéristiques de 18 voitures (Source: G. Saporta, Probabilités, Analyse des Données et Statistique, Technip, 1990).

       
            Prix Puissance Vitesse 
 Voiture.1 30570        79     165
 Voiture.2 39990        85     160
 Voiture.3 29600        68     152
 Voiture.4 28250        59     151
 Voiture.5 34900        98     165
 Voiture.6 35480        82     160
 Voiture.7 32300        79     154
 Voiture.8 32000        55     140
 Voiture.9 47700       128     180
Voiture.10 26540        55     140
Voiture.11 42395       109     175
Voiture.12 33990        82     158
Voiture.13 43980       115     160
Voiture.14 35010        98     167
Voiture.15 39450        80     144
Voiture.16 27900        83     165
Voiture.17 32700       100     173
Voiture.18 22100        68     140


Afin d'analyser un premier modèle, vous avez les trois possibilités suivantes: Tapez lm.v1 ou bien summary(lm.v1) pour obtenir un résumé des statistiques usuelles d'une régression. Vous pouvez extraire les coefficients via coef(lm.v1) et les résidus avec resid(lm.v1). Des commandes équivalentes sont lm.v1$coef respectivement lm.v1$res. Faites names(lm.v1) pour voir une liste de tous les arguments de lm.v1. La commande plot(lm.v1) vous donne deux résumés graphiques du modèle, à savoir la réponse versus les valeurs ajustées, ainsi que les valeurs absolues des résidus versus les valeurs ajustées.

Dans cet exemple, il serait intéressant de comparer ce premier modèle avec un modèle plus simple, où l'on ne tient plus compte de Vitesse. Une manière élégante d'ajuster ce nouveau modèle (valable surtout pour des formules plus compliquées) est la suivante:

lm.v2 <- update(lm.v1, .~ . - Vitesse)



Marcel Baumgartner