Package 'rjdqa'

Title: Quality Assessment for Seasonal Adjustment
Description: Add-in to the 'RJDemetra' package on seasonal adjustments. It allows to produce dashboards to summarise models and quickly check the quality of the seasonal adjustment.
Authors: Alain Quartier-la-Tente [aut, cre]
Maintainer: Alain Quartier-la-Tente <[email protected]>
License: EUPL
Version: 0.1.6
Built: 2024-11-05 14:19:43 UTC
Source: https://github.com/AQLT/rjdqa

Help Index


Plot a Statistics Canada seasonal adjustment dashboard

Description

Function to plot Statistics Canada dashboard of a seasonal adjustment model.

Usage

## S3 method for class 'sc_dashboard'
plot(
  x,
  main = "Seasonal Adjustment Dashboard",
  subtitle = "",
  reference_date = TRUE,
  raw_color = "#33A02C",
  sa_color = "#E31A1C",
  trend_color = "black",
  ...
)

Arguments

x

a "sc_dashboard" object.

main

main title.

subtitle

subtitle.

reference_date

boolean indicating if the reference date should be printed.

raw_color

color for the raw series.

sa_color

color for the seasonal adjusted series.

trend_color

color for the trend.

...

other parameters (unused).

Details

sa_model() reproduces Statistics Canada dashboard used to provide a snapshot snapshot of an single seasonal adjustment model at a point in time and to point out some possible problems (see references).

The dashboard is divided into four sections:

  • Recent History (top left panel): plot of the raw series, the seasonal adjusted series and the trend for the most recent periods (n_recent_obs last observations: 24 by default). It is intended to identify trendF direction, overall volatility and obvious outliers.

  • Summary of Key Diagnostics (top right panel):

    • Adjustability (only for X13 models): M7 statistic. Colors: red if M7 > 1.75, yellow if 1.25 < M7 < 1.75 and green if M7 < 1.25.

    • Residual seasonality: qs (auto-correlations at seasonal lags) and f (Friedman) test on seasonal adjusted series. Colors: red if p-value < 0.01, yellow if 0.01 < p-value < 0.05 and green if p-value > 0.05.

    • Residual trading-days effects: f (Friedman) test on seasonal adjusted serie. Colors: red if p-value < 0.01, yellow if 0.01 < p-value < 0.05 and green if p-value > 0.05.

    • Independence of RegARIMA residuals: Ljung-Box test. Colors: red if p-value < 0.01, yellow if 0.01 < p-value < 0.05 and green if p-value > 0.05.

    • Recent outliers on last (t) and penultimate (t-1) observation. Colors: Red if there is an extreme value (only for X13: when table C17 equals to 0), yellow if there is an outlier in the RegARIMA model and green otherwise.

  • Estimated Patterns and Anticipated Movements (middle panel): estimated trading day, moving holiday and seasonal pattern. It presents expected movement in unadjusted series based on the current and previous period.

  • Net Effect of Seasonal Adjustment (bottom panel): movement in the raw series, compared to typical ranges centered around “neutral” value (when the seasonal adjusted series of the last period is equal to the penultimate period). It also shows the movement in the seasonally adjusted series, compared to typical ranges.

References

KIRCHNER R., LADIRAY D., MAZZI G. L. (2018), "Quality Measures and Reporting for Seasonal Adjustment", edited by G. L. Mazzi, co-edited by D. Ladiray, European Union, Luxembourg. https://ec.europa.eu/eurostat/web/products-manuals-and-guidelines/-/KS-GQ-18-001

MATTHEWS S. (2016), "Quality Assurance of Seasonal Adjustment for a Large System of Time Series", 36th International Symposium on Forecasting Santander, Spain.

See Also

sc_dashboard.

Examples

data <- window(RJDemetra::ipi_c_eu[, "FR"], start = 2003)
sa_model <- RJDemetra::x13(data, "RSA5c")
dashboard_data <- sc_dashboard(sa_model)
plot(dashboard_data, main = "My first seasonal adjustment dashboard",
     subtitle = "SA with X13")

Plot a simple seasonal adjustment dashboard

Description

Functions to plot a simple dashboard of a seasonal adjustment model.

Usage

## S3 method for class 'simple_dashboard'
plot(
  x,
  main = "Simple Dashboard with outliers",
  subtitle = NULL,
  color_series = c(y = "#F0B400", t = "#1E6C0B", sa = "#155692"),
  reference_date = TRUE,
  ...
)

Arguments

x

a "sc_dashboard" object.

main

main title.

subtitle

subtitle.

color_series

Color of the raw time series, the trend and the seasonally adjusted component.

reference_date

boolean indicating if the reference date should be printed.

...

other parameters (unused).

See Also

simple_dashboard.

Examples

data <- window(RJDemetra::ipi_c_eu[, "FR"], start = 2003)
sa_model <- RJDemetra::jx13(data, "RSA5c")
dashboard_data <- simple_dashboard(sa_model)
plot(dashboard_data, main = "Simple dashboard IPI - FR")
dashboard_data2 <- simple_dashboard2(sa_model)
plot(dashboard_data2, main = "Simple dashboard with outliers IPI - FR")

Compute data for the Statistics Canada seasonal adjustment dashboard

Description

Function to compute the data to produce the Statistics Canada seasonal adjustment dashboard

Usage

sc_dashboard(x, n_recent_obs = 24)

Arguments

x

a seasonal adjustment model made by 'RJDemetra' (object of class "SA").

n_recent_obs

number of observation in the recent history panel (see details). By default n_recent_obs = 24 (last 2 years for monthly data).

