2

2010 年のさまざまな時系列モデルを使用して、再帰的な一歩先の毎日の予測を行っています。たとえば、次のようになります。

set.seed(1096)
Datum=seq(as.Date("2008/1/1"), as.Date("2010/12/31"), "days")
r=rnorm(1096)
y=xts(r,order.by=as.Date(Datum))
List.y=vector(mode = "list", length = 365L)

for (i in 1:365) {
window.y <- window(y[,1], end = as.Date("2009-12-30") + i) 
fit.y <- arima(window.y, order=c(5,0,0))
List.y[[i]] <- forecast(fit.y , h = 1)
}

リストは次のようになります。

List.y
[[1]]
Point Forecast     Lo 80    Hi 80     Lo 95    Hi 95
732  -0.0506346 -1.333437 1.232168 -2.012511 1.911242
[[2]]
Point Forecast     Lo 80    Hi 80     Lo 95   Hi 95
733   0.03905936 -1.242889 1.321008 -1.921511 1.99963

....

[[365]]
 Point Forecast   Lo 80    Hi 80     Lo 95    Hi 95
 1096  0.09242849 -1.1794 1.364257 -1.852665 2.037522

そして今、各期間 [1]-[365] の予測値のみを抽出したいので、予測データを操作できます。ただし、これを行う方法がわかりません。私は試した

sa=sapply(List.y[1:365], `[`, 4)

しかし、私はこれしか得られません:

$mean
Time Series:
Start = 732 
End = 732 
Frequency = 1 
[1] -0.0506346

$mean
Time Series:
Start = 733 
End = 733 
Frequency = 1 
[1] 0.03905936

...

$mean
Time Series:
Start = 1096 
End = 1096 
Frequency = 1 
[1] 0.09242849

しかし、数値ベクトルなどで 365 個の [1] 値すべてが必要なので、データを操作できます。

4

1 に答える 1

0

これを使用してください: sa2=as.numeric(sa). sa2予測平均の数値ベクトルになります。

于 2016-01-16T10:30:56.990 に答える