Vous êtes sur la page 1sur 11

EXAM2019

MOSLIH Amina
14/02/2020

QUESTION 1)
Les hypothèses d’un modèle de regression linéaire multiple:
H1-le modèle est linéaire
H2-la matrice X’X est inversible
H3-l’esperance de l’erreur est nulle
H4-l’homoscidasticité et absence d’autocorrélation
H5-l’erreur est indépendane de la variable exlicative
H6-la normalité des erreur

Question 2)
on peut résumer notre diagnostic en 4 graphes avec la commande plot(reg)
sinon il y a d’autres tests
Pour tester la normalité des erreurs
-shapiro==>shapiro.test(resid(lm))
-Jarque.bera.test(resid(lm)) require(tesries)
Pour tester la linéarité
-raintest(lm) require lm(test)
Pour tester l’homogénéité
-gqtest(lm)
Pour tester la non autocorrélation des erreurs
-Box.test(resid(lm))
-dwtest(reg)
Pour tester la colinéarité des variables explicatives
-vif(lm) require(car)
Pour la selection du bon modèle
-step(lm)

Partie I : Mise en forme du jeu de données :


data(state)
EU <- data.frame(state.x77, row.names=state.abb)

Question 1)
le meilleur code qui permet d’explorer l’objet EU c’est str(data)
str(EU)

## 'data.frame': 50 obs. of 8 variables:


## $ Population: num 3615 365 2212 2110 21198 ...
## $ Income : num 3624 6315 4530 3378 5114 ...
## $ Illiteracy: num 2.1 1.5 1.8 1.9 1.1 0.7 1.1 0.9 1.3 2 ...
## $ Life.Exp : num 69 69.3 70.5 70.7 71.7 ...
## $ Murder : num 15.1 11.3 7.8 10.1 10.3 6.8 3.1 6.2 10.7 13.9 ...
## $ HS.Grad : num 41.3 66.7 58.1 39.9 62.6 63.9 56 54.6 52.6 40.6 ...
## $ Frost : num 20 152 15 65 20 166 139 103 11 60 ...
## $ Area : num 50708 566432 113417 51945 156361 ...

Partie II : Estimation du modèle de régression simple : modèle 1

Question 1)
life.reg1=lm( Life.Exp~Income,data=EU)
life.reg1

##
## Call:
## lm(formula = Life.Exp ~ Income, data = EU)
##
## Coefficients:
## (Intercept) Income
## 6.758e+01 7.433e-04

summary(life.reg1)

##
## Call:
## lm(formula = Life.Exp ~ Income, data = EU)
##
## Residuals:
## Min 1Q Median 3Q Max
## -2.96547 -0.76381 -0.03428 0.92876 2.32951
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 6.758e+01 1.328e+00 50.906 <2e-16 ***
## Income 7.433e-04 2.965e-04 2.507 0.0156 *
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 1.275 on 48 degrees of freedom
## Multiple R-squared: 0.1158, Adjusted R-squared: 0.09735
## F-statistic: 6.285 on 1 and 48 DF, p-value: 0.01562

Interprétation: quand le revenu par individu agmente d’une unité l’esperance de vie
augmente de 𝛼̂1 = 0.007433

Question 2)
-Le nuage de pionts
plot(EU$Life.Exp~EU$ Income )

La droite de regression
require(ggplot2)

## Loading required package: ggplot2

ggplot(EU,aes(y=Life.Exp,x=Income))+geom_point()+geom_smooth(method="lm")
-L’intervalle de confiance:
ICconf <- predict(life.reg1, interval = "confidence", level = 0.95)
require(HH)

## Loading required package: HH

## Loading required package: lattice

## Loading required package: grid

## Loading required package: latticeExtra

##
## Attaching package: 'latticeExtra'

## The following object is masked from 'package:ggplot2':


##
## layer

## Loading required package: multcomp

## Loading required package: mvtnorm

## Loading required package: survival

## Loading required package: TH.data

## Loading required package: MASS


##
## Attaching package: 'TH.data'

## The following object is masked from 'package:MASS':


##
## geyser

## Loading required package: gridExtra

ci.plot(life.reg1)

