Transcript
Page 1: Un exemple de régression multiple

On souhaite analyser les concentrations de mercure (ppm) dans les chaires de poissons carnivores des lacs de l'est de Etats-Unis. On espère trouver une relation statistique en fonction de paramètres de qualité des eaux des lacs considérés.

# Alcalinité pH Calcium Chorophylle Mercure Age#1 5.9 6.1 3.0 0.7 1.23 1#2 3.5 5.1 1.9 3.2 1.33 0#3 116. 9.1 44.1 128.3 0.04 0# ...# ...# ...#52 17.3 5.2 3.0 2.6 0.25 1#53 71.8 7.9 20.5 8.8 0.27 1

Reconstruire le meilleur modèle de régression pour décrire (et prédire) les concentrations de mercure

Un exemple de régression multiple

Page 2: Un exemple de régression multiple

Un exemple de régression multiple

> # lecture des data> merc = read.table("Exemple_MulipleR.dat",header=TRUE)> # attachement des variables du fichier> attach(merc)> names(mercur.pois)[1] "Num" "Alcalinite” "pH" "Calcium" "Chlorophylle" "Mercure" "Age"

Page 3: Un exemple de régression multiple

Un exemple de régression multiple

> # tracer des data> pairs(merc,gap=0,cex.label=1.2)

Page 4: Un exemple de régression multiple

Un exemple de régression multiple

> # le modèle de régression> reg1 = lm(Mercure~Alcalinite+Calcium+pH+Chorophylle+Age)> summary(reg1)

lm(formula = Mercure ~ Alcalinite + Calcium + pH + Chlorophylle + Age)

Residuals: Min 1Q Median 3Q Max -0.42466 -0.19055 -0.08163 0.14430 0.62360

Page 5: Un exemple de régression multiple

Un exemple de régression multiple

> # le modèle de régression> reg1 = lm(Mercure~Alcalinite+Calcium+pH+Chorophylle+Age)> summary(reg1)

Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) 1.0132843 0.2517117 4.026 0.000206 ***Alcalinite -0.0054637 0.0020951 -2.608 0.012177 * Calcium 0.0040874 0.0027243 1.500 0.140211 pH -0.0481113 0.0467279 -1.030 0.308465 Chlorophylle -0.0023270 0.0016403 -1.419 0.162598 Age -0.0001375 0.1043476 -0.001 0.998954

Residual standard error: 0.2653 on 47 degrees of freedomMultiple R-Squared: 0.453, Adjusted R-squared: 0.3948

F-statistic: 7.785 on 5 and 47 DF, p-value: 2.114e-05

Page 6: Un exemple de régression multiple

Un exemple de régression multiple

> # la table d’ANOVA de la régression> anova(reg1)

Analysis of Variance Table

Response: Mercure Df Sum Sq Mean Sq F value Pr(>F) Alcalinite 1 2.1312 2.1312 30.2784 1.511e-06 ***Calcium 1 0.1730 0.1730 2.4574 0.12368 pH 1 0.2679 0.2679 3.8064 0.05703 . Chlorophylle 1 0.1677 0.1677 2.3824 0.12941 Age 1 1.222e-07 1.222e-07 1.737e-06 0.99895 Residuals 47 3.3081 0.0704

---

Signif. codes: 0 `***' 0.001 `**' 0.01 `*' 0.05 `.' 0.1

Page 7: Un exemple de régression multiple

Un exemple de régression multiple

> # on peut utiliser ue procédure automatique qui va nous> # permettre de choisir le modele de taille minimale du modèle> # qui expliquera au mieux les data> step(reg1)

Start: AIC = -135.02 Mercure ~ Alcalinite + Calcium + pH + Chlorophylle + Age

Df Sum of Sq RSS AIC- Age 1 1.222e-07 3.308 -137.017- pH 1 0.075 3.383 -135.835<none> 3.308 -135.017- Chlorophylle 1 0.142 3.450 -134.795- Calcium 1 0.158 3.467 -134.538- Alcalinite 1 0.479 3.787 -129.855

Page 8: Un exemple de régression multiple

Un exemple de régression multiple

> # on peut utiliser ue procédure automatique qui va nous> # permettre de choisir le modele de taille minimale du modèle> # qui expliquera au mieux les data> step(reg1)

Step: AIC = -137.02 Mercure ~ Alcalinite + Calcium + pH + Chlorophylle

Df Sum of Sq RSS AIC- pH 1 0.084 3.392 -137.688<none> 3.308 -137.017- Calcium 1 0.164 3.472 -136.449- Chlorophylle 1 0.168 3.476 -136.396- Alcalinite 1 0.509 3.817 -131.438

Page 9: Un exemple de régression multiple

Un exemple de régression multiple

> # on peut utiliser ue procédure automatique qui va nous> # permettre de choisir le modèle de taille minimale du modèle> # qui expliquera au mieux les data> step(reg1) # voir aussi stepAIC(reg1)

Step: AIC = -137.69 Mercure ~ Alcalinite + Calcium + Chlorophylle

Df Sum of Sq RSS AIC<none> 3.392 -137.688- Calcium 1 0.186 3.578 -136.864- Chlorophylle 1 0.352 3.744 -134.461- Alcalinite 1 0.907 4.299 -127.131

Page 10: Un exemple de régression multiple

Un exemple de régression multiple

> # le modèle optimal> reg2 = lm(Mercure~Alcalinite+Calcium+Chorophylle)> summary(reg1)

lm(formula = Mercure ~ Alcalinite + Calcium + Chlorophylle)

Residuals: Min 1Q Median 3Q Max -0.38739 -0.18508 -0.07106 0.14511 0.61425

Page 11: Un exemple de régression multiple

Un exemple de régression multiple

> # le modèle optimal> reg2 = lm(Mercure~Alcalinite+Calcium+Chorophylle)> summary(reg1)

Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) 0.744429 0.052408 14.205 < 2e-16 ***Alcalinite -0.006482 0.001791 -3.619 0.000698 ***Calcium 0.004330 0.002644 1.638 0.107909 Chlorophylle -0.003038 0.001348 -2.254 0.028731 *

Residual standard error: 0.2631 on 49 degrees of freedomMultiple R-Squared: 0.4391, Adjusted R-squared: 0.4048 F-statistic: 12.79 on 3 and 49 DF, p-value: 2.709e-06

Page 12: Un exemple de régression multiple

Un exemple de régression multiple

> # la table d’ANOVA de la régression> anova(reg2)

Analysis of Variance Table

Response: Mercure Df Sum Sq Mean Sq F value Pr(>F) Alcalinite 1 2.1312 2.1312 30.7849 1.152e-06 ***Calcium 1 0.1730 0.1730 2.4985 0.12039 Chlorophylle 1 0.3516 0.3516 5.0786 0.02873 * Residuals 49 3.3922 0.0692 ---Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Page 13: Un exemple de régression multiple

Un exemple de régression multiple

> # Comparaison des 2 modèles> anova(reg1,reg2)

Analysis of Variance Table

Model 1: Mercure ~ Alcalinite + Calcium + pH + Chlorophylle + AgeModel 2: Mercure ~ Alcalinite + Calcium + Chlorophylle

Res.Df RSS Df Sum of Sq F Pr(>F)1 47 3.3081 2 49 3.3922 -2 -0.0840 0.5969 0.5546

> # Ces 2 modèles ne sont pas différents.> # On prend le plus simple !

Page 14: Un exemple de régression multiple

Un exemple de régression multiple

> # et les residus !!!> par(mfcol=c(2,2)) > plot(reg2)

Page 15: Un exemple de régression multiple

Un exemple de régression multiple


Recommended