【问题标题】:Fit a Mean forecasting model using tsibble, fable in R使用 tsibble 拟合平均预测模型,R 中的寓言
【发布时间】:2021-02-04 02:47:08
【问题描述】:

(使用来自 library(Ecdat) 的 Orange 数据集进行重现。)

我正在尝试使用 R 中的 tsibble、fable 包在 R 中拟合平均预测模型。下面的代码非常简单,但是当我尝试运行最后一个模型部分时出现错误 Error in NCOL(x) : object 'value' not found(即使 @ 987654324@ 是o_ts 中的列名),不知道为什么会这样。我正在从这里 (https://robjhyndman.com/hyndsight/fable/) 学习 RJH 教程。

如果 arima 和均值预测模型是否相同,我也将不胜感激,如果不是,我应该使用什么函数来代替 Arima。

library(Ecdat)
library(tsibble)
library(feasts)
library(tidyverse)
library(fable)

o<- Orange 

o_ts <- o %>% as_tsibble()

o_ts %>%
  filter(key=="priceoj") %>% 
  model(
    arima=arima(value))

【问题讨论】:

    标签: r time-series tidyverse tsibble


    【解决方案1】:

    arima 来自 stats 包。我相信你想要来自fableARIMA

    o_ts %>%
      filter(key == "priceoj") %>% 
      model(
        arima = ARIMA(value)
      )
    #> # A mable: 1 x 2
    #> # Key:     key [1]
    #>   key                         arima
    #>   <chr>                     <model>
    #> 1 priceoj <ARIMA(1,1,0)(0,0,1)[12]>
    

    【讨论】:

    • 谢谢,这是正确的,你能否确认它是否与我感到困惑的平均预测相同
    • 另外,知道为什么我会得到一个空模型吗?
    • 我不熟悉mean forecast model 的定义。我不确定你为什么得到一个空模型 - 我运行它时没有得到一个空模型。也许尝试重新启动 R 并再次运行?
    【解决方案2】:

    如果您的平均预测模型指的是采用mean of the last X observation(移动平均线),那么您应该使用MEAN
    虽然ARIMA 确实指的是移动平均线(自动回归综合移动平均线),但这指的是预测误差的加权移动平均线 - 您可以在此处阅读更多信息:9.4 Moving average models in Forecasting: Principles and Practice

    o <- Orange 
    
    o_ts <- o %>% as_tsibble()
    
    o_ts %>%
      filter(key == "priceoj") %>% 
      model(mean = MEAN(value))
    

    如果要指定要取平均值的观测值数量,则需要添加特殊的~window(size = X)。否则将使用所有观察结果。

    o_ts %>%
      filter(key == "priceoj") %>% 
      model(mean = MEAN(value ~ window(size = 3)))
    

    【讨论】:

      猜你喜欢
      • 2020-01-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多