微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在 ARIMA R 中添加外生变量的滞后

如何解决如何在 ARIMA R 中添加外生变量的滞后

我正在尝试考虑以下因素来预测厄瓜多尔的 GDP 增长:

  1. 厄瓜多尔的 GDP 增长
  2. 美国 GDP 增长
  3. 厄瓜多尔的石油收入增长

所有系列均以%表示

所以我按照 Box-Jenkins 方法得到了 Arima 模型

Arima 模型是 (1,1),在这里你可以看到结果:

ecu_ts1ecu_ts 的第一个差值,即厄瓜多尔的 GDP 增长

> m_anual1<-Arima(ecu_ts1,order=c(1,1),include.mean = F,include.drift = F,method = "ML")
> m_anual1
Series: ecu_ts1 
ARIMA(1,1) with zero mean 

Coefficients:
          ar1      ma1
      -0.0239  -0.7739
s.e.   0.2732   0.2061

sigma^2 estimated as 0.001448:  log likelihood=46.81
AIC=-87.62   AICc=-86.48   BIC=-83.96

在这里你可以使用自动 arima

> m_anual3<-auto.arima(ecu_ts1) #(0,1)
> summary(m_anual3)
Series: ecu_ts1 
ARIMA(0,1) with zero mean 

Coefficients:
          ma1
      -0.7859
s.e.   0.1469

sigma^2 estimated as 0.001388:  log likelihood=46.81
AIC=-89.61   AICc=-89.07   BIC=-87.17

Training set error measures:
                       ME       RMSE       MAE      MPE     MAPE      MASE        ACF1
Training set -0.002448472 0.03650236 0.0247334 169.3471 180.7815 0.4480181 -0.03267473

现在我显示附加外生变量的矩阵:

base<-select(base,-crec_pib_ecu)
base<-base %>% filter(año!=2000)%>% remove_rownames %>% column_to_rownames(var="año")
base<-as.matrix(base)

> base
     crec_pib_usa crec_ing_petrol_ecu
2001   0.00998593         -0.19667796
2002   0.01741617          0.06775281
2003   0.02861097          0.28998518
2004   0.03798871          0.64333574
2005   0.03513375          0.38433456
2006   0.02854815          0.28482778
2007   0.01876192          0.07129294
2008  -0.00136631          0.42270061
2009  -0.02536740         -0.40538365
2010   0.02563808          0.42453831
2011   0.01550926          0.31814688
2012   0.02249431          0.07722523
2013   0.01842162          0.05511111
2014   0.02525860         -0.02950697
2015   0.03075622         -0.51173745
2016   0.01711490         -0.20476004
2017   0.02332559          0.22475282
2018   0.02996566          0.26876243
2019   0.02161036         -0.01556691
2020  -0.03434892         -0.39403755
2021   0.04589151          0.42078577
2022   0.02885851         -0.06532653
2023   0.02204843         -0.03948172
2024   0.02301897         -0.02201880
2025   0.02257141         -0.01060887

现在我得到了带有外生变量的自动 Arima 结果 (0,1):

> m_anual4<-Arima(ecu_ts1,order = c(0,method = "ML",xreg = base)
> m_anual4
Series: ecu_ts1 
Regression with ARIMA(0,1) errors 

Coefficients:
          ma1  crec_pib_usa  crec_ing_petrol_ecu
      -1.0000       -0.1855               0.0226
s.e.   0.1526        0.0680               0.0121

sigma^2 estimated as 0.001166:  log likelihood=48.92
AIC=-89.84   AICc=-87.84   BIC=-84.97

问题:如何在最后一个 Arima 中从外生变量添加滞后(自动)?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。