7 - Étude de cas

Désaisonnaliser une série temporelle

Auteur

Alain Quartier-la-Tente

L’objectif de ce TP est de faire une étude de cas spécifique pour voir des problèmes possibles et une proposition de solution.

Disclaimer : il peut exister plusieurs solutions, celles données dans ce TP ne sont que des propositions qui peuvent être discuté.

Pour télécharger le workspace, cliquer ici et dézipper le fichier. Pour importer les séries depuis R, vous pouvez par exemple utiliser le code suivant :

library(RJDemetra)
dir <- tempdir()
download.file("https://aqlt.github.io/formation.2023.cvsdata/Etude_de_cas.zip",
              file.path(dir, "Etude_de_cas.zip"))
unzip(file.path(dir, "Etude_de_cas.zip"),
      exdir = dir)
u_def_var <- c("diagnostics.td-sa-last", "diagnostics.td-i-last",
               "diagnostics.fcast-insample-mean", "diagnostics.fcast-outsample-mean",
               "diagnostics.fcast-outsample-variance")
jws <- load_workspace(file.path(dir, "Etude_de_cas.xml"))
compute(jws)
all_models <- get_model(jws,
            userdefined = u_def_var)[[1]]
all_models$RF2932

1 Pré-ajustement

1.1 Série RF2932

Exercice

Il y a un problème d’hétéroscédasticité (au seuil de 1 %) et un léger problème de non-normalité (au seuil de 1 %).

Que pensez-vous du schéma de décomposition ?

Décision : forcer le schéma en multiplicatif.

RF2932_init <- x13(get_ts(all_models$RF2932),
                   x13_spec(all_models$RF2932),
                   userdefined = c("diagnostics.levelstat",
                                   "diagnostics.logstat"))
# avec modèle airline, le modèle additif est meilleur en terme d'aicc
c(RF2932_init$user_defined) 
$diagnostics.levelstat
[1] 1106.606

$diagnostics.logstat
[1] 1122.762
RF2932_init$regarima$residuals.stat
$st.error
[1] 6.372732

$tests

Normality
         Statistic P.value    
mean     -0.311958  0.7555 ***
skewness -0.002427  0.9898 ***
kurtosis  3.690535  0.0702  **

Signif. codes:  H0 (normality of residuals) is not rejected at 
significance levels: 0.1 ***0.05 **

Independence
                                       Statistic P.value    
ljung box                              25.022652  0.2960 ***
ljung box (residuals at seasonal lags)  0.004277  0.9979 ***

Signif. codes: H0 (independence of residuals) is not rejected at 
significance levels: 0.1 ***0.05 **

Linearity
                              Statistic P.value  
ljung box (squared residuals) 43.621083  0.0040  

Signif. codes:  H0 (no conditional heteroscedasticity of residuals) is not rejected at 
significance levels: 0.1 ***0.05 **
summary(RF2932_init$regarima)
y = regression model + arima (1, 1, 0, 0, 1, 1)

Model: RegARIMA - X13
Estimation span: from 1-2004 to 10-2018
Log-transformation: no
Regression model: no mean, trading days effect(1), no leap year effect, no Easter effect, outliers(1)

Coefficients:
ARIMA: 
          Estimate Std. Error T-stat Pr(>|t|)    
Phi(1)     0.30362    0.07510  4.043 8.08e-05 ***
BTheta(1) -0.41738    0.06849 -6.094 7.51e-09 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Regression model: 
                  Estimate Std. Error T-stat Pr(>|t|)    
REG1_semaine_mens   1.1666     0.1017 11.471  < 2e-16 ***
LS (11-2008)      -22.7610     5.2300 -4.352 2.36e-05 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1


Residual standard error: 6.373 on 160 degrees of freedom
Log likelihood = -540.9, aic =  1092, aicc =  1092, bic(corrected for length) = 3.828
plot(get_ts(RF2932_init)) # schéma parait plutôt multiplicatif

RF2932 <- x13(get_ts(RF2932_init),
              x13_spec(RF2932_init,
                       transform.function = "Log"))
# critères d'information plus petits avec le modèle ARIMA final
summary(RF2932$regarima) 
y = regression model + arima (0, 1, 1, 0, 1, 1)

Model: RegARIMA - X13
Estimation span: from 1-2004 to 10-2018
Log-transformation: yes
Regression model: no mean, trading days effect(1), no leap year effect, no Easter effect, outliers(2)

