# Plug-in JVS - FR

    library("rjd3qr")

## Introduction

This vignette explains how to create a JVS Quality Report with the {rjd3qr} 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/EurostatQR. Vous trouverez la documentation du plug-in sur ce même repo.

### Version 3

En version 3, le plug-in est hebergé sur le GitHub de jdemetra, sur le repo jdplus-incubator. Pour récupérer la dernière version, il faut aller dans la partie 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 :

    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("y", "s", "sa", "t")
    )

    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 :

    # Chemin menant au dossier contenant les fichiers CSV
    dir_path <- system.file(
        "extdata",
        "WS/WS_world/Output/SAProcessing-1",
        package = "rjd3qr"
    )

    JVS <- extract_JVS(dir = dir_path)

Series | Method | Period | Nobs | Start | End | Adjustment
--- | --- | --- | --- | --- | --- | ---
Siachen Glacier (frozen) | X13 | 12 | 300 | 2000-01-01 | 2024-12-01 | SCA
Nagorno-Karabakh (frozen) | X13 | 12 | 300 | 2000-01-01 | 2024-12-01 | SA
Mongolia (frozen) | X13 | 12 | 300 | 2000-01-01 | 2024-12-01 | SA
India (frozen) | X13 | 12 | 300 | 2000-01-01 | 2024-12-01 | SCA
Nepal (frozen) | X13 | 12 | 300 | 2000-01-01 | 2024-12-01 | SA
Philippines (frozen) | X13 | 12 | 300 | 2000-01-01 | 2024-12-01 | SA

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 :

    write(JVS, file = "chemin/vers/le/répertoire/d'export", overwrite = TRUE)

Par défaut, le fichier s’appellera “JobVacancySurveyQR.csv”. Pour lui donner un nom spécifique, il est possible de l’indiquer dans le chemin de l’argument `file` :

    write(JVS, file = "chemin/vers/le/répertoire/d'export/nom_fichier.csv", overwrite = TRUE)

Le rapport peut être exporté sous forme de fichier .xlsx. Pour cela, il est nécessaire de l’indiquer dans le nom du fichier dans l’argument `file` :

    write(JVS, file = "chemin/vers/le/répertoire/d'export/nom_fichier.xlsx", 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
- Quality for TS

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, Irregular Standard Deviation, Max adj, Autocorrelation of order 1 of the SA series, Normal test, Negative and significant autocorrelation

Aucune différence.