R中的Arima公式
Arima formula in R
我正在使用 "Arima" 为 "Airpassengers" 构建 MA(1) 模型,代码如下:
test3=Arima(AirPassengers,c(0,0,1))
结果是
Series: AirPassengers
ARIMA(0,0,1) with non-zero mean
Coefficients:
ma1 mean
0.9642 280.6464
s.e. 0.0214 10.5788
sigma^2 estimated as 4265: log likelihood=-806.43
AIC=1618.86 AICc=1619.03 BIC=1627.77
我想知道最后的公式,哪个是正确的:
(1) Yt=280.6464+et+0.9642et-1
(2) Yt=280.6464+et-0.9642et-1
为了详细说明我上面的评论,我们可以使用 MA(1) 模型方程 x_t = mean + w_t + ma1 * w_{t-1}
中的模型系数和残差显式重建源数据。这样做我们可以确认附加项的正确符号。
将 MA(1) 模型拟合到数据 AirPassengers
:
fit <- arima(AirPassengers, c(0,0,1));
使用存储在 fit$residuals
.
中的估计模型系数和残差重建数据
# Reconstruct the data from the model coefficients and residuals
# x_t = mean + w_t + ma1 * w_{t-1}
x.model <- coef(fit)["intercept"] + fit$residuals + coef(fit)["ma1"] * stats::lag(fit$residuals, k = -1)
我们绘制原始数据AirPassengers
和重构数据。因为两个时间序列数据会重叠,所以我们将重建的数据垂直移动shift = 50
。如果设置 shift = 0
,您可以确认它们确实重叠。
shift <- 50;
ts.plot(AirPassengers, x.model + shift, gpars=list(xlab = "Date", col = c(1, 2)))
所以我们得出结论,MA(1)模型方程确实是x_t = mean + w_t + ma1 * w_{t-1}
,而不是x_t = mean + w_t - ma1 * w_{t-1}
。
我正在使用 "Arima" 为 "Airpassengers" 构建 MA(1) 模型,代码如下:
test3=Arima(AirPassengers,c(0,0,1))
结果是
Series: AirPassengers
ARIMA(0,0,1) with non-zero mean
Coefficients:
ma1 mean
0.9642 280.6464
s.e. 0.0214 10.5788
sigma^2 estimated as 4265: log likelihood=-806.43
AIC=1618.86 AICc=1619.03 BIC=1627.77
我想知道最后的公式,哪个是正确的:
(1) Yt=280.6464+et+0.9642et-1
(2) Yt=280.6464+et-0.9642et-1
为了详细说明我上面的评论,我们可以使用 MA(1) 模型方程 x_t = mean + w_t + ma1 * w_{t-1}
中的模型系数和残差显式重建源数据。这样做我们可以确认附加项的正确符号。
将 MA(1) 模型拟合到数据
AirPassengers
:fit <- arima(AirPassengers, c(0,0,1));
使用存储在
中的估计模型系数和残差重建数据fit$residuals
.# Reconstruct the data from the model coefficients and residuals # x_t = mean + w_t + ma1 * w_{t-1} x.model <- coef(fit)["intercept"] + fit$residuals + coef(fit)["ma1"] * stats::lag(fit$residuals, k = -1)
我们绘制原始数据
AirPassengers
和重构数据。因为两个时间序列数据会重叠,所以我们将重建的数据垂直移动shift = 50
。如果设置shift = 0
,您可以确认它们确实重叠。shift <- 50; ts.plot(AirPassengers, x.model + shift, gpars=list(xlab = "Date", col = c(1, 2)))
所以我们得出结论,MA(1)模型方程确实是x_t = mean + w_t + ma1 * w_{t-1}
,而不是x_t = mean + w_t - ma1 * w_{t-1}
。