• Aucun résultat trouvé

Exemple du cours

N/A
N/A
Protected

Academic year: 2022

Partager "Exemple du cours"

Copied!
18
0
0

Texte intégral

(1)

Exemple du cours

Pierre Ailliot 22 septembre 2020

Données

On considère dans cet exercice des données qui proviennent du Groupe d’Etude et de Réflexion Inter-régional (GERI). Elles décrivent quatre grands thèmes : la démographie, l’emploi, la fiscalité directe locale et la criminalité. Les indicateurs sont mesurés sur l’ensemble des départements français métropolitains et la Corse (regroupée) pendant l’année 1990. Ils sont, pour la plupart, des taux calculés relativement à la population

totale du département concerné. Voici la liste des paramètres:

• identificateur : numéro du département

• identificateur : code du département

• identificateur : code de la région

TXCR: taux de croissance de la population sur la période 1982-1990

ETRA: part des étrangers dans la population totale

URBR : taux d’urbanisation

JEUN: part des 0-19 ans dans la population totale

AGE: part des plus de 65 ans dans la population totale

CHOM: taux de chômage

• Parts de chaque profession et catégorie socio-professionnelle (PCS) dans la population active occupée du département :

– AGRI : agriculteurs – ARTI: artisans

– CADR: cadres supérieurs – EMPL: employés

– OUVR : ouvriers

– PROF: professions intermédiaire

FISC : produit, en francs constants 1990 et par habitant, des quatre taxes directes locales (profession- nelle, habitation, foncier bâti, foncier non bâti)

CRIM: taux de criminalité : nombre de délits par habitant

FE90 : taux de fécondité (pour 1000), égal au nombre de naissances rapporté au nombre de femmes fécondes (15 à 49 ans) en moyenne triennale

Les données sont disponibles sur la page web du cours : https://mespages.univ-brest.fr/~ailliot/doc_cours/

M1EURIA/regression/depart2.txt

(2)

depart2 <- read.csv("C:/Users/Pierre/Documents/public_html/doc_cours/M1EURIA/regression/depart2.txt", sep="") row.names(depart2)=depart2$NUM

z=depart2[,-(1:3)] #on enléve les trois premiére colonnes head(z) #structure de l'objet : seulement des variables quanti

## TXCR ETRA URBR JEUN AGE CHOM AGRI ARTI CADR EMPL OUVR PROF

## 1 12.19 0.095 0.339 0.285 0.133 0.070 0.045 0.084 0.088 0.240 0.347 0.195

## 2 0.89 0.035 0.358 0.289 0.143 0.133 0.049 0.070 0.071 0.240 0.400 0.171

## 3 -2.63 0.031 0.464 0.227 0.204 0.135 0.086 0.095 0.070 0.262 0.311 0.176

## 4 10.00 0.046 0.190 0.235 0.190 0.123 0.065 0.127 0.090 0.261 0.256 0.200

## 5 7.82 0.037 0.294 0.250 0.173 0.089 0.072 0.117 0.078 0.302 0.230 0.201

## 6 10.56 0.091 0.945 0.210 0.217 0.119 0.012 0.124 0.127 0.316 0.227 0.194

## FISC CRIM FE90

## 1 2772.3 38.7 52.3

## 2 2854.4 52.2 56.9

## 3 3159.6 39.0 42.7

## 4 4033.1 57.7 52.3

## 5 3364.9 49.2 53.5

## 6 4335.4 123.6 50.0

#Etude de la matrice de corrélation

c=cor(z) #URBR est la variable la plus corrélée

#install.packages("corrplot") # a faire seulement la premiere fois library(corrplot)

## corrplot 0.84 loaded corrplot(c)

(3)

−1

−0.8

−0.6

−0.4

−0.2 0 0.2 0.4 0.6 0.8

TXCR ETRA URBR JEUN A GE CHOM A GRI AR TI CADR EMPL OUVR PR OF FISC CRIM FE90

1

TXCR ETRA URBR JEUN AGE CHOM AGRI ARTI CADR EMPL OUVR PROF FISC CRIM FE90

Dans la suite, on s’intéressera à prédire la variable CRIM à partir des autres variables. Le graphique précédent permet d’identifier les variables qui sont corrélées positivement et négativement avec cette variable.

#install.packages("FactoMineR") # a faire seulement la première fois library(FactoMineR)

