如何从R中的ar()方法模型中获取拟合值

如何从R中的ar()方法模型中获取拟合值,r,time-series,autoregressive-models,R,Time Series,Autoregressive Models,我想从R中的ar()函数输出模型中检索拟合值。当使用Arima()方法时,我使用fitted(model.object)函数得到它们,但是我找不到它与ar()的等价物 从AR(p)模型中获得拟合的最简单方法是使用forecast包中的auto.arima(),该包确实有一个fitted()方法。如果确实需要纯AR模型,可以通过d参数约束差分,并通过max.q参数约束MA顺序 > library(forecast) > fitted(auto.arima(WWWusage,d=0,ma

我想从
R
中的
ar()
函数输出模型中检索拟合值。当使用
Arima()
方法时,我使用
fitted(model.object)
函数得到它们,但是我找不到它与
ar()的等价物

从AR(p)模型中获得拟合的最简单方法是使用
forecast
包中的
auto.arima()
,该包确实有一个
fitted()
方法。如果确实需要纯AR模型,可以通过
d
参数约束差分,并通过
max.q
参数约束MA顺序

> library(forecast)
> fitted(auto.arima(WWWusage,d=0,max.q=0))
Time Series:
Start = 1 
End = 100 
Frequency = 1 
  [1]  91.68778  86.20842  82.13922  87.60576  ...

从AR(p)模型获得拟合的最简单方法是使用
forecast
包中的
auto.arima()
,该包确实有一个
fitted()
方法。如果确实需要纯AR模型,可以通过
d
参数约束差分,并通过
max.q
参数约束MA顺序

> library(forecast)
> fitted(auto.arima(WWWusage,d=0,max.q=0))
Time Series:
Start = 1 
End = 100 
Frequency = 1 
  [1]  91.68778  86.20842  82.13922  87.60576  ...

它不存储拟合向量,但具有残差。使用
ar
-对象的残差从原始数据重建预测的示例:

 data(WWWusage)
 arf <- ar(WWWusage)
str(arf)
#====================
List of 14
 $ order       : int 3
 $ ar          : num [1:3] 1.175 -0.0788 -0.1544
 $ var.pred    : num 117
 $ x.mean      : num 137
 $ aic         : Named num [1:21] 258.822 5.787 0.413 0 0.545 ...
  ..- attr(*, "names")= chr [1:21] "0" "1" "2" "3" ...
 $ n.used      : int 100
 $ order.max   : num 20
 $ partialacf  : num [1:20, 1, 1] 0.9602 -0.2666 -0.1544 -0.1202 -0.0715 ...
 $ resid       : Time-Series [1:100] from 1 to 100: NA NA NA -2.65 -4.19 ...
 $ method      : chr "Yule-Walker"
 $ series      : chr "WWWusage"
 $ frequency   : num 1
 $ call        : language ar(x = WWWusage)
 $ asy.var.coef: num [1:3, 1:3] 0.01017 -0.01237 0.00271 -0.01237 0.02449 ...
 - attr(*, "class")= chr "ar"
#===================
 str(WWWusage)
# Time-Series [1:100] from 1 to 100: 88 84 85 85 84 85 83 85 88 89 ...
png(); plot(WWWusage)
lines(seq(WWWusage),WWWusage - arf$resid, col="red"); dev.off()
数据(WWWusage)

arf它不存储拟合向量,但具有残差。使用
ar
-对象的残差从原始数据重建预测的示例:

 data(WWWusage)
 arf <- ar(WWWusage)
str(arf)
#====================
List of 14
 $ order       : int 3
 $ ar          : num [1:3] 1.175 -0.0788 -0.1544
 $ var.pred    : num 117
 $ x.mean      : num 137
 $ aic         : Named num [1:21] 258.822 5.787 0.413 0 0.545 ...
  ..- attr(*, "names")= chr [1:21] "0" "1" "2" "3" ...
 $ n.used      : int 100
 $ order.max   : num 20
 $ partialacf  : num [1:20, 1, 1] 0.9602 -0.2666 -0.1544 -0.1202 -0.0715 ...
 $ resid       : Time-Series [1:100] from 1 to 100: NA NA NA -2.65 -4.19 ...
 $ method      : chr "Yule-Walker"
 $ series      : chr "WWWusage"
 $ frequency   : num 1
 $ call        : language ar(x = WWWusage)
 $ asy.var.coef: num [1:3, 1:3] 0.01017 -0.01237 0.00271 -0.01237 0.02449 ...
 - attr(*, "class")= chr "ar"
#===================
 str(WWWusage)
# Time-Series [1:100] from 1 to 100: 88 84 85 85 84 85 83 85 88 89 ...
png(); plot(WWWusage)
lines(seq(WWWusage),WWWusage - arf$resid, col="red"); dev.off()
数据(WWWusage)

arf@user:1855677为什么要将残差加到原始序列中而不是减去它?好问题。残差非常小,而且使用差异确实会给出更好的拟合。它仍然在移动,但我认为粒子畸变是时间序列预测中特有的现象。@user:1855677为什么要将残差加到原始序列中而不是减去它?好问题。残差非常小,而且使用差异确实会给出更好的拟合。它仍然在移动,但我认为粒子畸变是时间序列预测的特有现象。