尝试使用外生变量进行预测时出现 ARIMA 错误 - !无法回收`mu`(大小84)来匹配`sigma`(大小24)

问题描述 投票:0回答:1

我正在尝试使用 ARIMA 来预测鱼类销售的每月价格(以欧元每公斤为单位),并使用外生变量即当月捕获的鱼的总重量。我可以构建模型,但当我尝试使用该模型进行预测时出现错误。 我总共有 108 个数据点,并将它们分为训练集和测试集。训练集有 84 个数据点,测试集有 24 个数据点。 错误是:

Error in `mutate()`:
ℹ In argument: `arima = (function (object, ...) ...`.
Caused by error in `new_dist()`:
! Can't recycle `mu` (size 84) to match `sigma` (size 24).

我有一个 df,df_fish,其中包含 2014 年 1 月至 2022 年 12 月期间每公斤鱼的每月平均价格,以及每个月捕获的总重量。我将其分为 df_train(2014 年 1 月至 12 月) 2020 年,84 个值)和 df_test(2021 年 1 月至 2022 年 12 月,24 个值)。我用以下方法构建模型:

arima_fish <- df_train %>%
  model(arima = ARIMA(EurosPerLiveKg  ~ df_train$EstTonne))

报告(arima_fish)给出:

Series: EurosPerLiveKg 
Model: LM w/ ARIMA(0,0,0)(0,0,2)[12] errors 

Coefficients:
        sma1    sma2  xreg_train_wt  intercept
        0.1424  0.2308         -3e-04     0.9696
s.e.  0.1408  0.1646          5e-04     0.0435

sigma^2 estimated as 0.06625:  log likelihood=-3.88
AIC=17.76   AICc=18.53   BIC=29.91

当我尝试跑步时:

arima_fish %>%
  forecast(h=24, xreg=df_test$EstTonne)

我收到上面给出的错误。

有人知道我做错了什么吗?或者我应该怎么做? 谢谢

r time-series forecasting arima fable-r
1个回答
0
投票

您似乎混淆了 fable 包和预测包中

forecast()
和动态回归建模的使用。有关使用 fable 包的示例,请参阅 https://otexts.com/fpp3/forecasting.html。您对
forecast()
的调用应使用
new_data
参数,而不是
xreg

© www.soinside.com 2019 - 2024. All rights reserved.