par(mfrow=c(1,2)) #sépare la fenêtre graphique en 2 PCA(z)

(4)

1 2

3

4 5

6

7

8 9

10 11 12

13

14 15

16 17

18 19

20

21 22

23 24

25 26

27 28 29

30 32 31

33 34

35 36

37 38

39 40

41 42

43

44 45 46

48 47

49

50 51

53 52

54 55

56

57 58

59 60 61

62 63 64 65

66

67 68

69

70 71

72

73

74

75

76

77 79 78

80 82 81

83

84

85

86 87

88 89

90

91 92

93 94

95

−4

−2 0 2 4 6

−4 0 4 8

Dim 1 (44.82%)

Dim 2 (22.22%)

PCA graph of individuals

(5)

TXCR

ETRA URBR

JEUN AGE

CHOM

AGRI

ARTI

CADR EMPL

OUVR

PROF FISC CRIM

FE90

−1.0

−0.5 0.0 0.5 1.0

−1.0 −0.5 0.0 0.5 1.0

Dim 1 (44.82%)

Dim 2 (22.22%)

PCA graph of variables

## **Results for the Principal Component Analysis (PCA)**

## The analysis was performed on 95 individuals, described by 15 variables

## *The results are available in the following objects:

#### name description

## 1 "$eig" "eigenvalues"

## 2 "$var" "results for the variables"

## 3 "$var$coord" "coord. for the variables"

## 4 "$var$cor" "correlations variables - dimensions"

## 5 "$var$cos2" "cos2 for the variables"

## 6 "$var$contrib" "contributions of the variables"

## 7 "$ind" "results for the individuals"

## 8 "$ind$coord" "coord. for the individuals"

## 9 "$ind$cos2" "cos2 for the individuals"

## 10 "$ind$contrib" "contributions of the individuals"

## 11 "$call" "summary statistics"

## 12 "$call$centre" "mean of the variables"

## 13 "$call$ecart.type" "standard error of the variables"

## 14 "$call$row.w" "weights for the individuals"

## 15 "$call$col.w" "weights for the variables"

L’ACP permet de résumer l’information contenue dans la matrice de corrélation.

#Ajustement du modéle complet fit=lm(CRIM~.,data=z)

summary(fit)

(6)

#### Call:

## lm(formula = CRIM ~ ., data = z)

#### Residuals:

## Min 1Q Median 3Q Max

## -28.9513 -5.1029 0.5126 3.7960 22.1232

#### Coefficients:

## Estimate Std. Error t value Pr(>|t|)

## (Intercept) -1.609e+03 1.297e+03 -1.241 0.21833

## TXCR 7.493e-01 2.928e-01 2.559 0.01237 *

## ETRA 6.939e+01 5.290e+01 1.312 0.19338

## URBR 2.152e+01 9.488e+00 2.269 0.02598 *

## JEUN -2.076e+02 1.413e+02 -1.469 0.14575

## AGE -2.254e+01 1.089e+02 -0.207 0.83656

## CHOM 2.605e+02 4.819e+01 5.406 6.49e-07 ***

## AGRI 1.526e+03 1.297e+03 1.176 0.24294

## ARTI 1.839e+03 1.301e+03 1.414 0.16138

## CADR 1.783e+03 1.293e+03 1.379 0.17169

## EMPL 1.566e+03 1.285e+03 1.219 0.22656

## OUVR 1.597e+03 1.295e+03 1.233 0.22119

## PROF 1.514e+03 1.303e+03 1.162 0.24885

## FISC 2.603e-03 2.527e-03 1.030 0.30617

## FE90 1.167e+00 4.094e-01 2.849 0.00557 **

## ---

## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

#### Residual standard error: 8.522 on 80 degrees of freedom

## Multiple R-squared: 0.8611, Adjusted R-squared: 0.8368

## F-statistic: 35.43 on 14 and 80 DF, p-value: < 2.2e-16

Il faut savoir interpréter toutes les valeurs numériques données par le summary.

• ’Coefficients’ donne l’estimation des paramètres et les quantités qui apparaissent dans les tests de StudentH0:βi = 0 (dont la p-value)

• ’Residual standard error’ donne une estimation deσ2 et le ddl de la loi duχ2 associée.

• ’Multiple R-squared’ est le pourcentage de variation expliquéeR2

• ’F-statistic’ correspond au test de Fisher de l’hypothèseH0:β1=...=βp= 0

