0

我正在比较包中的自动 lambda 选择功能的结果BoxCox.lambdaVSforecastfable自动 lambda 选择的结果features

正如您在下面看到的,这两个函数没有返回相同的结果。此外,当我BoxCox.lamda对相同的数据应用 ts 对象和向量时,结果是不同的。

有人可以向我解释为什么它会这样吗?

library(tidyverse)
library(tsibble)
library(lubridate)
library(fable)
library(tsibbledata)

library(forecast)


vic_cafe <- tsibbledata::aus_retail %>%
  filter(
    State == "Victoria",
    Industry == "Cafes, restaurants and catering services"
  ) %>%
  select(Month, Turnover)


lambda_fable <- vic_cafe %>% features(Turnover, guerrero) %>% pull(lambda_guerrero)
lambda_fable
#> [1] 0.1240828

lambda_forecast <- BoxCox.lambda(vic_cafe$Turnover, method = "guerrero")
lambda_forecast
#> [1] 0.02686482

lambda_forecast_ts <- BoxCox.lambda(as.ts(vic_cafe), method = "guerrero")
lambda_forecast_ts
#> [1] 0.1734189
4

1 回答 1

0

函数 from使用feasts::guerrero()所有可用数据,而forecast::BoxCox.lambda()忽略不完全符合年份的数据。

您的vic_cafe数据集从 4 月开始,因此 feasts 包将季节分组为 4 月至 3 月,但预测将使用 1 月至 12 月并删除数据的第一部分。

可以在这里找到更多讨论,我在文档中添加了对这些差异的提及:https ://github.com/tidyverts/feasts/commit/830fe4095cf6231e7bb179519cddfeadd9cd7531

于 2020-08-11T00:09:39.113 回答