Coefficients:
ARIMA: 
          Estimate Std. Error T-stat Pr(>|t|)    
Theta(1)  -0.22136    0.07840 -2.823  0.00534 ** 
BTheta(1) -0.50008    0.06941 -7.204 1.97e-11 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Regression model: 
                    Estimate Std. Error T-stat Pr(>|t|)    
REG1_semaine_mens  0.0112093  0.0008184 13.696  < 2e-16 ***
AO (12-2008)      -0.3056862  0.0359622 -8.500 1.07e-14 ***
LS (11-2008)      -0.2290773  0.0448183 -5.111 8.78e-07 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1


Residual standard error: 0.05127 on 159 degrees of freedom
Log likelihood = 254.3, aic =  1040, aicc =  1040, bic(corrected for length) = -5.786
RF2932$regarima$residuals.stat
$st.error
[1] 0.05127311

$tests

Normality
         Statistic P.value    
mean     -0.259126  0.7959 ***
skewness  0.224194  0.2397 ***
kurtosis  2.988710  0.9764 ***

Signif. codes:  H0 (normality of residuals) is not rejected at 
significance levels: 0.1 ***0.05 **

Independence
                                       Statistic P.value    
ljung box                              25.316156  0.2822 ***
ljung box (residuals at seasonal lags)  0.004006  0.9980 ***

Signif. codes: H0 (independence of residuals) is not rejected at 
significance levels: 0.1 ***0.05 **

Linearity
                              Statistic P.value    
ljung box (squared residuals) 24.967584  0.2986 ***

Signif. codes:  H0 (no conditional heteroscedasticity of residuals) is not rejected at 
significance levels: 0.1 ***0.05 **

1.2 Série RF2813

L’analyse de cette série nécessite d’avoir vu les statistiques M qui jugent la qualité de la décomposition.

Exercice

Il y a un problème d’autocorrélation des résidus (au seuil de 1 %) et une mauvaise décomposition (Q-M2).

Que pensez-vous du schéma de décomposition ?

Le problème d’autocorrélation peut être atténué en forçant le schéma additif (p-valeur du test est alors égale à 0,04).

La mauvaise décomposition vient du fait que la tendance est plate et donc que la composante irrégulière est plus variable que la composante tendance-cycle.

Décision : forcer le schéma en additif.

1.3 Série RF2223

Exercice

Il y a un effet JO résiduel (au seuil de 5 % mais pas 1 %) et un problème d’hétéroscédasticité (au seuil de 5 % mais pas 1 %).

Réduire le seuil de détection des outliers pour voir ce qu’il se passe.

Décision : Ajouter deux AO en 8-2007 et 7-2009.

Il est préférable de rajouter les outliers à la main plutôt que de modifier de manière permanente le seuil de détection des outliers : cela évitera, pour les futures révisions du modèle,de détecter trop d’outliers.

RF2223_init <- all_models$RF2223
RF2223_init$regarima$residuals.stat
$st.error
[1] 4.853537

$tests

Normality
         Statistic P.value    
mean       0.06654  0.9470 ***
skewness   0.11693  0.5398 ***
kurtosis   3.26842  0.4816 ***

Signif. codes:  H0 (normality of residuals) is not rejected at 
significance levels: 0.1 ***0.05 **

Independence
                                       Statistic P.value    
ljung box                               21.12931  0.5128 ***
ljung box (residuals at seasonal lags)   3.14839  0.2072 ***

Signif. codes: H0 (independence of residuals) is not rejected at 
significance levels: 0.1 ***0.05 **

Linearity
                              Statistic P.value  
ljung box (squared residuals)  36.36390  0.0277  

Signif. codes:  H0 (no conditional heteroscedasticity of residuals) is not rejected at 
significance levels: 0.1 ***0.05 **
summary(RF2223_init$regarima)
y = regression model + arima (0, 1, 1, 0, 1, 1)

Model: RegARIMA - X13
Estimation span: from 1-2004 to 10-2018
Log-transformation: no
Regression model: no mean, trading days effect(1), no leap year effect, no Easter effect, no outliers

Coefficients:
ARIMA: 
          Estimate Std. Error T-stat Pr(>|t|)    