Ici on peut voir que le pourcentage de variation expliqué est assez élevé et donc que les covariables apportent de l’information sur la variable CHOM. C’est confirmé par la p-value du test de Fisher. On peut aussi remarquer que certains variables semblent ne pas avoir d’effet significatif sur CRIM dans le modèle complet.

#Ajustement d’un modéle restreint et test de fisher

On alors propose de conserver seulement les variables TXCR, URBR, CHOM et FE90 qui sont significatives dans le modèle complet. Ceci revient é imposer que certains coefficients sont nuls dans le modèle complet. Le test de Fisher permet de vérifier si cette hypothèse est pertinente.

fit0=lm(CRIM~TXCR+URBR+CHOM+FE90,data=z) #ajustement du modèle restreint summary(fit0)

#### Call:

## lm(formula = CRIM ~ TXCR + URBR + CHOM + FE90, data = z)

(7)

#### Residuals:

## Min 1Q Median 3Q Max

## -25.600 -8.417 -1.237 5.555 65.438

#### Coefficients:

## Estimate Std. Error t value Pr(>|t|)

## (Intercept) -2.2376 16.1551 -0.139 0.890

## TXCR 1.1719 0.2824 4.149 7.55e-05 ***

## URBR 57.1098 6.2792 9.095 2.18e-14 ***

## CHOM 288.4559 52.5634 5.488 3.71e-07 ***

## FE90 -0.1385 0.3085 -0.449 0.655

## ---

## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

#### Residual standard error: 12.41 on 90 degrees of freedom

## Multiple R-squared: 0.6686, Adjusted R-squared: 0.6539

## F-statistic: 45.39 on 4 and 90 DF, p-value: < 2.2e-16 anova(fit0,fit) #test de Fisher

## Analysis of Variance Table

#### Model 1: CRIM ~ TXCR + URBR + CHOM + FE90

## Model 2: CRIM ~ TXCR + ETRA + URBR + JEUN + AGE + CHOM + AGRI + ARTI +

## CADR + EMPL + OUVR + PROF + FISC + FE90

## Res.Df RSS Df Sum of Sq F Pr(>F)

## 1 90 13862.2

## 2 80 5809.6 10 8052.6 11.089 1.297e-11 ***

## ---

## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 Conclusion : on refuse H0 et donc le modèle restreint n’est pas valide.

#Sélection de modéle avec regsubsets library(leaps)

a=regsubsets(CRIM~.,data=z,nvmax=14,method="exhaustive") plot(a,scale="r2")

(8)

r2 (Intercept) TXCR ETRA URBR JEUN A GE CHOM A GRI AR TI CADR EMPL OUVR PR OF FISC FE90

0.5 0.75 0.82 0.84 0.86 0.86 0.86

Le graphique donne le meilleur modèle (pour le critèreR2aj) àk variable pourk∈ {1, ..., p}.

#Méthode Backward “à la main”

On enlève une à une les variables les moins significatives pour le test de Student, jusquà ce que toutes les variables deviennent significatives pour (par exemple pourα= 5%).

fit=lm(CRIM~.,data=z) #modele complet summary(fit)

#### Call:

## lm(formula = CRIM ~ ., data = z)

#### Residuals:

## Min 1Q Median 3Q Max

## -28.9513 -5.1029 0.5126 3.7960 22.1232

#### Coefficients:

## Estimate Std. Error t value Pr(>|t|)

## (Intercept) -1.609e+03 1.297e+03 -1.241 0.21833

## TXCR 7.493e-01 2.928e-01 2.559 0.01237 *

## ETRA 6.939e+01 5.290e+01 1.312 0.19338

## URBR 2.152e+01 9.488e+00 2.269 0.02598 *

## JEUN -2.076e+02 1.413e+02 -1.469 0.14575

## AGE -2.254e+01 1.089e+02 -0.207 0.83656

## CHOM 2.605e+02 4.819e+01 5.406 6.49e-07 ***

## AGRI 1.526e+03 1.297e+03 1.176 0.24294

(9)

## ARTI 1.839e+03 1.301e+03 1.414 0.16138

## CADR 1.783e+03 1.293e+03 1.379 0.17169

## EMPL 1.566e+03 1.285e+03 1.219 0.22656

## OUVR 1.597e+03 1.295e+03 1.233 0.22119

## PROF 1.514e+03 1.303e+03 1.162 0.24885

## FISC 2.603e-03 2.527e-03 1.030 0.30617

