我有一组数据,其形式如下:
library(tidyverse)
library(readxl)
library(tsibble)
library(tsibbledata)
library(purrr)
library(lubridate)
library(fable)
library(fabletools)
library(tidymodels)
library(feasts)
data <- tibble(Date=yearweek(mdy("5/6/2022","5/14/2022","5/21/2022")),
value=c(3,5,7))
ts_data <- tsibble(data)
new_test_data <- tibble(`Formula ID` = c(1),
`Formula Name` = c("Flubber"),
data=list(data),data_ts=list(ts_data))
这将生成如下所示的tibble:
| 配方ID|公式名称|资料|数据_ts|
| - ------| - ------| - ------| - ------|
| 1个|弗卢伯|2个变量|2个变量|
其中data是tibble,data_ts是tsibble。我需要为时间序列data_ts创建一个模型,并对时间序列进行预测。我一直在尝试使用purrr来Map模型,如下所示:
new_test_data < new_test_data %>%
mutate(model = map(data_ts,ARIMA(data_ts,value)))
不幸的是,这并不起作用。有人能给我一些关于如何使用这个Map来创建ARIMA模型和模型预测的建议吗?我在new_test_data中有大约70个数据集,非常适合这种类型的建模。
非常感谢,
肖恩路
1条答案
按热度按时间xqkwcwgp1#
也许这有助于你开始。要估计一个ARIMA或任何其他模型,你必须使用
model()
,它的第一个参数接受一个数据集和一个或多个模型规范,例如ARIMA
。此外,当使用map
循环一列数据集时,你必须传递一个元素或数据集到model()
,而不是列表列本身。