Theta(1)  -0.54574    0.06600 -8.269 4.26e-14 ***
BTheta(1) -0.61218    0.06191 -9.888  < 2e-16 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Regression model: 
                  Estimate Std. Error T-stat Pr(>|t|)    
REG1_semaine_mens    1.359      0.092  14.77   <2e-16 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1


Residual standard error: 4.854 on 161 degrees of freedom
Log likelihood = -497.8, aic =  1004, aicc =  1004, bic(corrected for length) = 3.252
# Pas d'effet JO résiduel sur l'ensemble de la série
RF2223_init$diagnostics
Relative contribution of the components to the stationary
portion of the variance in the original series,
after the removal of the long term trend
 Trend computed by Hodrick-Prescott filter (cycle length = 8.0 years)
           Component
 Cycle         4.253
 Seasonal     92.479
 Irregular     1.443
 TD & Hol.     3.110
 Others        0.000
 Total       101.284

Combined test in the entire series
 Non parametric tests for stable seasonality
                                                          P.value
   Kruskall-Wallis test                                       0.00
   Test for the presence of seasonality assuming stability    0.00
   Evolutive seasonality test                                 0.65
 
 Identifiable seasonality present

Residual seasonality tests
                                      P.value
 qs test on sa                          1.000
 qs test on i                           1.000
 f-test on sa (seasonal dummies)        0.999
 f-test on i (seasonal dummies)         0.995
 Residual seasonality (entire series)   0.998
 Residual seasonality (last 3 years)    0.978
 f-test on sa (td)                      0.477
 f-test on i (td)                       0.233
# Mais effet JO résiduel si test sur 8 dernières années
c(RF2223_init$user_defined)
$`diagnostics.td-sa-last`
[1] 2.06202460 0.06576482
attr(,"description")
[1] "F with 6 degrees of freedom in the nominator and 88 degrees of freedom in the denominator"

$`diagnostics.td-i-last`
[1] 1.4421150 0.2077379
attr(,"description")
[1] "F with 6 degrees of freedom in the nominator and 88 degrees of freedom in the denominator"

$`diagnostics.fcast-insample-mean`
[1] 0.0958935 0.9237367
attr(,"description")
[1] "T with 146 degrees of freedom"

$`diagnostics.fcast-outsample-mean`
[1] -0.07084533  0.94361780
attr(,"description")
[1] "T with 146 degrees of freedom"

$`diagnostics.fcast-outsample-variance`
[1] 0.3810361 0.9895846
attr(,"description")
[1] "F with 18 degrees of freedom in the nominator and 147 degrees of freedom in the denominator"
RF2223 <- x13(get_ts(RF2223_init),
              x13_spec(RF2223_init,
                       outlier.usedefcv = FALSE,
                       outlier.cv = 2.8),
              userdefined = u_def_var)
summary(RF2223$regarima)
y = regression model + arima (0, 1, 1, 0, 1, 1)

Model: RegARIMA - X13
Estimation span: from 1-2004 to 10-2018
Log-transformation: no
Regression model: no mean, trading days effect(1), no leap year effect, no Easter effect, outliers(1)

Coefficients:
ARIMA: 
          Estimate Std. Error T-stat Pr(>|t|)    
Theta(1)  -0.52173    0.06742 -7.738 9.53e-13 ***
BTheta(1) -0.58205    0.06388 -9.111 2.22e-16 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Regression model: 
                   Estimate Std. Error T-stat Pr(>|t|)    
REG1_semaine_mens   1.38382    0.08785  15.75  < 2e-16 ***
AO (7-2009)       -12.94932    3.69997  -3.50 0.000599 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1


Residual standard error: 4.694 on 160 degrees of freedom
Log likelihood = -491.9, aic = 993.8, aicc = 994.2, bic(corrected for length) = 3.216
# Plus d'effet résiduel
c(RF2223$user_defined)
$`diagnostics.td-sa-last`
[1] 1.93300014 0.08420131
attr(,"description")
[1] "F with 6 degrees of freedom in the nominator and 88 degrees of freedom in the denominator"

$`diagnostics.td-i-last`
[1] 1.3621417 0.2388152
attr(,"description")
[1] "F with 6 degrees of freedom in the nominator and 88 degrees of freedom in the denominator"

$`diagnostics.fcast-insample-mean`
[1] 0.1255096 0.9002928
attr(,"description")
[1] "T with 146 degrees of freedom"