## FE90 1.167e+00 4.094e-01 2.849 0.00557 **

## ---

## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

#### Residual standard error: 8.522 on 80 degrees of freedom

## Multiple R-squared: 0.8611, Adjusted R-squared: 0.8368

## F-statistic: 35.43 on 14 and 80 DF, p-value: < 2.2e-16 fit=lm(CRIM~.-AGE,data=z) #modele sans AGE

summary(fit)

#### Call:

## lm(formula = CRIM ~ . - AGE, data = z)

#### Residuals:

## Min 1Q Median 3Q Max

## -28.9955 -4.9622 0.3765 3.9229 21.6484

#### Coefficients:

## Estimate Std. Error t value Pr(>|t|)

## (Intercept) -1.630e+03 1.285e+03 -1.268 0.20826

## TXCR 7.489e-01 2.910e-01 2.573 0.01189 *

## ETRA 7.305e+01 4.955e+01 1.474 0.14432

## URBR 2.179e+01 9.342e+00 2.333 0.02214 *

## JEUN -1.864e+02 9.670e+01 -1.927 0.05744 .

## CHOM 2.587e+02 4.714e+01 5.489 4.51e-07 ***

## AGRI 1.537e+03 1.289e+03 1.193 0.23634

## ARTI 1.846e+03 1.293e+03 1.428 0.15703

## CADR 1.798e+03 1.283e+03 1.401 0.16509

## EMPL 1.577e+03 1.276e+03 1.236 0.22016

## OUVR 1.608e+03 1.286e+03 1.251 0.21468

## PROF 1.531e+03 1.293e+03 1.184 0.23988

## FISC 2.631e-03 2.509e-03 1.049 0.29739

## FE90 1.155e+00 4.030e-01 2.865 0.00531 **

## ---

## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

#### Residual standard error: 8.471 on 81 degrees of freedom

## Multiple R-squared: 0.861, Adjusted R-squared: 0.8387

## F-statistic: 38.61 on 13 and 81 DF, p-value: < 2.2e-16 fit=lm(CRIM~.-AGE-FISC,data=z)

summary(fit)

#### Call:

## lm(formula = CRIM ~ . - AGE - FISC, data = z)

##

(10)

## Residuals:

## Min 1Q Median 3Q Max

## -27.4728 -4.8590 -0.2851 4.1070 21.6330

#### Coefficients:

## Estimate Std. Error t value Pr(>|t|)

## (Intercept) -1493.7530 1279.1831 -1.168 0.24630

## TXCR 0.8156 0.2842 2.870 0.00521 **

## ETRA 66.6044 49.2010 1.354 0.17955

## URBR 25.0171 8.8278 2.834 0.00579 **

## JEUN -217.9744 91.9394 -2.371 0.02009 *

## CHOM 255.7618 47.0827 5.432 5.57e-07 ***

## AGRI 1405.3546 1283.1466 1.095 0.27662

## ARTI 1731.3059 1288.6595 1.343 0.18282

## CADR 1661.7365 1277.4229 1.301 0.19695

## EMPL 1437.9406 1269.8672 1.132 0.26079

## OUVR 1480.3706 1280.9374 1.156 0.25116

## PROF 1425.0260 1289.9269 1.105 0.27251

## FE90 1.2654 0.3892 3.251 0.00167 **

## ---

## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

#### Residual standard error: 8.476 on 82 degrees of freedom

## Multiple R-squared: 0.8591, Adjusted R-squared: 0.8385

## F-statistic: 41.68 on 12 and 82 DF, p-value: < 2.2e-16 fit=lm(CRIM~.-AGE-FISC-AGRI,data=z)

summary(fit)

#### Call:

## lm(formula = CRIM ~ . - AGE - FISC - AGRI, data = z)

#### Residuals:

## Min 1Q Median 3Q Max

## -28.7265 -4.4117 -0.4929 4.1702 21.9825

#### Coefficients:

## Estimate Std. Error t value Pr(>|t|)

## (Intercept) -93.371 38.465 -2.427 0.01737 *

## TXCR 0.798 0.284 2.809 0.00619 **

## ETRA 62.256 49.099 1.268 0.20836

## URBR 23.761 8.764 2.711 0.00814 **

## JEUN -207.894 91.588 -2.270 0.02581 *

## CHOM 253.765 47.104 5.387 6.55e-07 ***

