0% ont trouvé ce document utile (0 vote)
39 vues4 pages

TP3: Lissage Exponentiel: Observation Et Pré-Traitement Des Données

Transféré par

Ranim kacem
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
39 vues4 pages

TP3: Lissage Exponentiel: Observation Et Pré-Traitement Des Données

Transféré par

Ranim kacem
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd

TP3 : lissage exponentiel

L’objectif de ce TP est de comprendre l’utilisation de la fonction ets() du


package forecast pour estimer les paramètres d’un modèle de lissage exponentiel.
Nous illustrerons son fonctionnement sur les données USAccDeaths donnant le
nombre mensuel de décès accidentels aux Etats-Unis entre 1973 et 1978.

library("forecast")
help(ets)
help("USAccDeaths")

Observation et pré-traitement des


données
Nous commençons par tracer les données :

plot(USAccDeaths)

monthplot(USAccDeaths)

Les tracés du chronogramme et du diagramme par mois montrent un motif


saisonnier global avec une tendance à l’augmentation du nombre de décès entre
février et juillet, suivie d’une baisse jusqu’en septembre.
Nous allons tester différentes méthodes de lissage exponentiel. Pour évaluer leurs
performances prédictives, nous allons estimer les paramètres du modèle sur la série
allant de janvier 1973 jusqu’à décembre 1977 et garder les observations de l’année
1978 pour les comparer avec les prévisions.

USAccDeaths.7377 <- window(USAccDeaths,start=1973,end=c(1977,12))


USAccDeaths.78 <- window(USAccDeaths,start=1978)

Lissage exponentiel simple


Nous commençons par le lissage exponentiel simple. La commande estime les
paramètres du modèle de lissage exponentiel simple avec erreur additive

fitLES <- ets(USAccDeaths.7377,model="ANN")

estime les paramètres du modèle de lissage exponentiel simple avec erreur additive.
La commande

summary(fitLES)
## ETS(A,N,N)
##
## Call:
## ets(y = USAccDeaths.7377, model = "ANN")
##
## Smoothing parameters:
## alpha = 0.9999
##
## Initial states:
## l = 9771.3144
##
## sigma: 731.3451
##
## AIC AICc BIC
## 1043.047 1043.475 1049.330
##
## Training set error measures:
## ME RMSE MAE MPE MAPE MASE
## Training set -16.25775 731.3451 641.5581 -0.5246159 7.359666 1.331897
## ACF1
## Training set 0.03409478

nous donne une estimation par maximum de vraisemblance des paramètres du


modèle (αα, ℓ1ℓ1 et σσ), les valeurs des critères AIC, AICc et BIC ainsi que
différentes mesures d’erreurs.
Notons et:=Xt−X^t|t−1et:=Xt−X^t|t−1 le résidus d’estimation. Si nous
observons X1,...,XnX1,...,Xn, nous avons :

 l’erreur moyenne :

ME=1n∑t=1net;ME=1n∑t=1net;

 l’erreur quadratique moyenne :

RMSE=1n∑t=1ne2t−−−−−−−√,RMSE=1n∑t=1net2,

 l’erreur absolue moyenne :

MAE=1n∑t=1n|et|,MAE=1n∑t=1n|et|,
 l’erreur en pourcentage moyenne :

MPE=1001n∑t=1netXtMPE=1001n∑t=1netXt

 l’erreur relative moyenne

MAPE=1001n∑t=1n|et||Xt|MAPE=1001n∑t=1n|et||Xt|

 erreur moyenne normalisée

MASE=n−1n∑nt=1et∑nu=2|Xu−Xu−1|MASE=n−1n∑t=1net∑u=2n|
Xu−Xu−1|

 autocorrélation des erreurs à l’horizon 1 (ACF1).

La fonction forecast() permet de prédire à l’aide du modèle généré par la


fonction ets().

predLES <- forecast(fitLES,h=12)


plot(predLES)
points(USAccDeaths.78,type='l',col='darkgreen',lwd=2)
legend('top',c("Valeurs
observées","Prédictions"),col=c("darkgreen","blue"),lty=rep(1,2),lwd =
rep(2,2))

Nous remarquons que le modèle est trop basique dans notre cas pour prédire à
l’horizon 12 et que l’intervalle de confiance à 80%, bien que très large, ne contient
pas les vraies valeurs de la série.

Lissage exponentiel de Holt


(double)
fitLED <- ets(USAccDeaths.7377,model="AAN")
summary(fitLED)
## ETS(A,A,N)
##
## Call:
## ets(y = USAccDeaths.7377, model = "AAN")
##
## Smoothing parameters:
## alpha = 0.9841
## beta = 1e-04
##
## Initial states:
## l = 8554.9205
## b = 9.7804
##
## sigma: 727.1569
##
## AIC AICc BIC
## 1046.358 1047.469 1056.829
##
## Training set error measures:
## ME RMSE MAE MPE MAPE MASE
## Training set -5.986894 727.1569 635.8686 -0.4200186 7.300841 1.320085
## ACF1
## Training set 0.01683508
predLED <- forecast(fitLED,h=12)
plot(predLED)
points(USAccDeaths.78,type='l',col='darkgreen',lwd=2)
legend('top',c("Valeurs
observées","Prédictions"),col=c("darkgreen","blue"),lty=rep(1,2),lwd =
rep(2,2))

Le modèle étant plus général, l’erreur moyenne est nécessairement inférieure mais
cette méthode ne semble pas préférable à la précédente, le paramètre ββ estimé est
très petit, l’AIC, l’AICc et le BIC sont plus grands et l’erreur moyenne relative est à
peu près du même ordre.

Vous aimerez peut-être aussi