$`diagnostics.fcast-outsample-mean`
[1] -0.1398287  0.8889880
attr(,"description")
[1] "T with 146 degrees of freedom"

$`diagnostics.fcast-outsample-variance`
[1] 0.4224636 0.9813103
attr(,"description")
[1] "F with 18 degrees of freedom in the nominator and 147 degrees of freedom in the denominator"
# Pour rajouter les outliers à la main
RF2223 <- x13(get_ts(RF2223_init),
              x13_spec(RF2223_init,
                       usrdef.outliersEnabled = TRUE,
                       usrdef.outliersType = c("AO", "AO"),
                       usrdef.outliersDate = c("2008-04-01", "2009-07-01")),
              userdefined = u_def_var)
summary(RF2223$regarima)
y = regression model + arima (0, 1, 1, 0, 1, 1)

Model: RegARIMA - X13
Estimation span: from 1-2004 to 10-2018
Log-transformation: no
Regression model: no mean, trading days effect(1), no leap year effect, no Easter effect, outliers(2)

Coefficients:
ARIMA: 
          Estimate Std. Error T-stat Pr(>|t|)    
Theta(1)  -0.52758    0.06732 -7.837 5.38e-13 ***
BTheta(1) -0.58811    0.06338 -9.280  < 2e-16 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Regression model: 
                   Estimate Std. Error T-stat Pr(>|t|)    
REG1_semaine_mens   1.34012    0.08781 15.262  < 2e-16 ***
AO (4-2008)        10.27747    3.68830  2.787 0.005953 ** 
AO (7-2009)       -12.90807    3.63731 -3.549 0.000504 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1


Residual standard error: 4.582 on 159 degrees of freedom
Log likelihood =  -488, aic =   988, aicc = 988.5, bic(corrected for length) = 3.199

1.4 Série RF2453 : TC or not TC

Exercice

Il y a un effet JO résiduel (au seuil de 1 %).

Que pensez-vous des outliers détectés ?

Supprimer la détection des TC permet de corriger le problème sur l’irrégulier mais pas sur la série désaisonnalisée.

Décision : désactiver la détection automatique de TC.

RF2453_init <- all_models$RF2453
RF2453_init$regarima$residuals.stat
$st.error
[1] 6.652116

$tests

Normality
         Statistic P.value    
mean       -0.1568  0.8756 ***
skewness    0.4822  0.0115    
kurtosis    3.8748  0.0218    

Signif. codes:  H0 (normality of residuals) is not rejected at 
significance levels: 0.1 ***0.05 **

Independence
                                       Statistic P.value    
ljung box                                20.3325  0.5623 ***
ljung box (residuals at seasonal lags)    0.2154  0.8979 ***

Signif. codes: H0 (independence of residuals) is not rejected at 
significance levels: 0.1 ***0.05 **

Linearity
                              Statistic P.value    
ljung box (squared residuals)   23.2289  0.3889 ***

Signif. codes:  H0 (no conditional heteroscedasticity of residuals) is not rejected at 
significance levels: 0.1 ***0.05 **
# Pas d'effet JO résiduel sur l'ensemble de la série
RF2453_init$diagnostics
Relative contribution of the components to the stationary
portion of the variance in the original series,
after the removal of the long term trend
 Trend computed by Hodrick-Prescott filter (cycle length = 8.0 years)
           Component
 Cycle         4.325
 Seasonal     68.672
 Irregular     1.752
 TD & Hol.     2.078
 Others       25.645
 Total       102.472

Combined test in the entire series
 Non parametric tests for stable seasonality
                                                          P.value
   Kruskall-Wallis test                                      0.000
   Test for the presence of seasonality assuming stability   0.000
   Evolutive seasonality test                                0.102
 
 Identifiable seasonality present

Residual seasonality tests
                                      P.value
 qs test on sa                          1.000
 qs test on i                           1.000
 f-test on sa (seasonal dummies)        0.933
 f-test on i (seasonal dummies)         0.824
 Residual seasonality (entire series)   0.954
 Residual seasonality (last 3 years)    0.310
 f-test on sa (td)                      0.366
 f-test on i (td)                       0.239
# Mais effet JO résiduel si test sur 8 dernières années
c(RF2453_init$user_defined)
$`diagnostics.td-sa-last`
[1] 3.479738255 0.003917893
attr(,"description")
[1] "F with 6 degrees of freedom in the nominator and 88 degrees of freedom in the denominator"