## ARTI 324.772 106.959 3.036 0.00320 **

## CADR 264.200 60.169 4.391 3.30e-05 ***

## EMPL 49.166 68.760 0.715 0.47660

## OUVR 78.025 37.184 2.098 0.03891 *

## PROF 14.649 75.298 0.195 0.84623

## FE90 1.240 0.389 3.187 0.00203 **

## ---

## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

#### Residual standard error: 8.487 on 83 degrees of freedom

(11)

## Multiple R-squared: 0.8571, Adjusted R-squared: 0.8381

## F-statistic: 45.25 on 11 and 83 DF, p-value: < 2.2e-16 fit=lm(CRIM~.-AGE-FISC-AGRI-PROF,data=z)

summary(fit)

#### Call:

## lm(formula = CRIM ~ . - AGE - FISC - AGRI - PROF, data = z)

#### Residuals:

## Min 1Q Median 3Q Max

## -28.7785 -4.4658 -0.4569 4.1317 21.7535

#### Coefficients:

## Estimate Std. Error t value Pr(>|t|)

## (Intercept) -91.8224 37.4155 -2.454 0.01619 *

## TXCR 0.8072 0.2785 2.899 0.00478 **

## ETRA 64.1943 47.8018 1.343 0.18291

## URBR 24.2042 8.4140 2.877 0.00509 **

## JEUN -202.0427 86.0101 -2.349 0.02117 *

## CHOM 253.6971 46.8321 5.417 5.67e-07 ***

## ARTI 323.6084 106.1786 3.048 0.00308 **

## CADR 266.3597 58.7963 4.530 1.93e-05 ***

## EMPL 50.9177 67.7766 0.751 0.45460

## OUVR 76.7355 36.3776 2.109 0.03789 *

## FE90 1.2241 0.3784 3.235 0.00174 **

## ---

## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

#### Residual standard error: 8.438 on 84 degrees of freedom

## Multiple R-squared: 0.857, Adjusted R-squared: 0.84

## F-statistic: 50.35 on 10 and 84 DF, p-value: < 2.2e-16 fit=lm(CRIM~.-AGE-FISC-AGRI-PROF-EMPL,data=z)

summary(fit)

#### Call:

## lm(formula = CRIM ~ . - AGE - FISC - AGRI - PROF - EMPL, data = z)

#### Residuals:

## Min 1Q Median 3Q Max

## -28.7959 -4.7352 -0.5587 4.0895 22.4455

#### Coefficients:

## Estimate Std. Error t value Pr(>|t|)

## (Intercept) -71.0499 25.1422 -2.826 0.005875 **

## TXCR 0.8961 0.2514 3.564 0.000602 ***

## ETRA 69.3387 47.1875 1.469 0.145408

## URBR 27.0615 7.4860 3.615 0.000508 ***

## JEUN -217.6162 83.2604 -2.614 0.010593 *

## CHOM 265.7765 43.8725 6.058 3.64e-08 ***

## ARTI 293.2932 97.9599 2.994 0.003605 **

## CADR 244.6391 51.0651 4.791 6.97e-06 ***

(12)

## OUVR 62.3556 30.8552 2.021 0.046436 *

## FE90 1.2668 0.3732 3.395 0.001046 **

## ---

## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

#### Residual standard error: 8.416 on 85 degrees of freedom

## Multiple R-squared: 0.8561, Adjusted R-squared: 0.8408

## F-statistic: 56.17 on 9 and 85 DF, p-value: < 2.2e-16

fit=lm(CRIM~.-AGE-FISC-AGRI-PROF-EMPL-ETRA,data=z) #toutes les variables sont significatives summary(fit)

#### Call:

## lm(formula = CRIM ~ . - AGE - FISC - AGRI - PROF - EMPL - ETRA,

## data = z)

#### Residuals:

## Min 1Q Median 3Q Max

## -29.974 -5.465 -0.158 4.173 20.247

#### Coefficients:

## Estimate Std. Error t value Pr(>|t|)

## (Intercept) -71.5177 25.3091 -2.826 0.005863 **

## TXCR 0.9706 0.2479 3.915 0.000181 ***

## URBR 31.8055 6.7994 4.678 1.07e-05 ***

## JEUN -272.7825 74.8150 -3.646 0.000455 ***

## CHOM 248.6768 42.5852 5.840 9.08e-08 ***

## ARTI 294.1866 98.6160 2.983 0.003712 **

