TD 6 : Régression linéaire

Transcription

TD 6 : Régression linéaire
TD 6 : Régression linéaire
Exercice 1- Régression linéaire simple
Un observatoire du devenir de l’étudiant étudie le salaire des étudiants
ayant obtenu le DESS ”Qualité agro-alimentaire”. Une enquête est effectuée
auprès d’un échantillon de 10 étudiants pris au hasard parmi les anciens
élèves. Le tableau suivant donne l’ancienneté T (en nombre d’années depuis
l’obtention du diplôme) et le salaire brut annuel S (en kiloeuros).
T 3 1 7 2 5 3 1 9 5 4
S 35 32 38 36 37 33 34 38 40 34
(1) Tracer le nuage de points de S en fonction de T : plot(T,S).
(2) Calculer le coefficient de corrélation entre T et S : cor(T,S). Est-il
significativement non nul (cor.test(T,S)) ?
(3) La régression linéaire de T en fonction de S se fait avec l’instruction :
modele=lm(S∼T) puis summary(modele).
Ecrire l’équation de la droite de régression qui permet de prédire le
salaire en fonction de l’ancienneté. On dit que c’est un modèle qui
permet d’expliquer le salaire en fonction de l’ancienneté. Constater
que le R2 du modèle est le carré du coefficient de corrélation entre T
et S.
(4) Ajouter sur le nuage de points la droite de régression : abline(modele)
(5) Les résidus suivent-ils une loi normale ? (Les résidus sont dans le vecteur modele$residuals)
Exercice 2- Régression linéaire multiple sur le fichier perf.xls
On essaie de trouver les liens entre la performance d’un athlète et ses
mensurations :
(1) Faire afficher la matrice de corrélations entre toutes les variables et
donner les corrélations significatives (pour cela, il faut utiliser la fonction rcorr du package Hmisc : rcorr(as.matrix(perf )).
(2) Faire une régression linéaire multiple permettant de voir quelle variables peuvent expliquer la performance avec l’instruction
modele1=lm(Performance∼Poids+taille+diametre+perimetre).
Donner les variables qui interviennent de façon significative et le R2
du modèle.
(3) Est-ce que les résidus suivent une loi normale ?
(4) Regarder s’il y a des résidus atypiques : pour cela, calculer le vecteur
des résidus standards
resSt=modele1$residuals/sd(modele1$residuals)
et regarder s’il y a des valeurs supérieures à 3 ou inférieures à -3 :
u=which(abs(resSt)>3)
1
2
Si oui, faire un nouveau dataframe sans ces observations
perf2=perf[-u,]
l’attacher et refaire un modèle de régression linéaire multiple :
modele2=lm(Performance∼Poids+taille+diametre+perimetre).
Donner les variables significatives et le R2 .
(5) Est-ce que les résidus de ce nouveau modèle suivent une loi normale ?
(6) Refaire à nouveau un modèle de régression linéaire multiple en ne
gardant que les variables significatives. Ecrire le modèle de prévision
de la performance et donner sonr R2
Exercice 3- Régression linéaire multiple sur le fichier family.xls
Etude réalisée aux USA sur les origines des stéréotypes liés au sexe. 35
familles choisies au hasard et ayant une fille ainée (ou fille unique) en ”ninth
grade” (Troisième). Le père a répondu à un questionnaire sur ses intérêts
pour le sport, noté sur une échelle numérique de 0 à 50 (FATH) La mère
a répondu au même questionnaire (MOTH) Le professeur d’éducation physique de chacune des filles a noté les performances physiques générales de
la fille de 0 à 20 (PROF). La fille a répondu également au questionnaire
d’intérêt pour le sport (GIRL).
(1) Avec la matrice de corrélations, dire quelles sont les variables corrélées
significativement à GIRL.
(2) A l’aide d’une régression linéaire multiple, faire un modèle qui explique
les résultats de la fille en fonction des résultats des autres personnes.
Obtient-on un bon modèle ? Quelles variables interviennent de façon
significative ? Y a-t-il des variables qui sont corrélées significativement
avec GIRL mais qui n’apparaissent pas significatives dans le modèle
de régression. Si oui, expliquer pourquoi.
(3) Y a-t-il des résidus atypiques ?
(4) Est-ce que les résidus suivent une loi normale ?
(5) Ecrire le modèle de prévision de GIRL en fonction des variables significatives.