$`diagnostics.td-i-last`
[1] 1.97643296 0.07750703
attr(,"description")
[1] "F with 6 degrees of freedom in the nominator and 88 degrees of freedom in the denominator"

$`diagnostics.fcast-insample-mean`
[1] -0.1242795  0.9012649
attr(,"description")
[1] "T with 146 degrees of freedom"

$`diagnostics.fcast-outsample-mean`
[1] -0.07988605  0.93643728
attr(,"description")
[1] "T with 146 degrees of freedom"

$`diagnostics.fcast-outsample-variance`
[1] 0.7422420 0.7628641
attr(,"description")
[1] "F with 18 degrees of freedom in the nominator and 147 degrees of freedom in the denominator"
# Beaucoup de TC qui se suivent
summary(RF2453_init$regarima)
y = regression model + arima (0, 1, 1, 0, 1, 1)

Model: RegARIMA - X13
Estimation span: from 1-2004 to 10-2018
Log-transformation: no
Regression model: no mean, trading days effect(5), no leap year effect, no Easter effect, outliers(3)

Coefficients:
ARIMA: 
          Estimate Std. Error T-stat Pr(>|t|)    
Theta(1)  -0.50833    0.06987 -7.276 1.32e-11 ***
BTheta(1) -0.53609    0.07121 -7.528 3.18e-12 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Regression model: 
                     Estimate Std. Error T-stat Pr(>|t|)    
REG5_lundi_mens      0.005607   0.664701  0.008  0.99328    
REG5_mardi_mens      2.242561   0.762597  2.941  0.00375 ** 
REG5_mercredi_mens   1.337224   0.759377  1.761  0.08010 .  
REG5_jeudi_mens      2.090633   0.769670  2.716  0.00731 ** 
REG5_vendredi_mens   0.162574   0.684711  0.237  0.81261    
TC (12-2008)       -28.316280   5.687836 -4.978 1.60e-06 ***
TC (2-2009)        -24.963684   5.498501 -4.540 1.08e-05 ***
LS (10-2008)       -25.123962   5.431160 -4.626 7.50e-06 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1


Residual standard error: 6.652 on 154 degrees of freedom
Log likelihood =  -549, aic =  1120, aicc =  1122, bic(corrected for length) = 4.099
# Pour rajouter les outliers à la main
RF2453 <- x13(get_ts(RF2453_init),
              x13_spec(RF2453_init,
                       outlier.tc = FALSE),
              userdefined = u_def_var)
summary(RF2453$regarima)
y = regression model + arima (0, 1, 1, 0, 1, 1)

Model: RegARIMA - X13
Estimation span: from 1-2004 to 10-2018
Log-transformation: no
Regression model: no mean, trading days effect(5), no leap year effect, no Easter effect, outliers(3)

Coefficients:
ARIMA: 
          Estimate Std. Error T-stat Pr(>|t|)    
Theta(1)  -0.46817    0.07185 -6.516 8.38e-10 ***
BTheta(1) -0.52239    0.07174 -7.281 1.28e-11 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Regression model: 
                     Estimate Std. Error T-stat Pr(>|t|)    
REG5_lundi_mens    -8.241e-04  6.617e-01 -0.001  0.99901    
REG5_mardi_mens     1.806e+00  7.637e-01  2.365  0.01921 *  
REG5_mercredi_mens  1.639e+00  7.589e-01  2.159  0.03228 *  
REG5_jeudi_mens     2.044e+00  7.649e-01  2.672  0.00829 ** 
REG5_vendredi_mens  4.014e-01  6.794e-01  0.591  0.55543    
LS (10-2008)       -2.576e+01  5.627e+00 -4.578 9.21e-06 ***
LS (8-2009)         2.401e+01  5.419e+00  4.431 1.70e-05 ***
LS (12-2008)       -2.310e+01  5.603e+00 -4.123 5.91e-05 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1


Residual standard error: 6.765 on 154 degrees of freedom
Log likelihood = -551.6, aic =  1125, aicc =  1127, bic(corrected for length) = 4.133
c(RF2453$user_defined)
$`diagnostics.td-sa-last`
[1] 3.203562252 0.006831075
attr(,"description")
[1] "F with 6 degrees of freedom in the nominator and 88 degrees of freedom in the denominator"