## CADR 254.7669 50.9377 5.002 2.97e-06 ***

## OUVR 70.9567 30.4984 2.327 0.022340 *

## FE90 1.5463 0.3232 4.784 7.05e-06 ***

## ---

## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

#### Residual standard error: 8.473 on 86 degrees of freedom

## Multiple R-squared: 0.8524, Adjusted R-squared: 0.8387

## F-statistic: 62.08 on 8 and 86 DF, p-value: < 2.2e-16

Analyse de la variance à 1 facteur

Utilisons le jeu de données iris pour illustrer l’analyse de la variance à un facteur. On peut commencer par représenter les données avec des graphiques.

boxplot(Sepal.Length~Species,data=iris)

(13)

setosa versicolor virginica

4.5 5.5 6.5 7.5

Species

Sepal.Length

Le package ggplot2 permet des représentations plus sophistiquées.

library(ggplot2)

ggplot(iris, aes(y=Sepal.Length, x=Species,colour=Species ,fill=Species))+

geom_boxplot(alpha=0.5, outlier.alpha=0)+

geom_jitter(width=0.25)+

theme_classic()

(14)

5 6 7 8

setosa versicolor virginica

Species

Sepal.Length

Species

setosa versicolor virginica

fit=lm(Sepal.Length~Species,data=iris) summary(fit)

#### Call:

## lm(formula = Sepal.Length ~ Species, data = iris)

#### Residuals:

## Min 1Q Median 3Q Max

## -1.6880 -0.3285 -0.0060 0.3120 1.3120

#### Coefficients:

## Estimate Std. Error t value Pr(>|t|)

## (Intercept) 5.0060 0.0728 68.762 < 2e-16 ***

## Speciesversicolor 0.9300 0.1030 9.033 8.77e-16 ***

## Speciesvirginica 1.5820 0.1030 15.366 < 2e-16 ***

## ---

## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

#### Residual standard error: 0.5148 on 147 degrees of freedom

## Multiple R-squared: 0.6187, Adjusted R-squared: 0.6135

## F-statistic: 119.3 on 2 and 147 DF, p-value: < 2.2e-16

Pour interpréter les résultats, il faut identifier la modalité de référence. Ici, il s’agit de l’espèce Setosa. Les paramètres s’interprètent comme des effets différentiels par rapport à l’espèce de référence. Les p-values des tests de Student indiquent que les effets différentiels sont significativement différents de 0.

(15)

Le test de Fisher test l’hypothèse que tous les effets différentiels sont nuls simultanément. Cette hypothèse est refusée, et donc on ne peut pas supposer que la variable Sepal.Length a la même moyenne pour les différentes espèces.

La fonction aov peut également être utile pour réaliser le test d’analyse de la variance à un ou deux facteurs.

fit=aov(Sepal.Length~Species,data=iris) summary(fit)

## Df Sum Sq Mean Sq F value Pr(>F)

## Species 2 63.21 31.606 119.3 <2e-16 ***

## Residuals 147 38.96 0.265

## ---

## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Analyse de la covariance

On considère toujours le jeu de données iris, et on cherche à expliquer la variable Sepal.Length en fonction des variables Petal.Length et Species. Commençons par représenter les données

plot(iris$Sepal.Length,iris$Petal.Length,col=iris$Species)

4.5 5.0 5.5 6.0 6.5 7.0 7.5 8.0

1 2 3 4 5 6 7

iris$Sepal.Length

ir is$P etal.Length

Ou avec ggplot2.

library(ggplot2)

ggplot(iris, aes(y=Petal.Length, x=Sepal.Length,colour=Species ,fill=Species))+

(16)

geom_point()+ theme_classic()

2 4 6

5 6 7 8

Sepal.Length

Petal.Length

Species

setosa versicolor virginica

La fonction lm permet d’ajuster le modèle d’analyse de la covariance. L’interaction se code avec *.

fit=lm(Petal.Length~Sepal.Length*Species,data=iris) summary(fit)

#### Call:

## lm(formula = Petal.Length ~ Sepal.Length * Species, data = iris)

#### Residuals:

## Min 1Q Median 3Q Max

## -0.68611 -0.13442 -0.00856 0.15966 0.79607

#### Coefficients:

## Estimate Std. Error t value Pr(>|t|)

## (Intercept) 0.8031 0.5310 1.512 0.133

