Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R中的一步领先预测_R_Time Series_Forecasting - Fatal编程技术网

R中的一步领先预测

R中的一步领先预测,r,time-series,forecasting,R,Time Series,Forecasting,我在R中多次使用forecast函数,循环(12个月),但我想使用精度来比较地平线时间=12和提前一步的预测。我的问题是如何存储12次的结果以准确地使用它 for (i in 1:12) { demfit <- ets(Dem2) f <- forecast(demfit, 1) Dem2[length(Dem2)+1] <- f$mean[1] } accuracy(f,Test) for(i在1:12中){ demfit我认为您要做的基本上是在f列表

我在R中多次使用
forecast
函数,循环(12个月),但我想使用精度来比较地平线时间=12和提前一步的预测。我的问题是如何存储12次的结果以准确地使用它

for (i in 1:12) { 
  demfit <- ets(Dem2) 
  f <- forecast(demfit, 1) 
  Dem2[length(Dem2)+1] <- f$mean[1] 
} 
accuracy(f,Test)
for(i在1:12中){

demfit我认为您要做的基本上是在
f
列表中存储12个值,并且在循环完成时也在
精度
列表中存储12个值

方法如下(将其保存在列表中):


f在另一个注释中,预测和准确度从何而来?哪个软件包?预测软件包。这是你的问题吗?是的,谢谢,但这是不太重要的评论。Dem2是我的培训,测试是我的测试。我想做的是比较预测水平=12和预测提前一步(12次)例如,每次我都用预测值更新我的时间序列。因此,要做到这一点,我应该将每次的输出存储在一个向量中,然后应用精度函数。我的意思是,为了得到答案,我的第一条评论很重要……如果这不是你所期望的,请告诉我你希望结果是什么我会帮助你的。我试过这么做,但是我得到了这个错误,因为在testaccuracy(f,x,Test,d,d)中的准确性(f,Test)错误:未知的列表结构另外:警告消息:在trainingaccuracy(f,Test,d,d)中:测试元素必须在样本中
我更正了这个:
Dem2[length(Dem2)+1]我想你真正想做的是用精度而不是f值来做一个列表。试试这个,你会得到一个12个精度的列表。如果你想两者都创建2个列表,然后做同样的事情。我不知道函数
精度
是如何工作的,但为了在循环中保存列表中的元素,这是一种开始。如果您想让流程正常工作,那么您需要向我解释这些函数是如何工作的,或者指定一个在循环之外工作的示例。我现在需要继续,但回来后我会提供帮助。请尽可能多地让我知道问题所在。
fit <- ets(Dem2) 
f1 <- forecast(fit, 12) 
accuracy(f1, Test)
f     <- list()
for (i in 1:12) { 
  demfit <- ets(Dem2) 
  f[[i]] <- forecast(demfit, 1)  #start filling the f list with values
  Dem2[length(Dem2)+1] <- f$mean[1]
} 
f <- unlist(f)
accuracy(f,Test)