Dans cette phase qui constitue la première étapes est consacré a la construction de la serie temporelle représentant l’évolution mesuelles des demandeurs d’emplois. Les données utilisées ont été organisées suivant une fréquence mensuelle a fin de mueu analyser les fluctuation de court et long terme
Ci-dessous nous avons le graphique représentant l’evolution mensuelle du nombres des demandeurs d’emploi au cours du temps.
Dans graphe nous nous constations la présence des cycles avec
différentes phrases notamment de hausse et de baisse bien lisibles.
Nous avons des périodes de croissance et de décroissance, mais aussi nous remarquons la présence saisonalité visible perceptible grâce à la récurrence des oscillations. En revanche la tendance général est non linéaire a cause de des successions des difrentes tendances; d’ou l’importance d’une anlyse approfondie.
La decomposition révèle une tendence a la haussse sur le long terme marqué par des phase de ralentissements autour de 2005-2010 suivie par la suite d’une forte peride de reprise notamment entre 2010-2019. En outre la droite d’ajustement lineaire confirme une croissance moyenne indiquant que notre serie est non stationnaire en niveau.
à ce niveau, la composante saisonnière est marqué par une périodicité annuelle récurrente. ce qui inque la presence saisonniers des sycles au niveau de la demande d’emplois en france pour la catégorie A.
Au niveaux de ce composante résiduel elle globalement a un niveau faible cependant elle est marqué par des fortes oscillations notamment 2020-2021 forcémént lié a des événement externe dont fort problement le crise sanitaire du covid.
En analysants le fluctuations de la compsante cyclique, nous observions des oscillations de moyen terme. on remarque également la présence des cyles réguliers post 2010 et par la suite des variations plus importantes apres 2015. En outre en 2020 on observe totalement un choc conjoncturelle qu’on peut qualifier de majeur suivie d’une phase de retour à la tendance cyclique normale.
ce graphe révéle des oscillations marquées par des tendences ascendantes qui s’arrêtent en 2015, ensuite un pic en 2020 suivi d’une baisse ce qui suggére la présence des chocs et comportements de nature structurelle d’ou l’importance d’effectuer des decomposition approfondis et des testes de stationnarité.
A niveaux mensuelles nous observions une saisonalité stable au cours du temps en revanche les dernières années (les récents) sont marqués par des pics plus importantes 2020-2021. Les sous serie elle mettent en evdences des shémas et comportements de nature récurrents avec des hausse vers avril et des baisses en fin d’année ceux qui confirme le presence d’une forte saisonnalité.
## [1] 2.332
Le ** kurtosiss ** est proche de 3 ce qui indiquant une distribution normale ce qui est une bonne resultats car elle indique une absence des valeurs extrêmes
## Aucun outlier détecté.
la serie garde la dynamique général une baisse autour de 200* hausse allant jusqu’en en 2015** et en fin une la chutte en 2020 en plus l’absence de valeur aberrants indique que la serie est mieu préparée pour la modélisation.
les tests
test | statistic | p_value | decision |
---|---|---|---|
Mann–Kendall (tendance) | 0.253 | 0.000 | Tendance |
Kruskal (moyennes par mois) | 14.519 | 0.206 | Moyennes égales |
Levene (variances par mois) | 0.049 | 1.000 | Variances égales |
KPSS (niveau) | 1.956 | 0.010 | Non stationnaire |
Nous avons la présence une tendance significative ** P < 0.01 ** en revanche le P-value pour le KPSS est tres faible ce qui implique que, on rejette la stationarité de la serie a niveaux autrement ce teste montre la presence des structure non stationnaires au sein de notre série nécessitant une différentiation a fin de stabiliser la série.S
## λ estimé = 0.449 — ≠ 1 → transformation recommandée pour stabiliser la variance.
parametre | valeur | signification |
---|---|---|
d (non saisonnier) | 1 | Supprime la tendance |
D (saisonnier) | 1 | Supprime la saisonnalité annuelle |
##
## Interprétation : d = 1 et D = 1 → modèle SARIMA avec 1 diff. non saisonnière et 1 diff. saisonnière.
ordre : saisonnière puis non saisonnière
KPSS (H0 : stationnaire) sur la série différenciée
## [1] 0.01
Les P-value sont grandes donc on ne va pas rejeter l’hypothèse de stationnarité apres la différentiation niveau et autour de la tendance.
Après transformation et différenciations, les tests KPSS en niveau et autour d’une tendance affichent des p-values très élevées, ce qui conduit à ne pas rejeter l’hypothèse nulle de stationnarité. La série transformée et différenciée peut donc être considérée stationnaire, condition préalable satisfaite pour l’identification d’un modèle SARIMA.
Nous observons au sein de ces deux corrélogrammes une depenendance saisonnière notamment on aperçoit un pic au lag 12 de l’ACF soit un effet tenancière annuelle. Au niveau du PACF on remarque quelques pics au niveaux des premières retards indiquant la présence d’une composante autorégressif.
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## -317856 -24237 -608 -54 21410 622321
##
## Durbin-Watson test
##
## data: mod_t
## DW = 0.89, p-value <0.0000000000000002
## alternative hypothesis: true autocorrelation is greater than 0
** A1) Résidus dans le temps + LOESS **
Le teste de durbain watson (DW = 0.89, p-value < 0.001) indique une forte autocorrélation positive des résidus. En outre on peut observer ve comortement directement sur le graphe le residus varie autour de zero cependant ils connaissent un oic au niveaux de 2020 (élément exogène).
nous avons une pente positive les residus sont corrélés entre eux ceux qui confirme encore l’autocorrelations postive des residus en cocordance avec le teste de durbain watson (D-W< 2).
** A3) ACF des résidus (complément à DW) **
l’ACP montre une autocorrélations dans les premiers retrad ceu qui
montre que les reidus ne sont pas du bruit blanc d’ou l’importance d’un
modele ARMA ou SARIMA
Breusch–Pagan : H0 = homoscédasticité
Variance finie (sanity check)
Homoscédasticité (Breusch–Pagan)
** Résidus vs. temps & «Scale–Location» **
dans ces graphes les residus concentré aux environs de zéro avec des variations ou asciliations relativement stable. En revanche un choc aux environs de 2020 peut indiquer une éventuelle présence d’hétéroscédasticité.
#Écart-type roulant-statblité de la variance
notre écart type est globaleùment stable sur la periode a l’excepetion de 2020 ou on aperçoit un pic signe d’un choc exogène sans la crise sanitaire du covid.
*Histogramme de densité des résidus test de normalité**
nous avons au sein de cette histogramme une distribution centrée autour de zéro avec des concentration élevés en plus des queues très épaisses. le test de jaque barra nous confirme le rejet de la anormalité.
Résidus concentrée autour de la moyenne de zéro (wilcoxon + IC)
le test de wilcoxon indique que la médiane des résidus est non
significativement différent de zéros ceu qui indique que la mjorité
oscillent autour de la moyenne avec des cas de deviation rares dit a des
choc externes comme en 2020.
i.i.d. (BDS) : H0 = i.i.d
ACF + Histogramme côte à côte (aperçu rapide)
L’ACF des résidus montre que la plupart des corrélations sont contenues dans les bornes de confiance, ce qui confirme l’absence d’autocorrélation marquée. L’histogramme des résidus est centré autour de zéro, indiquant une distribution globalement symétrique, bien qu’avec quelques valeurs extrêmes. Cela confirme que les résidus se rapprochent d’un bruit blanc.
test | p_value | decision |
---|---|---|
Breusch–Pagan (H0: homoscédasticité) | 1.24e-02 | Hétéroscédasticité |
Variance finie | — | OK |
Jarque–Bera (H0: normale) | 0.00e+00 | Non normale |
Wilcoxon médiane=0 (H0: médiane = 0) | 3.67e-01 | Médiane = 0 |
Ljung–Box (H0: pas d’autocorrélation) | 0.00e+00 | Autocorrélée |
BDS (H0: i.i.d.) | 1.01e-63 | Non i.i.d. |
test | statistic | p_value |
---|---|---|
Durbin–Watson (H0: pas d’autocorrélation) | 0.888 | 0 |
L’analyse des résidus lors de la décomposition via STL en niveau nous a permi de voir que les hypothèses d’i.i.d ne sont pas respectés. Nous avons le teste de breunsh-pagan qui met en évidence une hétéroscédasticité significative, le test de Jarque bera qui resjette l’hypothèse de noramalité.
Cependant le test de wilcoxon montre une mediande des résidusproche de zéro en outre on peut conclure sur une absence de biais systématique. En outre le ljung-box de BDS montre la présenced’autocorrélation et des structures non i.i.d.
En conclusion on peut dire que au vu des ces resultats la serie en niveau n’est pas encore stationnaire et nécessite des transformations notamment une différentiation et d’éventuelles corrections au niveaux saisonnières a fin de pouvoir êtres modélisé correctement.
Transformation : Box–Cox + différenciations suggérées (d & D) Transformation Box–Cox (stabiliser la variance)
Ordres de diff suggérés par forecast
Stationnarité : KPSS & ADF sur y_work KPSS
ADF (urca).
Tendance résiduelle : Mann–Kendall
## tau = 0.0548, 2-sided pvalue =0.13
Saisonnalité résiduelle : Welch & QS sur y_work
test | valeur | decision |
---|---|---|
Welch (y_work) | TRUE | Saisonnier |
QS (y_work) | TRUE | Saisonnier |
Différences de moyennes/variances par mois (sur y_work)
Kruskal–Wallis (moyennes)
Levene (variances)
test | p_value | decision |
---|---|---|
Kruskal–Wallis (moyennes mois) | 0.973 | Moyennes égales |
Levene (variances mois) | 0.147 | Variances égales |
Autocorrélation (ACF / PACF) — pour pré-identification
i.i.d. (BDS) sur y_work
Tableau récapitulatif Étape 2 (validation complète)
test | p_value | decision |
---|---|---|
KPSS Level (y_work) | 0.100 | Stationnaire |
KPSS Trend (y_work) | 0.100 | Stationnaire |
ADF (tau vs 5%) | — (NA vs -2.87) | NA |
Mann–Kendall (tendance ?) | 0.135 | Pas de tendance |
Welch (saison ?) | TRUE | Saisonnier |
QS (saison ?) | — | Non saisonnier |
Kruskal (moyennes mois) | 0.973 | Moyennes égales |
Levene (variances mois) | 0.147 | Variances égales |
BDS (m=2) | <0.001 | Non i.i.d. |
Visuels complémentaires (qualité de y_work) Histogramme
+ densité (corrige le warning ..density..)
QQ-plot
Ljung–Box p-values par lag (diagnostic de dépendance
restante)
Test BDS (i.i.d.)
##
## BDS Test
##
## data: na.omit(y_work)
##
## Embedding dimension = 2 3
##
## Epsilon for close points = 9.078 18.156 27.233 36.311
##
## Standard Normal =
## [ 9.0778 ] [ 18.1556 ] [ 27.2334 ] [ 36.3113 ]
## [ 2 ] 8.127 11.84 12.56 10.67
## [ 3 ] 9.387 12.28 12.62 11.27
##
## p-value =
## [ 9.0778 ] [ 18.1556 ] [ 27.2334 ] [ 36.3113 ]
## [ 2 ] 0 0 0 0
## [ 3 ] 0 0 0 0
##
## ###############################################
## # Augmented Dickey-Fuller Test Unit Root Test #
## ###############################################
##
## Test regression drift
##
##
## Call:
## lm(formula = z.diff ~ z.lag.1 + 1 + z.diff.lag)
##
## Residuals:
## Min 1Q Median 3Q Max
## -84.21 -4.97 -0.14 4.74 172.06
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 0.11318 0.88385 0.13 0.898
## z.lag.1 -0.78798 0.14459 -5.45 0.0000001 ***
## z.diff.lag1 0.10874 0.13637 0.80 0.426
## z.diff.lag2 0.00723 0.13373 0.05 0.957
## z.diff.lag3 0.04479 0.13099 0.34 0.733
## z.diff.lag4 -0.06911 0.12682 -0.54 0.586
## z.diff.lag5 0.04786 0.12163 0.39 0.694
## z.diff.lag6 0.06678 0.11607 0.58 0.565
## z.diff.lag7 0.14933 0.10857 1.38 0.170
## z.diff.lag8 0.15456 0.10041 1.54 0.125
## z.diff.lag9 0.20920 0.08811 2.37 0.018 *
## z.diff.lag10 0.31837 0.07808 4.08 0.0000580 ***
## z.diff.lag11 0.30965 0.06674 4.64 0.0000052 ***
## z.diff.lag12 -0.08131 0.05705 -1.43 0.155
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 15.9 on 308 degrees of freedom
## Multiple R-squared: 0.494, Adjusted R-squared: 0.473
## F-statistic: 23.1 on 13 and 308 DF, p-value: <0.0000000000000002
##
##
## Value of test-statistic is: -5.45 14.86
##
## Critical values for test statistics:
## 1pct 5pct 10pct
## tau2 -3.44 -2.87 -2.57
## phi1 6.47 4.61 3.79
test | p_value | decision |
---|---|---|
KPSS (Level) | 0.1 | Stationnaire |
KPSS (Trend) | 0.1 | Stationnaire |
ADF (drift) | NA | Regarder tau-test (summary) |
BDS | 0.0 | Non i.i.d. |
Identification du modèle (ACF / PACF)
Auto.arima (point de départ)
## Series: y_work
## ARIMA(0,0,1)(0,0,2)[12] with zero mean
##
## Coefficients:
## ma1 sma1 sma2
## 0.310 -0.668 -0.112
## s.e. 0.054 0.055 0.053
##
## sigma^2 = 201: log likelihood = -1367
## AIC=2742 AICc=2742 BIC=2757
Comparaison AIC / BIC
ACF & PACF des résidus
Ljung–Box
##
## Box-Ljung test
##
## data: res_fit1
## X-squared = 19, df = 24, p-value = 0.8
Histogramme + densité
QQ-plot
Comparaison des 4 modèles
modele | AIC | BIC | Ljung-Box p | JB p | Decision |
---|---|---|---|---|---|
fit1 auto | 2744 | 2763 | 0.757 | 0 | ✘ |
fit2 | 2749 | 2768 | 0.670 | 0 | ✘ |
fit3 | 2746 | 2769 | 0.762 | 0 | ✘ |
fit4 | 2750 | 2773 | 0.739 | 0 | ✘ |
Prévisions avec le modèle retenu
Graphique des prévisions
Découpage de la série en train / test
Recalibrage sur l’échantillon train
Prévisions sur la taille du test
Graphique comparatif prévisions vs réel
Erreurs absolues / relatives
ME | RMSE | MAE | MPE | MAPE | MASE | ACF1 | Theil’s U | |
---|---|---|---|---|---|---|---|---|
Training set | -0.1432 | 7.269 | 5.486 | 10.19 | 202.9 | 0.5459 | 0.0789 | NA |
Test set | 0.3299 | 35.608 | 16.672 | 98.18 | 113.1 | 1.6589 | 0.2669 | 1.002 |
Prévisions à 24 mois avec le modèle retenu (fit1)
Découpage générique : on garde les 24 derniers points pour le test
Construction de train et test comme objets ts bien formés
Prévisions sur l’horizon du test
Graphique comparatif prévisions vs observations test
mesure de l’erreur de prévision
ME | RMSE | MAE | MPE | MAPE | MASE | ACF1 | Theil’s U | |
---|---|---|---|---|---|---|---|---|
Training set | -0.3242 | 14.36 | 7.388 | -5.362 | 235.5 | 0.5181 | -0.0020 | NA |
Test set | 2.4033 | 9.15 | 7.577 | -75.728 | 254.3 | 0.5314 | 0.0987 | 1.199 |
Autocorrélations des résidus
Test de Ljung–Box (bruit blanc ?)
Normalité (Jarque–Bera)
Petit tableau récapitulatif
test | p_value | decision |
---|---|---|
Ljung–Box (H0: pas d’autocorrélation) | 0.757 | OK bruit blanc |
Jarque–Bera (H0: normalité) | 0.000 | Non normale |
Naïf saisonnier sur train
ME | RMSE | MAE | MPE | MAPE | MASE | ACF1 | Theil’s U | |
---|---|---|---|---|---|---|---|---|
Training set | 0.2888 | 31.89 | 14.26 | 185.5 | 394.4 | 1.0000 | 0.3009 | NA |
Test set | 0.0340 | 14.64 | 11.91 | 313.4 | 734.8 | 0.8353 | 0.2197 | 0.143 |
modele | RMSE | MAE | MAPE | LjungBox | Normalité |
---|---|---|---|---|---|
SARIMA retenu (fit1) | 9.15 | 7.58 | 254.3 | p=0.76 → OK bruit blanc | Rejetée (JB) |
Naïf saisonnier | 14.64 | 11.91 | 734.8 | n/a | n/a |
Nous avions le modèle SARIMA (0,0,1)(0,0,2)[12] que nous avons retenue en se basant notamment sur les critères AIC et BIC ainsi que des tests de diagnostics produisant les meilleures provisions parmis d’autres modèles testées.
dans ce modèles nous avons des résidus l’hypothèse de bruits blanc en terme de comportements test de Ljung-box; Nous avons également le RMSE MAPE significativement plus faible en comparaisons a d’autres modèles.
Énoncé de la démarche suivie
lors de l’anlyse de cette série des demandeurs d’emploie de la catégorie A en france, j’ai suivie un processus en quatres étapes :
une Analyse exploratoires de la serie brute :
La décomposition a l’aide de la fonction STL notamment mettre en evidence les différente comosantes (la tendence, la saisonalité, etc..), ensuite filtrage et testes de stationnarité (KPSS, ADF). cependant les resultats montre une serie brute avec une tendance, une forte saisonalité en plus du fait elle est caractérisé par la non stationnarité.
Tranformations et Différentiations
J’ai appliquée par la suite transformation box-cox suivie de plusieurs différentiations ce qui permis de rendre la serie(y_work) stationnaire.
Modélisations
j’ai procédé en une analyse des graphiques ACF/PACF, ce qui a conduit à la modelisation par les auto.arima par la suite j’ai comparées plusieurs modèles SARIMA candidats et SARIMA (0,0,1)(0,0,2)[12] est le modéle qui a été sélectionnée suivant les critères AIC, BIC et SHWARTZ
Evaluation du modèle retenu
Le test de Ljung-box montre une absence d’autocorrélations, les residus suit un processus bruits blancs
En outre le test jarque bera montre aussi des residus asymétriques (leptokurtique)
En conlusion : ce modele presente un limite qui est non normalité
les résultats
les previsions du modéle que j’ai retenu comparées aux données rééls montre ces resultats :
Jeu de données | RMSE | MAE | MAPE | Theil’s U |
---|---|---|---|---|
Training set | 7.27 | 5.49 | 202.9% | NA |
Test set | 35.6 | 16.7 | 113.1% | 1.00 |
le modèle retenu suit correctement la tendance globale, en revanches les erreurs de prévisions demeuré élevés ce qui indique une volatilité de la série.
Prévisions sur 24 mois un reajustelment du modele de la série m’a permit de générer des previons sur les deux prochaines années:
dans le graph obtenu on peut bien prévoir - un certaine stabilité avec plus ou moin la presence d’une forme de tendance saisonnière - * un ceraine niveaux d’incertitude sur la periode de previsions des inetervalles assez grands
Limites et Discussions
-la serie brute (initiale) est non stationaire, cependant après un certaoines nombres de transforùmations et différentiations la serie a ete stationnarisée.
_le fait que les reidus suit un bruit blance nous permet de conlcure sur une absebce d’autocorrélations et d’une variance constante
En revanche nous remarquons que la normalité est rejeté mais malgré ça, cela n’aura pas d’incidence sur la qualité de nos prévisions basées sur des modelés ARIMA. en plus notre serie presente naturellement des épaisse queues et des asymétrie conduisant a une non anormalité structurelle.
le modèle SARIMA (0,0,1)(0,0,2)[12] a été retenu apres une serie apres une serie des testes et comparaisons avec d’autres modéles comme pricipeaux modèle de prévisions avec résidus en globalité proche qui suit un processus bruit blanc.
une projection sur 2 ans permette une meilleure anticipation de l’evolution de la demande d’emplois pour la catégorie A en France. En revanche une prudence est nécessaire dans l’interpretation contenu du niveaux de la volatilté mais aussi des incertutudes astructurelles