【问题标题】:How can I fit the model “Y(t) = αX + βY(t-1) - βY(t-2)" in R?如何在 R 中拟合模型“Y(t) = αX + βY(t-1) - βY(t-2)”?
【发布时间】:2017-03-21 03:25:27
【问题描述】:

我必须使用 R 对时间序列 Y(t) 提前一步预测。理论表明理想的模型应该是:

Y(t) = αX + βY(t-1) - βY(t-2)

但是,我不知道如何处理以下问题:

  • 我必须服用 βY(t-1) minus βY(t-2)
  • 自回归Y(t-1),Y(t-2))和外生 strong> 变量 (X)。
  • 我必须测试“βY(t-1) - βY(t-2)”是否是表达自回归的最佳方式,而不是其他 ARIMA 模型。

有问题的时间序列Y(t)是:

Y <- c(57.4, 51.6, 36.1, 34.8, 41.2, 59.1, 62.5, 55.0, 53.8, 52.4, 44.5, 42.2, 50.1, 61.3, 49.6, 38.2, 51.1, 44.7, 40.8, 46.1, 53.5, 54.7, 50.3, 48.8, 53.7, 52.0)

使用的外生变量X为:

X <- c(-12.1, 30.0, 13.5, 30.0, -3.8, -24.3, 30.0, 30.0, 30.0, 30.0, -21.6, 30.0, 0.0, 26.5, -30.0, 20.5, -4.8, -9.2, 22.2, -7.3, 15.9, 16.0, 13.7, 5.6, 5.7, 1.8)

您可能会注意到,这个实际的 X 对预测 Y 没有太大帮助。不过,我将其作为示例报告,因为我目前正在寻找 X 的正确值。

如果有任何错误或不清楚的地方,请告诉我,我会给出必要的解释。

提前致谢。

【问题讨论】:

    标签: r time-series regression forecasting autoregressive-models


    【解决方案1】:

    您可以使用lag 函数进行转换,使用lmglm 进行回归:

    Y <- c(57.4, 51.6, 36.1, 34.8, 41.2, 59.1, 62.5, 55.0, 53.8, 52.4, 44.5, 42.2, 50.1, 61.3, 49.6, 38.2, 51.1, 44.7, 40.8, 46.1, 53.5, 54.7, 50.3, 48.8, 53.7, 52.0)
    X <- c(-12.1, 30.0, 13.5, 30.0, -3.8, -24.3, 30.0, 30.0, 30.0, 30.0, -21.6, 30.0, 0.0, 26.5, -30.0, 20.5, -4.8, -9.2, 22.2, -7.3, 15.9, 16.0, 13.7, 5.6, 5.7, 1.8)
    
    y_1 <- lag(Y)
    y_2 <- lag(Y,2)
    
    lm(Y~X+y_1+y_2)
    

    您也可以直接在回归方程中进行滞后变换:

    lm(Y ~ X + I(lag(Y)) + I(lag(Y, 2)))
    

    最后,区别只是操作符改成这个:

    lm(Y ~ X + I(lag(Y)) - I(lag(Y, 2)))
    
    Call:
    lm(formula = Y ~ X + I(lag(Y)) - I(lag(Y, 2)))
    
    Coefficients:
    (Intercept)            X    I(lag(Y))  
      3.906e-14   -4.693e-18    1.000e+00
    

    【讨论】:

    • 它几乎完成了,但是我必须针对其他模型进行测试,例如 ARIMA(0,0,2) 等。函数'auto.arima() ' 建议我使用 ARIMA(0,0,1)。我如何将这个模型“... + Y(t-1) - Y(t-1)” 与 ARIMA(0,0,1) 进行比较?
    • @smars 以什么方式比较?您可以使用 predict 运行预测并从中计算验证统计信息,或者使用 Metrics 如果您的意思是这样的话。这只是对您提出的有关如何估计指定模型的问题的直接回答。
    • 非常感谢。我最终会发布另一个与此相关的问题。
    猜你喜欢
    • 2017-03-16
    • 1970-01-01
    • 1970-01-01
    • 2012-03-21
    • 2014-01-27
    • 2022-01-08
    • 1970-01-01
    • 2014-09-02
    • 2017-10-03
    相关资源
    最近更新 更多