2016-01-15 20 views
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] значения в числовой вектор или что-то, поэтому я могу работать с данными.

+0

Спасибо, это полезно. Вам нужно будет установить семя [? Set.seed] (https://stat.ethz.ch/R-manual/R-devel/library/base/html/Random.html) перед запуском 'rnorm' так что все получат точно те же ценности, которые у вас есть. – gung

+0

я отредактировал set.seed. спасибо, я надеюсь, что кто-то может мне помочь –

+0

Вам нужно будет повторно запустить код. Теперь вызов 'rnorm' даст разные результаты, поэтому все результаты будут разными. Не волнуйтесь, кто-то на [SO] должен быть в состоянии помочь. – gung

ответ

0

Просто используйте это: sa2=as.numeric(sa). sa2 будет представлять собой числовой вектор прогнозируемых средств.