Partie III : Estimation du modèle de régression global : modèle 2


Question 1)
le code qui régresse la variable Life.Exp sur les sept variables restantes du fichier EU
life.reg2=lm(Life.Exp~.,data=EU)

Question2)
summary(life.reg2)

##
## Call:
## lm(formula = Life.Exp ~ ., data = EU)
##
## Residuals:
## Min 1Q Median 3Q Max
## -1.48895 -0.51232 -0.02747 0.57002 1.49447
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 7.094e+01 1.748e+00 40.586 < 2e-16 ***
## Population 5.180e-05 2.919e-05 1.775 0.0832 .
## Income -2.180e-05 2.444e-04 -0.089 0.9293
## Illiteracy 3.382e-02 3.663e-01 0.092 0.9269
## Murder -3.011e-01 4.662e-02 -6.459 8.68e-08 ***
## HS.Grad 4.893e-02 2.332e-02 2.098 0.0420 *
## Frost -5.735e-03 3.143e-03 -1.825 0.0752 .
## Area -7.383e-08 1.668e-06 -0.044 0.9649
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.7448 on 42 degrees of freedom
## Multiple R-squared: 0.7362, Adjusted R-squared: 0.6922
## F-statistic: 16.74 on 7 and 42 DF, p-value: 2.534e-10

Interprétation : le coefficient Income est non significatif quand le revenu de l’individu


augmente d’une unité l’esperance de vie va diminuer de 2.18hl

Partie IV : Estimation du meilleur modèle de régression : modèle 3


Question1)
Le meilleur sous-ensemble de Variables Explicatives
life.reg3=step(life.reg2)

## Start: AIC=-22.18
## Life.Exp ~ Population + Income + Illiteracy + Murder + HS.Grad +
## Frost + Area
##
## Df Sum of Sq RSS AIC
## - Area 1 0.0011 23.298 -24.182
## - Income 1 0.0044 23.302 -24.175
## - Illiteracy 1 0.0047 23.302 -24.174
## <none> 23.297 -22.185
## - Population 1 1.7472 25.044 -20.569
## - Frost 1 1.8466 25.144 -20.371
## - HS.Grad 1 2.4413 25.738 -19.202
## - Murder 1 23.1411 46.438 10.305
##
## Step: AIC=-24.18
## Life.Exp ~ Population + Income + Illiteracy + Murder + HS.Grad +
## Frost
##
## Df Sum of Sq RSS AIC
## - Illiteracy 1 0.0038 23.302 -26.174
## - Income 1 0.0059 23.304 -26.170
## <none> 23.298 -24.182
## - Population 1 1.7599 25.058 -22.541
## - Frost 1 2.0488 25.347 -21.968
## - HS.Grad 1 2.9804 26.279 -20.163
## - Murder 1 26.2721 49.570 11.569
##
## Step: AIC=-26.17
## Life.Exp ~ Population + Income + Murder + HS.Grad + Frost
##
## Df Sum of Sq RSS AIC
## - Income 1 0.006 23.308 -28.161
## <none> 23.302 -26.174
## - Population 1 1.887 25.189 -24.280
## - Frost 1 3.037 26.339 -22.048
## - HS.Grad 1 3.495 26.797 -21.187
## - Murder 1 34.739 58.041 17.456
##
## Step: AIC=-28.16
## Life.Exp ~ Population + Murder + HS.Grad + Frost
##
## Df Sum of Sq RSS AIC
## <none> 23.308 -28.161
## - Population 1 2.064 25.372 -25.920
## - Frost 1 3.122 26.430 -23.877
## - HS.Grad 1 5.112 28.420 -20.246
## - Murder 1 34.816 58.124 15.528

modele3=lm(Life.Exp ~ Population + Murder + HS.Grad + Frost , data=EU)


modele3

##
## Call:
## lm(formula = Life.Exp ~ Population + Murder + HS.Grad + Frost,
## data = EU)
##
## Coefficients:
## (Intercept) Population Murder HS.Grad Frost
## 7.103e+01 5.014e-05 -3.001e-01 4.658e-02 -5.943e-03

