【发布时间】:2014-01-10 20:58:43
【问题描述】:
我在多个时间序列上运行一个循环。当我收到负面预测时,建议我使用Lambda=0 以严格遵守正面预测。
如果我为 1 个时间序列执行此操作,则效果很好。从我在循环中执行此操作的那一刻起,它就会出错。我收到的错误是:
pegelsresid.C(y, m, init.state, errortype, trendtype, seasontype, : 外部函数调用中的 NA/NaN/Inf (arg 1)
R代码是:
时间序列的数据是:
StartYear<-2011
StartMonth<-1
DataTimeSeries.ts <- ts(DataTimeSeries, frequency = 12,start=c(StartYear,StartMonth))
1121407 H 650270 14144690 17155531 500054691 H 650230
Jan 2011 17 0 6 8 0 0
Feb 2011 5 0 6 5 0 0
Mar 2011 19 0 2 0 1 3
Apr 2011 7 0 2 3 5 7
May 2011 7 0 3 26 3 5
Jun 2011 3 0 1 1 0 0
Jul 2011 10 3 4 2 0 0
Aug 2011 9 1 3 1 0 0
Sep 2011 14 0 5 8 2 7
Oct 2011 17 0 11 6 1 0
Nov 2011 11 1 2 2 0 0
Dec 2011 75 12 131 0 0 3
Jan 2012 13 1 3 2 1 7
Feb 2012 8 0 5 2 0 0
Mar 2012 14 0 3 4 0 0
Apr 2012 8 0 1 6 0 0
May 2012 8 0 4 2 0 0
Jun 2012 11 0 6 0 0 0
Jul 2012 10 3 5 3 0 0
Aug 2012 10 1 6 5 0 0
Sep 2012 16 0 5 3 0 0
Oct 2012 3 0 2 0 0 0
Nov 2012 14 1 2 2 1 0
Dec 2012 11 46 5 0 1 0
Jan 2013 7 1 1 2 0 2
Feb 2013 9 1 5 2 0 0
Mar 2013 17 0 6 1 0 0
Apr 2013 8 0 3 0 0 0
May 2013 17 2 2 4 0 0
Jun 2013 1 1 2 0 0 0
ns <- ncol(DataTimeSeries.ts)
rows <-nrow(DataTimeSeries.ts)
Forecast <- matrix(NA,nrow=h,ncol=ns)
for(i in 1:ns)
Forecast[,i] <- forecast(DataTimeSeries.ts[,i], lambda=0,h=h)$mean
如果我在没有 lambda=0 的情况下运行预测,则预测为(= 负值):
[,1] [,2] [,3] [,4] [,5] [,6]
[1,] 9.887062 4.4379429 3.1059891 0.24696736 -0.3792315 -0.5448469
[2,] 8.951653 0.3544301 2.2218957 0.04790458 -0.4395805 -0.6557000
[3,] 10.787565 -1.8823119 4.6116380 -0.15115820 -0.4999294 -0.7665531
[4,] 12.802994 -3.9683800 6.5737599 -0.35022098 -0.5602784 -0.8774062
[5,] 7.916042 0.3676410 -1.0954609 -0.54928376 -0.6206273 -0.9882593
[6,] 75.723475 26.5071178 117.7545308 -0.74834654 -0.6809763 -1.0991124
[7,] -23.604058 -1.3480372 -26.4102628 -0.94740932 -0.7413252 -1.2099654
[8,] 6.693199 3.0567211 4.2765418 -1.14647211 -0.8016742 -1.3208185
[9,] 16.689538 0.5293152 2.0234525 -1.34553489 -0.8620231 -1.4316716
[10,] 5.771219 -0.9780367 0.9339003 -1.54459767 -0.9223721 -1.5425247
[11,] 9.055315 2.4255619 2.2734174 -1.74366045 -0.9827210 -1.6533778
[12,] 4.120385 2.5818660 1.9924763 -1.94272323 -1.0430700 -1.7642308
有人可以帮我解决这个问题吗?
好的,谢谢你的信息,我现在适当地添加了数据和代码。
【问题讨论】:
-
您能否提供您的问题的最低工作示例?特别是,您能否提供可在 R 控制台中运行的代码来演示您的问题?
-
Dataframe 如下所示:
-
格式搞砸了。如果您选择整个数据范围并单击编辑窗口工具栏上的“{}”按钮,它应该可以解决它...
-
好的,谢谢您的信息。我更改了数据和代码以使格式正确。
标签: r batch-processing forecasting