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]值,所以我可以使用這些數據。
謝謝,這很有幫助。在運行'rnorm'之前,你需要設置種子[?set.seed](https://stat.ethz.ch/R-manual/R-devel/library/base/html/Random.html)每個人都會得到完全相同的價值觀。 – gung
我編輯了set.seed。 謝謝,我希望有人能幫助我 –
不過你需要重新運行代碼。 'rnorm'調用現在會給出不同的輸出,所以所有的結果都會有所不同。不要擔心,[SO]上的某個人應該能夠提供幫助。 – gung