## Sepal.Length 0.1316 0.1058 1.244 0.216

## Speciesversicolor -0.6179 0.6837 -0.904 0.368

## Speciesvirginica -0.1926 0.6578 -0.293 0.770

## Sepal.Length:Speciesversicolor 0.5548 0.1281 4.330 2.78e-05 ***

## Sepal.Length:Speciesvirginica 0.6184 0.1210 5.111 1.00e-06 ***

## ---

## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

##

(17)

## Residual standard error: 0.2611 on 144 degrees of freedom

## Multiple R-squared: 0.9789, Adjusted R-squared: 0.9781

## F-statistic: 1333 on 5 and 144 DF, p-value: < 2.2e-16

Il faut savoir écrire le modèle ajusté et interpréter les estimations obtenues. On peut représenter le modèle ajusté avec ggplot2.

library(ggplot2)

ggplot(iris, aes(y=Petal.Length, x=Sepal.Length,colour=Species ,fill=Species))+ geom_point()+

geom_smooth(method = "lm")+ theme_classic()

## `geom_smooth()` using formula 'y ~ x'

2 4 6

5 6 7 8

Sepal.Length

Petal.Length

Species

setosa versicolor virginica

En exercice, vous pouvez refaire le graphique précédent “à la main”, sans utiliser ggplot.

Les effets différentiels sur les intercept ne semblent pas significatifs. On peut le vérifier avec un test.

Commençons par ajuster le modèle dans lequel les intercept sont les mêmes pour les différentes variétés.

fit2=lm(Petal.Length~Sepal.Length:Species,data=iris) summary(fit2)

#### Call:

## lm(formula = Petal.Length ~ Sepal.Length:Species, data = iris)

#### Residuals:

## Min 1Q Median 3Q Max

(18)

## -0.73348 -0.15536 -0.00325 0.15226 0.79714

#### Coefficients:

## Estimate Std. Error t value Pr(>|t|)

## (Intercept) 0.50700 0.25246 2.008 0.046467 *

## Sepal.Length:Speciessetosa 0.19049 0.05072 3.756 0.000249 ***

## Sepal.Length:Speciesversicolor 0.63264 0.04267 14.827 < 2e-16 ***

## Sepal.Length:Speciesvirginica 0.76564 0.03838 19.949 < 2e-16 ***

## ---

## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

#### Residual standard error: 0.2602 on 146 degrees of freedom

## Multiple R-squared: 0.9787, Adjusted R-squared: 0.9783

## F-statistic: 2238 on 3 and 146 DF, p-value: < 2.2e-16 On peut ensuite réaliser un test de Fisher pour comparer les deux modèles.

anova(fit2,fit)

## Analysis of Variance Table

#### Model 1: Petal.Length ~ Sepal.Length:Species

## Model 2: Petal.Length ~ Sepal.Length * Species

## Res.Df RSS Df Sum of Sq F Pr(>F)

## 1 146 9.8820

## 2 144 9.8179 2 0.064139 0.4704 0.6257

L’hypothèse H0 est accepté : on peut bien supposer que les intercepts sont les mêmes.

En exercice, vous pouvez représenter le modèle ajusté comme ci-dessus.

La commande ci-dessous permet d’ajuster le modèle dans lequel toutes les pentes sont identiques. On peut vérifier que ce modèle est moins bon que le modèle complet.

fit3=lm(Petal.Length~Sepal.Length+Species,data=iris) anova(fit3,fit)

## Analysis of Variance Table

#### Model 1: Petal.Length ~ Sepal.Length + Species

## Model 2: Petal.Length ~ Sepal.Length * Species

## Res.Df RSS Df Sum of Sq F Pr(>F)

## 1 146 11.6571

## 2 144 9.8179 2 1.8393 13.489 4.272e-06 ***

## ---

## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Références

Documents relatifs

[r]

O debate sobre a nova economia diz respeito principalmente aos Estados Unidos, na medida em que o crescimento europeu se explica muito bem pelos argumentos tradicionais, sem falar

[r]

[r]

[r]

Universit´e de Paris X Nanterre vendredi 13 janvier 2006 Licence MMIA deuxi`eme ann´ee.. enseignant

Cela fait en tout 28 nombres qui comptent chacun

Un joueur qui dit &#34;je ne sais pas&#34; indique que toutes les formes présentes une seule fois dans son tableau quant à son paramètre personnel ne conviennent pas (car sinon,