--- title: "Plug-in JVS - FR" output: rmarkdown::html_vignette vignette: > %\VignetteIndexEntry{Plug_in_JVS_FR} %\VignetteEngine{knitr::rmarkdown} %\VignetteEncoding{UTF-8} --- ```{r, include = FALSE} knitr::opts_chunk$set( collapse = TRUE, comment = "#>" ) ``` ```{r setup} library("JDCruncheR") ``` ## Introduction This vignette explains how to create a JVS Quality Report with the {JDCruncheR} package. This only works for v3. ## Definition of the JVS QR Le plug-in JVS (Job Vacancy Survey) est un plug-in additionnel du logiciel JDemetra+. ### Version 2 En version 2, il est disponible sur le GitHub [Sace2015](https://github.com/Sace2015) : https://github.com/Sace2015/EurostatQR. Vous trouverez la [documentation du plug-in](https://github.com/Sace2015/EurostatQR/raw/refs/heads/master/2018-10-26%20A%20PlugIn%20For%20Eurostat%20Job%20Vacancy%20Survey.docx) sur ce même repo. ### Version 3 En version 3, le plug-in est hebergé sur le GitHub de [jdemetra](https://github.com/jdemetra/), sur le repo [jdplus-incubator](https://github.com/jdemetra/jdplus-incubator/). Pour récupérer la dernière version, il faut aller dans la partie [Releases](https://github.com/jdemetra/jdplus-incubator/releases), puis télécharger le plug-in (nommé jdplus-eurostat-desktop-plugin). ### Dsecription Le plug-in contient 30 colonnes : - **Series** : le nom de la série - **Method** : l'algorithme d'ajustement (Tramo-Seats ou X13) et la spécification - **Period** : la fréquence de nos séries (12 pour mensuelle et 4 pour trimestrielle) - **Nobs** : le nombre d'observation - **Start** : la date de début de nos séries - **End** : la date de fin de nos séries - **Adjustment** : le type d'ajustement effectué (CVS, CJO ou CVS-CJO) - **Presence of Seasonality in the Raw Series** : Y a t-il de la saisonnalité dans les séries brutes ? - **Presence of TD effects** : Y a t-il des effets de calendrier dans les séries brute ? - **Log-Transformation** : Les séries ont-elles été log-transformés (modèle additif ou multiplicatif) ? - **ARIMA Model** : le modèle ARIMA du pré-ajustement - **LeapYear** : Y a t-il présence d'un effet année bissextile ? - **MovingHoliday** : Y a t-il présence d'un effet de Pâques ? - **NbTD** : le nombre de régresseurs de calendrier - **Noutliers** : le nombre d'outliers - **Outlier1**, **Outlier2**, **Outlier3** : Les 3 outliers les plus importants - **Residual Seasonality in SA Series (F-test)** : Présence de saisonnalité résiduelle dans les séries désaisonnalisées - **Residual TD Effect** : Présence d'effet de calendrier dans les séries désaisonnalisées - **Q-Stat (for X13)** : Statistique Q finale (pour les séries ajustées par X13) - **Final Henderson Filter** : Longueur du filtre d'Henderson final (pour les séries ajustées par X13) - **Stage 2 Henderson Filter** : Longueur du filtre d'Henderson utilisé dans l'estimation provisoire de la tendance cycle dans la table D10 (pour les séries ajustées par X13) - **Seasonal Filter** : Filtre saisonnier (pour les séries ajustées par X13) - **Irregular Standard-Deviation** : Ecart type de la composante irrégulière (définie par $SA - T$) - **Quality (for TS)** : Critère de qualité de JDemetra+ - **Max-Adj** : Indicateur de la taille de l'ajustement CVS et CJO $$ 100 \times max(\left | \frac{Y_t - SA_t}{Y_t}\right |) $$ - **Autocorrelation of order 1 of the SA series** : Autocorrelation de la série ajustée - **Normal Test (P-value)** : Test de normalité - **Autocorrelation negative and significant** : Affichage d'un warning dans le cas d'autocorrelation négatives et significatives ## Création des sorties de JDemetra+ Pour créer un rapport de qualité JVS, vous devez utiliser le cruncher JDemetra+ version 3. Tout d’abord, si vous n’avez pas encore téléchargé le cruncher JDemetra+, vous pouvez le télécharger depuis GitHub : https://github.com/jdemetra/jdplus-main/releases. Le fichier à télécharger commence par "jwsacruncher-standalone". Pour lancer le cruncher, vous pouvez utiliser le package {rjwsacruncher} avec des options spécifiques. L'objectif de cette étape est de générer un fichier demetra_m contenant de nombreuses informations sur les séries à étudier, ainsi que plusieurs fichiers contenant les séries composantes (y, sa, s et t). Pour générer ces fichiers, voici les options à utiliser : ```{r, echo = TRUE, eval = FALSE} library("rjwsacruncher") options( is_cruncher_v3 = TRUE, default_matrix_item = c( "span.start", "span.end", "log", "span.n", "regression.nout", "regression.ntd", "m-statistics.m7", "decomposition.seasonal-filters", "decomposition.trend-filter", "decomposition.d7-trend-filter", "quality.summary", "regression.lp", "regression.leaster", "diagnostics.seas-sa-ac1:3", "diagnostics.seas-sa-ac1", "diagnostics.seas-lin-combined", "regression.out(*)", "regression.td-ftest:3", "residuals.lb:3", "diagnostics.td-sa-last:2", "diagnostics.seas-sa-f:2", "arima.p", "arima.d", "arima.q", "arima.bp", "arima.bd", "arima.bq", "m-statistics.q", "m-statistics.q-m2" ), default_tsmatrix_series = c( "decomposition.y_cmp", "decomposition.s_cmp", "decomposition.sa_cmp", "decomposition.t_cmp" ) ) cruncher_and_param( workspace = "path/to/the/workspace/file.xml", cruncher_bin_directory = "path/to/the/cruncher/v3/bin/directory", csv_layout = "vtable", short_column_headers = FALSE, refreshall = FALSE, v3 = TRUE, delete_existing_file = TRUE, policy = "None" ) ``` Après avoir lancé ce code là, vous devriez avoir généré 5 fichiers. ## Creation du rapport JVS Uns fois le cruncher lancé et les outputs générés, on peut créer notre rapport JVS : ```{r, echo = TRUE, eval = TRUE} # Chemin menant au dossier contenant les fichiers CSV dir_path <- system.file( "extdata", "WS/WS_world/Output/SAProcessing-1", package = "JDCruncheR" ) JVS <- extract_JVS(dir = dir_path) ``` ```{r, echo = FALSE, eval = TRUE} rownames(JVS) <- NULL knitr::kable(JVS[, 1L:7L]) ``` L'objet JVS est un dataframe contenant notre rapport JVS. pour l'enregistrer il faut l'écrire dans un fichier. ## Export Pour exporter le rapport de qualité JVS, vous devez utiliser la fonction `write`. Le rapport peut être exporté sous forme de fichier .csv : ```{r, echo = TRUE, eval = FALSE} write(JVS, format = "csv", export_dir = "chemin/vers/le/répertoire/d'export", overwrite = TRUE) ``` Le rapport peut être exporté sous forme de fichier .xlsx : ```{r, echo = TRUE, eval = FALSE} write(JVS, format = "xlsx", export_dir = "chemin/vers/le/répertoire/d'export", overwrite = TRUE) ``` ## Comparaison : v3 / R ### X Dans R, cette colonne s’appelle "Series". ### Method Dans R, les noms des spécifications sont simplement "X13" ou "Tramo-Seats", car aucune précision n’est donnée quant au type de spécification dans l'output du cruncher. ### Period, nobs, Start Aucune différence. ### End Dans la version 3, les dates correspondent au dernier jour de la période, tandis que dans R, elles correspondent au premier jour de la période. ### Adjustment Aucune différence. ### Tests Pour les tests : - Presence of Seasonality in the RAW Series - Presence of TD effects - Residual Seasonality in SA Series F-test - Residual TD Effect Très légères différences dues à des seuils différents entre l’interface et le cruncher. ### Log transformation, ARIMA Model, Leapyear, MovingHoliday, NbTD, Noutliers, Outlier1, Outlier2, Outlier3, Q-stat for X13, Stage 2 Henderson Filter, Final Henderson Filter, Seasonal.Filter Aucune différence. ### Irregular Standard Deviation Il existe de légères différences entre la version v3 (qui utilise le nombre correct de degrés de liberté) et le code R, qui utilise `df = 1` (par défault avec la fonction `sd()`). Dans les prochaines versions du plug-in JVS, les résultats seront identiques entre la version R et la verions de jdplus-incubator. ### Quality for TS, Max adj, Autocorrelation of order 1 of the SA series Aucune différence. ### Normal test Le test est effectué à l'aide de R de base et peut présenter de légères différences (de l'ordre de 10**4). ### Negative and significant autocorrelation Aucune différence.