donc le meilleur modèle c’est: Life.Exp 7.103e+01+0.00005 population -0.3001Murder


+0.006548HS.Grad-0.005943 Frost

Question 2)
la comparaison de l’espérance de vie estimée avec ce modèle3 avec l’espérance de vie
observée
BD=data.frame(Murder=8,Population=4250,HS.Grad=75,Frost =80)
predict(modele3,newdata=BD)
## 1
## 71.85724

on comparant 71.85724 avec 74 on trouve un erreur environ de 3 il ya une contradiction


avec le modèle

Partie V : Tests sous contraintes


Question 1)
les tests sous contraintes:
require(car)

## Loading required package: car

## Loading required package: carData

##
## Attaching package: 'car'

## The following objects are masked from 'package:HH':


##
## logit, vif

linearHypothesis(modele3,c("Murder","HS.Grad","Frost") , c(0,1,0))

## Linear hypothesis test


##
## Hypothesis:
## Murder = 0
## HS.Grad = 1
## Frost = 0
##
## Model 1: restricted model
## Model 2: Life.Exp ~ Population + Murder + HS.Grad + Frost
##
## Res.Df RSS Df Sum of Sq F Pr(>F)
## 1 48 2642.02
## 2 45 23.31 3 2618.7 1685.3 < 2.2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

on’a la p-value<5% donc RH0 ==>les contraintes ne sont pas compatibles

Partie VI : Diagnostique du modèle 3 :


Question 1)
I- Méthode graphique
op=par(mfrow=c(2,2))
plot(modele3)
commentaire:
-d’après le premier graphe(Variable endogène estimé vs Résidus) on remarque que les
rédsidus ne sont pas structurés
pour le deuxième graphe(Normal Q-Q (quantile de la loi normale vs quantile des résidus
standarisés)) on remarque qu’on n’a une forme linéaire ce qui est signe de la normalité des
erreurs.
-pour le troisième graphe (Variable endogène estimé vs La racine des résidus standarisés)
on remarque que la variance des erreurs est constante donc il ya l’homoscédasticité
et pour le quatrème graphe (Effet de levier (Leverage) vs Résidus standarisés) on remarque
qu’il n’ya pas de points aberrants qui influencent le droite
II- Tests statistiques
##Test de normalité des erruers
require(tseries)

## Loading required package: tseries

## Registered S3 method overwritten by 'quantmod':


## method from
## as.zoo.data.frame zoo

jarque.bera.test(resid(modele3))
##
## Jarque Bera Test
##
## data: resid(modele3)
## X-squared = 1.4262, df = 2, p-value = 0.4901

on’a la p-value supérieur à 5% donc on ne peut pas rejetter H0 donc les erruers suivent une
loi normale
##Test de linéarité
require(lmtest)

## Loading required package: lmtest

## Loading required package: zoo

##
## Attaching package: 'zoo'

## The following objects are masked from 'package:base':


##
## as.Date, as.Date.numeric

raintest(modele3)

##
## Rainbow test
##
## data: modele3
## Rain = 1.1324, df1 = 25, df2 = 20, p-value = 0.3924

on’a la p-value superier à 5% donc on ne peut pas rejetter H0, donc le modele est linéaire
##Test d'homoginété
gqtest(modele3)

##
## Goldfeld-Quandt test
##
## data: modele3
## GQ = 0.71805, df1 = 20, df2 = 20, p-value = 0.7672
## alternative hypothesis: variance increases from segment 1 to 2

on’a la p-value superieur à 5% donc il ya homogéniété


##la non autocorrelation des erreurs
Box.test(resid(modele3))

##
## Box-Pierce test
##
## data: resid(modele3)
## X-squared = 0.041106, df = 1, p-value = 0.8393
on’a la p-value superieur à 5% donc NRH0 alors il n ya pas l’autocorrélation des erreurs

Question2)
##la colinéarité des variables exlicative
require(car)
vif(modele3)

## Population Murder HS.Grad Frost


## 1.189835 1.727844 1.356791 1.498077

Puisque le vif des variables explicatives sont inférieures à 10 alors il n’y a pas de corrélation
entre eux.

Vous aimerez peut-être aussi