Details

sa_model() reproduces Statistics Canada dashboard used to provide a snapshot snapshot of an single seasonal adjustment model at a point in time and to point out some possible problems (see references).

The dashboard is divided into four sections:

  • Recent History (top left panel): plot of the raw series, the seasonal adjusted series and the trend for the most recent periods (n_recent_obs last observations: 24 by default). It is intended to identify trend direction, overall volatility and obvious outliers.

  • Summary of Key Diagnostics (top right panel):

    • Adjustability (only for X13 models): M7 statistic. Colors: red if M7 \ge 1.75, yellow if 1.25 \le M7 < 1.75 and green if M7 < 1.25.

    • Residual seasonality: qs (auto-correlations at seasonal lags) and f (Friedman) test on seasonal adjusted series. Colors: red if p-value \le 0.01, yellow if 0.01 < p-value \le 0.05 and green if p-value > 0.05.

    • Residual trading-days effects: f (Friedman) test on seasonal adjusted serie. Colors: red if p-value \le 0.01, yellow if 0.01 < p-value \le 0.05 and green if p-value > 0.05.

    • Independence of RegARIMA residuals: Ljung-Box test. Colors: red if p-value \le 0.01, yellow if 0.01 < p-value \le 0.05 and green if p-value > 0.05.

    • Recent outliers on last (t) and penultimate (t-1) observation. Colors: Red if there is an extreme value (only for X13: when table C17 equals to 0), yellow if there is an outlier in the RegARIMA model and green otherwise.

  • Estimated Patterns and Anticipated Movements (middle panel): estimated trading day, moving holiday and seasonal pattern. It presents expected movement in unadjusted series based on the current and previous period.

  • Net Effect of Seasonal Adjustment (bottom panel): movement in the raw series, compared to typical ranges centered around “neutral” value (when the seasonal adjusted series of the last period is equal to the penultimate period). It also shows the movement in the seasonally adjusted series, compared to typical ranges.

References

KIRCHNER R., LADIRAY D., MAZZI G. L. (2018), "Quality Measures and Reporting for Seasonal Adjustment", edited by G. L. Mazzi, co-edited by D. Ladiray, European Union, Luxembourg. https://ec.europa.eu/eurostat/web/products-manuals-and-guidelines/-/KS-GQ-18-001

MATTHEWS S. (2016), "Quality Assurance of Seasonal Adjustment for a Large System of Time Series", 36th International Symposium on Forecasting Santander, Spain.

See Also

plot.sc_dashboard.

Examples

data <- window(RJDemetra::ipi_c_eu[, "FR"], start = 2003)
sa_model <- RJDemetra::x13(data, "RSA5c")
sc_dashboard_data <- sc_dashboard(sa_model)
plot(sc_dashboard_data, main = "My first seasonal adjustment dashboard",
     subtitle = "SA with X13")

Compute data for a simple seasonal adjustment

Description

Functions to compute the data to produce a simple seasonal adjustment dashboard. 'simple_dashboard2()' is a slightly variation of 'simple_dashboard()' with smaller description text to include a table with last outliers.

Usage

simple_dashboard(
  x,
  digits = 2,
  scale_var_decomp = FALSE,
  remove_others_contrib = FALSE,
  add_obs_to_forecast = TRUE,
  td_effect = NULL
)

simple_dashboard2(
  x,
  digits = 2,
  scale_var_decomp = FALSE,
  remove_others_contrib = FALSE,
  digits_outliers = digits,
  columns_outliers = c("Estimate", "T-stat"),
  n_last_outliers = 4,
  order_outliers = c("AO", "LS", "TC", "SO"),
  add_obs_to_forecast = TRUE,
  td_effect = NULL
)

Arguments

x

a seasonal adjustment model made by 'RJDemetra' (object of class "SA").

digits

number of digits used in the tables.

scale_var_decomp

boolean indicating if the variance decomposition table should be rescaled to 100.

remove_others_contrib

boolean indication if the "Others" contribution (i.e.: the pre-adjustment contribution) should be removed from the variance decomposition table.

add_obs_to_forecast

Boolean indicating if the last observed values should be added to the forecast table (for the plot).

td_effect

Boolean indicating if the residual trading days effect test should be printed. By default ('td_effect = NULL') the test is only printed for monthly series.

digits_outliers

number of digits used in the table of outliers.

columns_outliers

informations about outliers that should be printed in the summary table. Can be either a vector of characters among 'c("Estimate", "Std. Error", "T-stat", "Pr(>|t|)")'; or an vector of integer: '1' corresponding to the estimate coefficient ('"Estimate"'), '2' corresponding to the standard deviation error ('"Std. Error"'), '3' corresponding to the t-statistic ('"T-stat"') or '4' corresponding to the p-value ('"Pr(>|t|)"'). By default only the estimate coefficients and the t-statistics are printed ('columns_outliers = c("Estimate", "T-stat")').

n_last_outliers

number of last outliers to be printed (by default 'n_last_outliers = 4').

order_outliers

order of the outliers in case of several outliers at the same date.

See Also

plot.simple_dashboard.

Examples

data <- window(RJDemetra::ipi_c_eu[, "FR"], start = 2003)
sa_model <- RJDemetra::jx13(data, "RSA5c")
dashboard_data <- simple_dashboard(sa_model)
plot(dashboard_data, main = "Simple dashboard IPI - FR")
dashboard_data2 <- simple_dashboard2(sa_model)
plot(dashboard_data2, main = "Simple dashboard with outliers IPI - FR")