$`diagnostics.td-i-last`
[1] 1.8162238 0.1050023
attr(,"description")
[1] "F with 6 degrees of freedom in the nominator and 88 degrees of freedom in the denominator"

$`diagnostics.fcast-insample-mean`
[1] -0.1302518  0.8965465
attr(,"description")
[1] "T with 146 degrees of freedom"

$`diagnostics.fcast-outsample-mean`
[1] -0.06839528  0.94556456
attr(,"description")
[1] "T with 146 degrees of freedom"

$`diagnostics.fcast-outsample-variance`
[1] 0.6828541 0.8239484
attr(,"description")
[1] "F with 18 degrees of freedom in the nominator and 147 degrees of freedom in the denominator"

2 S-I Ratio

2.1 Série RF1101

Exercice

Analyser les S-I ratios et le graphique yearly components de la série brute : que remarquez vous ?

Pour cette série, le modèle est estimé depuis 2004 mais les CVS-CJO ne sont mises à jour qu’à partir de 2012.

Il y a une nette rupture de saisonnalité en 2008 qui n’affecte pas la période après 2012 (filtre M3X5 utilisé, soit pour l’estimation des coefficients saisonniers de l’année A utilise les moyennes de l’année A-3 à A+3). Ainsi, commencer l’estimation du modèle à partir de 2008 permet d’avoir un modèle de pré-ajustement mieux estimé sur le présent et la rupture de saisonnalité n’affectera pas les coefficients publiés.

Une autre solution est de rajouter un seasonal outlier en août 2008.

3 Saisonnalité résiduelle

3.1 Série RF2561

Exercice

Il y a de la saisonnalité résiduelle et une mauvaise qualité des résidus du modèle RegARIMA.

Analyser la série sur la fin de la période pour voir d’où vient la saisonnalité résiduelle. Comment pourrait-on la corriger ? Est-ce qu’il s’agit d’une rupture brute ou progressive ?

Une rupture de saisonnalité s’observe en juin 2011 : avant cette date juin était un point haut alors qu’à partir de 2011 il est au même niveau que les mois de mai et juillet. Ajout un SO à cette date corrige la rupture mais laisse une saisonnalité résiduelle qui vient du mois de décembre : on observe sur la série désaisonnalisée des pics systématiques en décembre sur les dernières années. Cette fois-ci ce n’est pas une rupture brute de la saisonnalité : le point de décembre qui était également un point haut avant 2011 devient progressivement de plus en plus bas. Le MSR de décembre (à 0,77) est d’ailleurs bien plus bas que celui des autres mois (qui sont autour de 2) ce qui suggère de prendre un filtre saisonnier plus court en décembre (le filtre actuellement choisi est M3X3). La mauvaise qualité des résidus est difficilement corrigeable, il faudrait prendre une période d’estimation beaucoup plus courtes qui ajouterait donc une instabilité des estimations.

Décision : rajouter un SO en juin 2011 et utiliser le filtre M3X1 pour le mois de décembre. Pas d’intervention pour corriger la qualité des résidus.

3.2 Série RF3299

Exercice

Il y a de la saisonnalité résiduelle.

Analyser correctement le problème de saisonnalité résiduelle.

Ajouter des SO en 10-2012 et 12-2015.

3.3 Séries C4672

Exercice

Dans cet exercice il y a deux séries à étudier : la série C4672 depuis 1999 et la même série mais estimée à partir de 2005.

  • Commencez par la série qui commence en 1999. Comment vous parait le modèle ?

  • Analyser le modèle de la série qui commence en 2005 et comparer les résultats.

Exercice

Saisonnalité résiduelle non détectée pour modèle ensemble mais détectée si modèle coupé à partir de 2005.

Ajouter un SO 11-2008.

3.4 Série C4773

Exercice

Saisonnalité résiduelle détectée.

Étudier les S-I ratio : la saisonnalité est-elle stable ?

On observe une saisonnalité plutôt stable sauf en juillet et août (étude des S-I ratio). Les S-I ratio montrent aussi en juillet et août un comportement « atypique » de l’irrégulier en début de période. On n’observe pas de changement brusque de saisonnalité. L’étude des MSR par mois suggère de prendre un filtre plus court en juillet et en août : cela permet de corriger la saisonnalité résiduelle.