La régression linéaire simple est une méthode
statistique permettant de modéliser la relation linéaire
Entre deux variables quantitatives dans un but objectif explicatif ou prévisionnel.(Apprentissage supervisé)
Application sur Rstudio
3. Objectif
La régression linéaire simple est une méthode
statistique permettant de modéliser la relation linéaire
Entre deux variables quantitatives dans un but objectif
explicatif ou prévisionnel.
4. Modélisation mathématiques
Dans le cadre de la régression linéaire simple, on écrit alors la
relation recherchée sous la forme suivante : Y = β 0 + β 1X +e
Y=(y1….yn); X(x1,x2…..), e(e1….en)
e est vecteur de bruit,
Les variations sont en général dues à une multitude de
facteurs inconnus ou que l'on ne sait pas contrôler.
L objectif est d’estimer à partir d’un échantillon de n couples
((x1,y1) ….(xn, yn)), les paramètres β0 et β1 par la méthode
De moindre carrées
6. Terme d’erreur
Il est nécessaire d'attacher à tout modèle un terme
aléatoire qui représente l'écart entre le modèle
théorique et la réalité
Ce terme aléatoire appelé terme d'erreur, est ajouté
au modèle comme le montre la relation précédente
7. Hypothèses
La validité de la plupart des résultats que nous
exposons dans la suite dépend directement des
hypothèses.
Il est impossible de valider les hypothèses
théoriques, c’est uniquement à partir des données
qu’on peut les valider
8. Hypothèses
HYPOTHESE 1 :
• Le modèle doit être « linéaire par rapport aux paramètres »,
c’est-à-dire Y = β0 + β1 X1
HYPOTHESE 2
Le modèle doit être bien spécifié, c’est à dire qu’il ne faut pas
avoir oublié des variables explicatives.
HYPOTHESE 3
La variable explicative X est déterministe, c’est à dire que les
valeurs prises par X sont parfaitement connues
9. Hypothèses
HYPOTHESE 4:
L’espérance des erreurs associées à chaque couple
d’observations est nulle :
E(εi) = 0 ∀i ∈{1,n}
Cela implique que la moyenne de Yi lorsque X = Xi est β0 + β1
Xi .
Plus généralement, on a : E(Y) = β0 + β1 X1
10. Hypothèses
HYPOTHESE 5 :
La variance des erreurs associées à chaque couple
d’observations est constante.
Var(ɛi ) = constante = σ2 ∀ i appartient à {1….n}
HYPOTHESE 6 :
Les termes d’erreur ne sont pas corrélés.
Il ne doit y avoir aucun lien entre l’erreur commise sur une
mesure et les mesures effectuées précédemment. cela se
traduit par : Cov(εi εj) = 0 pour i≠ j
12. Etapes d’analyses régression simple
• Importer des données
• Représenter le nuage de points (xi, yi)
• Estimer les paramètres
• Tracer la droite de régression
• Analyse le terme d’erreur (résidus)
• Prédiction des nouvelles valeurs
13. Etude de cas sur R
Exemple:
Nous allons étudier l’impact de la pollution de l’air sur la santé public.
Pour cela nous disposons la présence de certains présence chimique comme
(NO2), Ozone(O3) , SO2 etc. ….
On va analyser ici la relation entre le maximum journalier de la concentration
En ozone et la température à midi.
Les données sont représentées par un fichier.txt (data.txt)
15. Etude de cas sur R
##1.importer les données et l'affecter dans la variable ozone
ozone<-read.table("http://www.agrocampus-ouest.fr/math/livreR/ozone.txt",header=T)
## lien entre variable maxO3,"T12«
summary(ozone[,c("maxO3","T12")])
## 2.representer le nuage de points (xi,yi)
plot(maxO3~T12, data=ozone, pch=15, cex=.5)
##3.estimation des paramètres
reg.simple<-lm(maxO3~T12, data=ozone)
summary(reg.simple)
##les valeurs estimées a et b
names(reg.simple)
reg.simple$coef
coef(reg.simple)
## ajustement du modèle sans la constante
reg.ss.constante<-lm(maxO3~T12-1, data=ozone)
## tracer la droite de la régression par la fonction plot, délimiter la zone par grillexy
plot(maxO3~T12, data=ozone, pch=15, cex=.5)
grillex<-seq(min(ozone[,"T12"]),max(ozone[,"T12"]),length=100)
grilley<-reg.simple$coef[1] + reg.simple$coef[2]*grillex
lines(grillex,grilley,col=2)
16. Etude de cas sur R
##Analyse de résidus
res.simple<-rstudent(reg.simple)
plot(res.simple,pch=15,cex=.5,ylab="Residus",ylim=c(-3,3))
abline(h = c(-2,0,2),lty=c(2,1,2))
### Prévisions des nouvelles valeurs
xnew<- 19
xnew <- as.data.frame(xnew)
colnames(xnew)<-"T12"
predict(reg.simple,xnew,interval="pred")
######intervalle de confiance et de prévision
grillex.df<-data.frame(grillex)
dimnames(grillex.df)[[2]]<-"T12"
ICdte<-predict(reg.simple,new=grillex.df,interval = "conf",level = 0.95)
plot(maxO3~T12,data=ozone,pch=15,cex=.5)
matlines(grillex,cbind(ICdte,ICprev[,-1]), lty = c(1,2,2,3,3),
col=c("black","red","red", "blue","blue"))
legend("topleft",lty = 2:3,col = c("red","blue"),c("conf","prev"))
17. Résultats graphiques
Résultats statistiques descriptives et représentation du nuage de point
summary(ozone[,c("maxO3","T12")])
maxO3 T12 Min. : 42.00 Min. :14.00 1st Qu.: 70.75 1st
Qu.:18.60 Median : 81.50 Median :20.55 Mean : 90.30 Mean
:21.53 3rd Qu.:106.00 3rd Qu.:23.55 Max. :166.00 Max.
:33.50
>
19. Résultats graphiques
• Intervalle de confiance et de prévision
predict(reg.simple,xnew,interval="pred") fit lwr upr 1
76.48538 41.4547 111.5161
>
20. Conclusion
• L’approximation des données s’effectue selon la démarche suivante
On construit une fonction de coût correspondant à l’erreur induite par la
modélisation.
la meilleure modélisation est celle qui minimise l’erreur .
méthode itérative qui vise à prendre la meilleure pente jusqu’au minimum de la
fonction de coût.