Consignes :
Dans votre projet, vous présenterez les séries temporelles et exposerez la méthode de Box et Jenkins, en démontrant ou développant certaines affirmations du texte. Vous chercherez et expliquerez comment fonctionnent les tests et critères de sélection de modèle mentionnés.
Vous représenterez graphiquement les données « Chocolat.txt », correspondant à la production de chocolat (en tonnes) en Australie de janvier 1959 à décembre 1991. Vous étudierez cette série temporelle en menant une analyse de Box et Jenkins : vous tracerez l’auto-corrélogramme et l’auto-corrélogramme partiel, et après avoir identifié le type de modèle, vous en estimerez les paramètres. Une fois le modèle retenu validé, vous l’utiliserez pour faire de la prévision. Toute votre étude sera illustrée à l’aide des graphiques adéquats. Essayez d’analyser d’autres séries temporelles provenant de domaines qui vous intéressent.
Explications :
Une série chronologique ou série temporelle \((Y_t)_{1 \leq t \leq n}\) provient de l’observation d’un phénomène au cours du temps. Son étude a pour objectif principal la prévision. Pour faire de la prévision, il faut trouver un modèle relativement simple qui approche la série.
Une série chronologique comprend 3 parties. La tendance correspond à l’aspect général de la série et représente l’évolution à long terme de la grandeur étudiée. Il peut y avoir une composante saisonnière, traduisant un phénomène périodique. La dernière composante est constituée par le bruit, partie aléatoire de la série.
Un modèle de série temporelle peut être identifié grâce à la méthode de Box et Jenkins (1972). La première étape consiste à déterminer si la série contient une tendance. Dans ce cas, on peut créer une nouvelle série \((Z_t)_{1 \leq t \leq n}\) qui soit stationnaire en « différenciant » \((Y_t)_{1 \leq t \leq n}\). On définit l’opérateur de translation L par :
\[LY_t = Y_{t-1}\]
et on pose :
\[Z_t = (1 - L)Y_t = Y_t - Y_{t-1}\]
Il est aussi possible de supprimer la tendance directement si l’on peut facilement identifier la fonction correspondante. Si une série présente une forte saisonnalité, correspondant, par exemple, aux 12 mois ou aux 4 trimestres d’une année, on peut éliminer celle-ci en différenciant la série à l’ordre s de la saisonnalité, c’est-à -dire :
\[Z_t = (1 - L^s)Y_t = Y_t - Y_{t-s}\]
Finalement, en combinant ces deux transformations, on obtient :
\[Z_t = (1 - L)(1 - L^s)Y_t = Y_t - Y_{t-s} - Y_{t-1} + Y_{t-(s+1)}\]
Il peut aussi être nécessaire de stabiliser la variance. Cela peut se faire en appliquant à la série une transformation \(x \rightarrow ln \; x\) ou \(x \rightarrow \sqrt{x}\)
C’est cette série stabilisée \((Z_t)_{1 \leq t \leq n}\) que l’on va modéliser. On suppose qu’elle provient d’un processus stationnaire : l’espérance, la variance et les auto-corrélations
\[ \left\{ \begin{aligned} &\mathbb E[Z_t] = \mu\\ & Var(Z_t) = \sigma^2\\ & \rho_k = Cor(Z_t,Z_{t-k})\\ \end{aligned} \right. \]
ne dépendent pas du temps t. Le processus peut être approché par un modèle autorégressif AR(p), un modèle moyenne mobile MA(q) ou un modèle ARMA(p, q) combinant les deux précédents. Soit (et)t un bruit blanc, c’est-à -dire une suite de variables aléatoires indépendantes, d’espérance et de variance constantes. Un modèle AR(p) est de la forme :
\[Z_t = \delta + \phi_1.Z_{t-1} + ... + \phi_p.Z_{t-p} + e_t\]
et un modèle MA(q) s’écrit :
\[Z_t = \delta + e_t - \theta_1.e_{t-1} - ... - \theta_q.e_{t-q}\]
Enfin, un modèle ARMA(p, q) est donné par :
\[Z_t = \delta + \phi_1.Z_{t-1} + ... + \phi_p.Z_{t-p} + e_t + \theta_1.e_{t-1} - ... - \theta_q.e_{t-q}\]
Pour choisir un modèle, on utilise les auto-corrélations :
\[\rho_k = Cor(Z_t,Z_{t-k})\]
et les auto-corrélations partielles :
\[\phi_{kk} = Cor(Z_t,Z_{t-k} \; | Z_{t-k+1})\]
On peut montrer que les auto-corrélations et auto-corrélations partielles vérifient les propriétés résumées dans le tableau suivant :
Â
Â
Une méthode empirique pour trouver le type de modèle correspondant à une série consiste à tracer l’auto-corrélogramme et l’auto-corrélogramme partiel de la série, diagrammes représentant les quantités empiriques associées à \((\rho_k)_k\) et \((\phi_k)_k\) en fonction du nombre de translations k. En effet, d’après le tableau ci-dessus, un processus AR(p) possède un auto-corrélogramme partiel théorique dont seuls les p premiers termes sont non nuls, tandis que pour un processus MA(q), seuls les q premiers termes de l’auto-corrélogramme théorique sont non nuls. Caractériser à partir de ces diagrammes un processus ARMA(p, q) est plus difficile, mais on peut noter que son auto-corrélogramme partiel est le même que celui d’un MA(q) à partir de k = p + 1 et que son auto-corrélogramme est le même que celui d’un AR(p) à partir de k = q + 1.
En faisant l’hypothèse supplémentaire que les résidus sont gaussiens, on peut alors, dans un certain modèle, estimer les paramètres par maximum de vraisemblance. Après avoir estimé les modèles potentiels, il convient de vérifier la significativité des paramètres par un test de Student et le fait que les résidus forment un bruit blanc par un test de Ljung et Box (1978). Le choix définitif entre les modèles potentiels retenus s’opère à l’aide des critères d’information AIC d’Akaike (1973) ou BIC de Schwarz (1978).
##
## Call:
## lm(formula = chocolat ~ time(chocolat_ts))
##
## Residuals:
## Min 1Q Median 3Q Max
## -3862.9 -543.2 124.8 751.8 2741.3
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -2.737e+05 1.204e+04 -22.74 <2e-16 ***
## time(chocolat_ts) 1.409e+02 6.093e+00 23.13 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 1155 on 394 degrees of freedom
## Multiple R-squared: 0.5759, Adjusted R-squared: 0.5748
## F-statistic: 535 on 1 and 394 DF, p-value: < 2.2e-16
## Min. 1st Qu. Median Mean 3rd Qu. Max. NA's
## 2407 3825 4384 4668 5290 8087 12
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## -2448.9 -131.7 120.2 0.0 591.2 1172.8
Après avoir éliminé la tendance et la saisonnalité, l’étape suivante consiste à modéliser la série résiduelle obtenue. La première chose à faire est donc de tester s’il y a une dépendance entre les termes de cette série. Si cette série est un bruit blanc, il n’est donc pas utile d’aller plus loin dans la modélisation. Pour cela on utilise les fonctions suivantes :
##
## Box-Pierce test
##
## data: log(chocolat_ts)
## X-squared = 218.24, df = 1, p-value < 2.2e-16
##
## Shapiro-Wilk normality test
##
## data: reg$residuals
## W = 0.96367, p-value = 2.442e-08
## Warning in adf.test(chocolat_ts): p-value smaller than printed p-value
##
## Augmented Dickey-Fuller Test
##
## data: chocolat_ts
## Dickey-Fuller = -6.9665, Lag order = 7, p-value = 0.01
## alternative hypothesis: stationary
La fonction acf calcule (et trace si l’option plot est à TRUE) les lag.max premières auto-corrélations empiriques et auto-covariances.