如何解决R 寓言包,分层预测 - mutate() 错误
我正在尝试对数据集执行分层预测,该数据集的基本结构与 Forecasting,Principles and Practices 中引用的 tourism
tsibble
相同。我的 tsibble
称为 t_london
,其结构如下:
# A tsibble: 11,520 x 13 [1M]
# Key: LSOA11NM,Value.type [96]
Month Value.type LSOA11CD LSOA11NM WD19CD WD19NM LAD19CD LAD19NM CTYNM RGN19NM CNTY21NM NTN21NM Count
<mth> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <int>
1 2010 Dec Value-Type-1 E01000001 City of London 001A E05009288 Aldersgate E09000001 City of Lond… City Of Lond… London England UK 2
2 2011 Jan Value-Type-1 E01000001 City of London 001A E05009288 Aldersgate E09000001 City of Lond… City Of Lond… London England UK 2
3 2011 Feb Value-Type-1 E01000001 City of London 001A E05009288 Aldersgate E09000001 City of Lond… City Of Lond… London England UK 3
4 2011 Mar Value-Type-1 E01000001 City of London 001A E05009288 Aldersgate E09000001 City of Lond… City Of Lond… London England UK 2
5 2011 Apr Value-Type-1 E01000001 City of London 001A E05009288 Aldersgate E09000001 City of Lond… City Of Lond… London England UK 0
6 2011 May Value-Type-1 E01000001 City of London 001A E05009288 Aldersgate E09000001 City of Lond… City Of Lond… London England UK 2
7 2011 Jun Value-Type-1 E01000001 City of London 001A E05009288 Aldersgate E09000001 City of Lond… City Of Lond… London England UK 4
8 2011 Jul Value-Type-1 E01000001 City of London 001A E05009288 Aldersgate E09000001 City of Lond… City Of Lond… London England UK 3
9 2011 Aug Value-Type-1 E01000001 City of London 001A E05009288 Aldersgate E09000001 City of Lond… City Of Lond… London England UK 2
10 2011 Sep Value-Type-1 E01000001 City of London 001A E05009288 Aldersgate E09000001 City of Lond… City Of Lond… London England UK 0
# … with 11,510 more rows
我聚合了结构,使用:
london_full <- t_london %>%
aggregate_key((NTN21NM/ CNTY21NM / RGN19NM / CTYNM / LAD19NM / WD19NM /LSOA11NM) * Value.type,Total = sum(Count))
并尝试执行分层预测预测,使用:
>fit <- london_full %>%
+ filter(year(Month) < 2018) %>%
+ model(base = ARIMA(Total)) %>%
+ reconcile(
+ bu = bottom_up(base),+ ols = min_trace(base,method = "ols"),+ mint = min_trace(base,method = "mint_shrink"),+ )
> fc <- fit %>% forecast(h = "1 year")
数据是从 Dec 2010
到 Sep 2020
。
但是,我面临以下问题:
Error: Problem with `mutate()` input `mint`.
✖ infinite or missing values in 'x'
ℹ Input `mint` is `(function (object,...) ...`.
Run `rlang::last_error()` to see where the error occurred.
In addition: Warning messages:
1: Problem with `mutate()` input `mint`.
ℹ diag(.) had 0 or NA entries; non-finite result is doubtful
ℹ Input `mint` is `(function (object,...) ...`.
2: Problem with `mutate()` input `mint`.
ℹ diag(.) had 0 or NA entries; non-finite result is doubtful
ℹ Input `mint` is `(function (object,...) ...`.
运行rlang::last_trace()
:
<error/dplyr:::mutate_error>
Problem with `mutate()` input `mint`.
✖ infinite or missing values in 'x'
ℹ Input `mint` is `(function (object,...) ...`.
Backtrace:
█
1. ├─fit %>% forecast(h = "2 years")
2. ├─fabletools::forecast(.,h = "2 years")
3. ├─fabletools:::forecast.mdl_df(.,h = "2 years")
4. │ └─dplyr::mutate_at(...)
5. │ ├─dplyr::mutate(.tbl,!!!funs)
6. │ └─dplyr:::mutate.data.frame(.tbl,!!!funs)
7. │ └─dplyr:::mutate_cols(.data,...)
8. │ ├─base::withCallingHandlers(...)
9. │ └─mask$eval_all_mutate(dots[[i]])
10. ├─(function (object,...) ...
11. ├─fabletools:::forecast.lst_mint_mdl(...)
12. │ └─base::eigen(W,only.values = TRUE)
13. │ └─base::stop("infinite or missing values in 'x'")
14. └─base::.handleSimpleError(...)
15. └─dplyr:::h(simpleError(msg,call))
<error/simpleError>
infinite or missing values in 'x'
我似乎不明白如何解决它,以及它是由什么引起的。 任何有关如何解决问题的帮助都会很棒!
提前致谢。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。