通过指定AR和MA的参数拟合ARIMA模型

jm81lzqq  于 2023-03-27  发布在  其他
关注(0)|答案(1)|浏览(120)

bounty将在6天后过期。回答此问题可获得+50声望奖励。Daniel James希望引起更多人对此问题的关注:我需要一个有效的R代码来证明您的答案

使用Arima()函数来拟合ARIMA模型与时间序列数据,除了模型的order之外,如何指定ARMA的参数?

library(forecast)
set.seed(289805)
yt <- arima.sim(n = 10, model = list(ar = 0.8, order = c(1, 0, 0)), sd = 1)
(auto_fit <- auto.arima(yt))
#Series: yt 
#ARIMA(1,0,0) with zero mean 

#Coefficients:
#         ar1
#      0.8000
#s.e.  0.1458

#sigma^2 = 1.849:  log likelihood = -17.25
#AIC=38.49   AICc=40.21   BIC=39.1
Arima(yt, order = c(1, 0, 0))
#Series: yt 
#ARIMA(1,0,0) with non-zero mean 

#Coefficients:
#         ar1    mean
#      0.6258  1.5129
#s.e.  0.2416  0.9490

#sigma^2 = 1.929:  log likelihood = -16.61
#AIC=39.21   AICc=43.21   BIC=40.12

可以看出,AR的系数等于0.6258,平均值等于1.5129。

我想要的

我希望能够在forecast包的Arima()函数中指定ARMA的参数。此外,如果有更方便的方法不同于Arima()函数。以下面的例子来说明我试图写的内容:

Arima(yt, order = c(1, 0, 0), ar = c(0.8000))
#Error in stats::arima(x = x, order = order, seasonal = seasonal, include.mean = include.mean,  : 
#  unused argument (ar = 0.8)

我收到了上面的错误信息。

问这个问题的另一种方式

如果我可以获得ARIMA模型的阶数,如下所示:

yt %>% auto.arima %>% arimaorder
#p d q 
#1 0 0

如何最好地只打印出AR参数的系数?

neskvpey

neskvpey1#

如果你想打印ytAR参数,你可以使用coef函数来获得系数的向量,如下所示:

library(forecast)
set.seed(289805)
yt <- arima.sim(n = 10, model = list(ar = 0.8, order = c(1, 0, 0)), sd = 1)
yt %>% auto.arima %>% coef
#> ar1 
#> 0.8

创建于2023-03-26带有reprex v2.0.2

相关问题