rjdverse / rjd3x13

R access to X13-Arima algorithm in JDemetra+ version 3.x
https://rjdverse.github.io/rjd3x13/
European Union Public License 1.2
4 stars 8 forks source link

`bias` parameter in `set_x11()` #19

Open AQLT opened 12 months ago

AQLT commented 12 months ago

What does the bias parameter in the x11_spec function correspond to? It seems that it can takes four value: NONE, LEGACY, SMOOTH and RATIO https://github.com/rjdemetra/rjd3x13/blob/f961d842f4a0b2904207ffb46d8fbf5d397d4576/inst/proto/x13.proto#L39-L44

a-s-russo commented 4 months ago

I will also note that set_x11() seems to unknowingly assign a default value of RATIO for the bias parameter.

When I created a new rsa0 spec and set various parameters via set_x11() (see the code snippet below), I did not explicitly assign any value for bias. However, when I save and inspect the workspace, the XML file includes the bias parameter with the value RATIO. In the corresponding help file for set_x11(), it states that the only arguments possible are NA and LEGACY, and there are no details for this parameter besides 'TODO'.

Do I have to explicitly include bias = NA to ignore this parameter? Why does it default to RATIO? Will the help file be updated?

  # Set initial spec
  init_spec <- x13_spec(name = "rsa0")
  new_spec <- set_x11(
    init_spec,
    mode = ifelse(
      decomp == "M",
      "Multiplicative",
      ifelse(decomp == "P", "PseudoAdditive", "Additive")
    ),
    seasonal.comp = absts.orig[[series_num]]@COMB_FAC_D10_INCLUDE,
    seasonal.filter = paste0("S3X", absts.orig[[series_num]]@SMA),
    henderson.filter = absts.orig[[series_num]]@TMA,
    lsigma = absts.orig[[series_num]]@LOW_SIG,
    usigma = absts.orig[[series_num]]@UPP_SIG,
    fcasts = ifelse(length(absts.orig[[series_num]]@ARIMA_AUTO) == 0, 0, -1),
    bcasts = 0,
    calendar.sigma = "None",
    sigma.vector = NA,
    exclude.forecast = TRUE
  )