R(寓言包)中的预测:寓言中的准确性函数找不到 y 变量
Forecasting in R(fable package): accuracy function in fable cannot find the y variable
我正在尝试从寓言包中获取准确函数。它有时会出现这样的意外错误
"Error: Could not find response variable(s) in the fable: Trips"
(这是 https://otexts.com/fpp3/toolbox-exercises.html 中的示例 12)
有人遇到过这个问题吗?
这是我使用的代码:
# reprex is one of the (many) packages installed when you install tidyverse
#install.packages("tidyverse")
#install.packages("shiny")
#install.packages("htmltools")
#library(shiny)
#library(miniUI)
# install reprex by itself
library(reprex)
library(fpp3)
#> ── Attaching packages ─────────────────────────────────────────────────────────────────────────────────────── fpp3 0.3 ──
#> ✓ tibble 3.0.1 ✓ tsibble 0.9.0
#> ✓ dplyr 1.0.0 ✓ tsibbledata 0.2.0
#> ✓ tidyr 1.1.0 ✓ feasts 0.1.3
#> ✓ lubridate 1.7.9 ✓ fable 0.2.0
#> ✓ ggplot2 3.3.1
#> ── Conflicts ────────────────────────────────────────────────────────────────────────────────────────── fpp3_conflicts ──
#> x lubridate::date() masks base::date()
#> x dplyr::filter() masks stats::filter()
#> x tsibble::interval() masks lubridate::interval()
#> x dplyr::lag() masks stats::lag()
gc_tourism <- tourism %>% filter(Region=='Gold Coast') %>%
group_by(Purpose) %>%
summarise(Trips=sum(Trips))
gc_train_1 <- gc_tourism %>%
group_by(Purpose) %>%
slice(1:(n()-4))
fit1 <- gc_train_1 %>%
model(SNAIVE=SNAIVE(Trips))
gc_fc_1 <- fit1 %>% forecast(h=4)
gc_fc_1 %>% accuracy(gc_tourism)
#> Error: Could not find response variable(s) in the fable: Trips
由 reprex package (v0.3.0)
于 2020-06-28 创建
当您调用 library(fpp3)
时,您会收到一条警告(冲突),表明与 dpylr::filter
存在冲突。这意味着您必须使用 dyplr::filter
调用 filter
,如此表示中所示。
library(fpp3)
#> ── Attaching packages ─────────────── fpp3 0.3 ──
#> ✓ tibble 3.0.1 ✓ tsibble 0.9.1
#> ✓ dplyr 1.0.0 ✓ tsibbledata 0.2.0
#> ✓ tidyr 1.1.0 ✓ feasts 0.1.4
#> ✓ lubridate 1.7.4 ✓ fable 0.2.1
#> ✓ ggplot2 3.3.2
#> ── Conflicts ────────────────── fpp3_conflicts ──
#> x lubridate::date() masks base::date()
#> x dplyr::filter() masks stats::filter()
#> x tsibble::interval() masks lubridate::interval()
#> x dplyr::lag() masks stats::lag()
#> x tsibble::new_interval() masks lubridate::new_interval()
gc_tourism <- tourism %>% dplyr::filter(Region=='Gold Coast') %>%
group_by(Purpose) %>%
summarise(Trips=sum(Trips))
gc_train_1 <- gc_tourism %>%
group_by(Purpose) %>%
slice(1:(n()-4))
fit1 <- gc_train_1 %>%
model(SNAIVE=SNAIVE(Trips))
gc_fc_1 <- fit1 %>% forecast(h=4)
gc_fc_1 %>% accuracy(gc_tourism)
#> # A tibble: 4 x 10
#> .model Purpose .type ME RMSE MAE MPE MAPE MASE ACF1
#> <chr> <chr> <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
#> 1 SNAIVE Business Test 17.4 41.3 38.6 9.63 35.4 1.81 -0.276
#> 2 SNAIVE Holiday Test 38.9 73.9 70.7 6.42 13.0 1.42 -0.213
#> 3 SNAIVE Other Test -1.50 6.27 5.61 -9.01 17.3 0.493 -0.0655
#> 4 SNAIVE Visiting Test 20.4 64.2 59.0 5.41 17.8 1.39 -0.574
将 tsibble 和 fable 软件包升级到最新版本(分别为 0.9.1 和 0.2.1)后,我解决了这个问题。
rm(list=ls())
library(fpp3)
#> ── Attaching packages ─────────────────────────────────────────────────────────────────────────────────────── fpp3 0.3 ──
#> ✓ tibble 3.0.1 ✓ tsibble 0.9.1
#> ✓ dplyr 1.0.0 ✓ tsibbledata 0.2.0
#> ✓ tidyr 1.1.0 ✓ feasts 0.1.4
#> ✓ lubridate 1.7.9 ✓ fable 0.2.1
#> ✓ ggplot2 3.3.2
#> ── Conflicts ────────────────────────────────────────────────────────────────────────────────────────── fpp3_conflicts ──
#> x lubridate::date() masks base::date()
#> x dplyr::filter() masks stats::filter()
#> x tsibble::interval() masks lubridate::interval()
#> x dplyr::lag() masks stats::lag()
library(reprex)
gc_tourism <- tourism %>% dplyr::filter(Region=='Gold Coast') %>%
dplyr::group_by(Purpose) %>%
dplyr::summarise(Trips=sum(Trips))
gc_train_1 <- gc_tourism %>%
dplyr::group_by(Purpose) %>%
dplyr::slice(1:(n()-4))
fit1 <- gc_train_1 %>%
model(SNAIVE=SNAIVE(Trips))
gc_fc_1 <- fit1 %>% forecast(h=4)
gc_fc_1 %>% accuracy(gc_tourism)
#> # A tibble: 4 x 10
#> .model Purpose .type ME RMSE MAE MPE MAPE MASE ACF1
#> <chr> <chr> <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
#> 1 SNAIVE Business Test 17.4 41.3 38.6 9.63 35.4 1.81 -0.276
#> 2 SNAIVE Holiday Test 38.9 73.9 70.7 6.42 13.0 1.42 -0.213
#> 3 SNAIVE Other Test -1.50 6.27 5.61 -9.01 17.3 0.493 -0.0655
#> 4 SNAIVE Visiting Test 20.4 64.2 59.0 5.41 17.8 1.39 -0.574
gc_tourism <- tourism %>% dplyr::filter(Region=='Gold Coast') %>%
group_by(Purpose) %>%
summarise(Trips=sum(Trips))
gc_train_1 <- gc_tourism %>%
group_by(Purpose) %>%
slice(1:(n()-4))
fit1 <- gc_train_1 %>%
model(SNAIVE=SNAIVE(Trips))
gc_fc_1 <- fit1 %>% forecast(h=4)
gc_fc_1 %>% accuracy(gc_tourism)
#> # A tibble: 4 x 10
#> .model Purpose .type ME RMSE MAE MPE MAPE MASE ACF1
#> <chr> <chr> <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
#> 1 SNAIVE Business Test 17.4 41.3 38.6 9.63 35.4 1.81 -0.276
#> 2 SNAIVE Holiday Test 38.9 73.9 70.7 6.42 13.0 1.42 -0.213
#> 3 SNAIVE Other Test -1.50 6.27 5.61 -9.01 17.3 0.493 -0.0655
#> 4 SNAIVE Visiting Test 20.4 64.2 59.0 5.41 17.8 1.39 -0.574
由 reprex package (v0.3.0)
于 2020-07-01 创建
我正在尝试从寓言包中获取准确函数。它有时会出现这样的意外错误
"Error: Could not find response variable(s) in the fable: Trips"
(这是 https://otexts.com/fpp3/toolbox-exercises.html 中的示例 12)
有人遇到过这个问题吗? 这是我使用的代码:
# reprex is one of the (many) packages installed when you install tidyverse
#install.packages("tidyverse")
#install.packages("shiny")
#install.packages("htmltools")
#library(shiny)
#library(miniUI)
# install reprex by itself
library(reprex)
library(fpp3)
#> ── Attaching packages ─────────────────────────────────────────────────────────────────────────────────────── fpp3 0.3 ──
#> ✓ tibble 3.0.1 ✓ tsibble 0.9.0
#> ✓ dplyr 1.0.0 ✓ tsibbledata 0.2.0
#> ✓ tidyr 1.1.0 ✓ feasts 0.1.3
#> ✓ lubridate 1.7.9 ✓ fable 0.2.0
#> ✓ ggplot2 3.3.1
#> ── Conflicts ────────────────────────────────────────────────────────────────────────────────────────── fpp3_conflicts ──
#> x lubridate::date() masks base::date()
#> x dplyr::filter() masks stats::filter()
#> x tsibble::interval() masks lubridate::interval()
#> x dplyr::lag() masks stats::lag()
gc_tourism <- tourism %>% filter(Region=='Gold Coast') %>%
group_by(Purpose) %>%
summarise(Trips=sum(Trips))
gc_train_1 <- gc_tourism %>%
group_by(Purpose) %>%
slice(1:(n()-4))
fit1 <- gc_train_1 %>%
model(SNAIVE=SNAIVE(Trips))
gc_fc_1 <- fit1 %>% forecast(h=4)
gc_fc_1 %>% accuracy(gc_tourism)
#> Error: Could not find response variable(s) in the fable: Trips
由 reprex package (v0.3.0)
于 2020-06-28 创建当您调用 library(fpp3)
时,您会收到一条警告(冲突),表明与 dpylr::filter
存在冲突。这意味着您必须使用 dyplr::filter
调用 filter
,如此表示中所示。
library(fpp3)
#> ── Attaching packages ─────────────── fpp3 0.3 ──
#> ✓ tibble 3.0.1 ✓ tsibble 0.9.1
#> ✓ dplyr 1.0.0 ✓ tsibbledata 0.2.0
#> ✓ tidyr 1.1.0 ✓ feasts 0.1.4
#> ✓ lubridate 1.7.4 ✓ fable 0.2.1
#> ✓ ggplot2 3.3.2
#> ── Conflicts ────────────────── fpp3_conflicts ──
#> x lubridate::date() masks base::date()
#> x dplyr::filter() masks stats::filter()
#> x tsibble::interval() masks lubridate::interval()
#> x dplyr::lag() masks stats::lag()
#> x tsibble::new_interval() masks lubridate::new_interval()
gc_tourism <- tourism %>% dplyr::filter(Region=='Gold Coast') %>%
group_by(Purpose) %>%
summarise(Trips=sum(Trips))
gc_train_1 <- gc_tourism %>%
group_by(Purpose) %>%
slice(1:(n()-4))
fit1 <- gc_train_1 %>%
model(SNAIVE=SNAIVE(Trips))
gc_fc_1 <- fit1 %>% forecast(h=4)
gc_fc_1 %>% accuracy(gc_tourism)
#> # A tibble: 4 x 10
#> .model Purpose .type ME RMSE MAE MPE MAPE MASE ACF1
#> <chr> <chr> <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
#> 1 SNAIVE Business Test 17.4 41.3 38.6 9.63 35.4 1.81 -0.276
#> 2 SNAIVE Holiday Test 38.9 73.9 70.7 6.42 13.0 1.42 -0.213
#> 3 SNAIVE Other Test -1.50 6.27 5.61 -9.01 17.3 0.493 -0.0655
#> 4 SNAIVE Visiting Test 20.4 64.2 59.0 5.41 17.8 1.39 -0.574
将 tsibble 和 fable 软件包升级到最新版本(分别为 0.9.1 和 0.2.1)后,我解决了这个问题。
rm(list=ls())
library(fpp3)
#> ── Attaching packages ─────────────────────────────────────────────────────────────────────────────────────── fpp3 0.3 ──
#> ✓ tibble 3.0.1 ✓ tsibble 0.9.1
#> ✓ dplyr 1.0.0 ✓ tsibbledata 0.2.0
#> ✓ tidyr 1.1.0 ✓ feasts 0.1.4
#> ✓ lubridate 1.7.9 ✓ fable 0.2.1
#> ✓ ggplot2 3.3.2
#> ── Conflicts ────────────────────────────────────────────────────────────────────────────────────────── fpp3_conflicts ──
#> x lubridate::date() masks base::date()
#> x dplyr::filter() masks stats::filter()
#> x tsibble::interval() masks lubridate::interval()
#> x dplyr::lag() masks stats::lag()
library(reprex)
gc_tourism <- tourism %>% dplyr::filter(Region=='Gold Coast') %>%
dplyr::group_by(Purpose) %>%
dplyr::summarise(Trips=sum(Trips))
gc_train_1 <- gc_tourism %>%
dplyr::group_by(Purpose) %>%
dplyr::slice(1:(n()-4))
fit1 <- gc_train_1 %>%
model(SNAIVE=SNAIVE(Trips))
gc_fc_1 <- fit1 %>% forecast(h=4)
gc_fc_1 %>% accuracy(gc_tourism)
#> # A tibble: 4 x 10
#> .model Purpose .type ME RMSE MAE MPE MAPE MASE ACF1
#> <chr> <chr> <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
#> 1 SNAIVE Business Test 17.4 41.3 38.6 9.63 35.4 1.81 -0.276
#> 2 SNAIVE Holiday Test 38.9 73.9 70.7 6.42 13.0 1.42 -0.213
#> 3 SNAIVE Other Test -1.50 6.27 5.61 -9.01 17.3 0.493 -0.0655
#> 4 SNAIVE Visiting Test 20.4 64.2 59.0 5.41 17.8 1.39 -0.574
gc_tourism <- tourism %>% dplyr::filter(Region=='Gold Coast') %>%
group_by(Purpose) %>%
summarise(Trips=sum(Trips))
gc_train_1 <- gc_tourism %>%
group_by(Purpose) %>%
slice(1:(n()-4))
fit1 <- gc_train_1 %>%
model(SNAIVE=SNAIVE(Trips))
gc_fc_1 <- fit1 %>% forecast(h=4)
gc_fc_1 %>% accuracy(gc_tourism)
#> # A tibble: 4 x 10
#> .model Purpose .type ME RMSE MAE MPE MAPE MASE ACF1
#> <chr> <chr> <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
#> 1 SNAIVE Business Test 17.4 41.3 38.6 9.63 35.4 1.81 -0.276
#> 2 SNAIVE Holiday Test 38.9 73.9 70.7 6.42 13.0 1.42 -0.213
#> 3 SNAIVE Other Test -1.50 6.27 5.61 -9.01 17.3 0.493 -0.0655
#> 4 SNAIVE Visiting Test 20.4 64.2 59.0 5.41 17.8 1.39 -0.574
由 reprex package (v0.3.0)
于 2020-07-01 创建