【问题标题】:Accuracy function in RR中的精度函数
【发布时间】:2015-02-07 14:31:48
【问题描述】:

我想计算一个包含 12 个预测的数值向量的准确度,但我得到这个结果并带有警告。

accuracy(f,Test)
                    ME      RMSE       MAE       MPE      MAPE ACF1 Theil's U
Training set       NaN       NaN       NaN       NaN       NaN   NA        NA
Test set     0.9064933 0.9064933 0.9064933 0.4060658 0.4060658   NA        NA
Warning message:
In trainingaccuracy(f, test, d, D) : test elements must be within sample`

Test : ` Jan       Feb       Mar       Apr       May       Jun       Jul
2012 223.23801 203.51890 195.21139 169.68900 157.63439 135.79616  96.84895
           Aug       Sep       Oct       Nov       Dec
2012 100.42089  62.51129  49.18672  22.10280   5.00000

我通过这段代码得到f

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[[1]]$mean[1]
} 

f <- unlist(f)

此代码旨在提前 12 次预测(每次,我都会根据预测值更新我的系列)

感谢您的帮助

我的数据:

     Jan    Feb    Mar    Apr    May    Jun    Jul 
2008 514.43 508.07 505.13 486.00 482.20 470.37 447.30 
2009 394.93 381.19 381.94 363.38 361.50 352.96 334.86 
2010 336.10 320.44 324.10 311.16 303.78 305.80 285.19 
2011 260.85 258.78 271.43 271.43 267.46 271.77 254.83 
2012 223.23 203.51 195.21 169.68 157.63 135.79 96.84 

     Aug    Sep    Oct    Nov    Dec 
2008 438.83 415.91 408.44 409.67 395.52 
2009 340.41 326.41 331.14330 337.07 336.51 
2010 297.95 274.93 272.91 268.58 271.35 
2011 266.91 242.42 241.04 230.29 233.57 
2012 100.42 62.51 49.18 22.10 5

【问题讨论】:

  • 这样的问题应该在stackoverflow上发布,因为这只是关于$R$编程
  • 你使用什么包? TestdD 是什么?你用什么方法?你的数据是什么?错误消息表明您可能在代码中做错了什么,但在没有看到代码和了解上下文的情况下我们无能为力。提供一个可重现的例子。
  • 我正在使用预测包

标签: r time-series forecasting


【解决方案1】:

查看accuracy 函数文档,它说f 应该是

“预测”类的对象,或包含 预测。如果 x 是,它也适用于 Arima、ets 和 lm 对象 省略 - 在这种情况下,返回样本内准确度度量。

虽然您提供的是此类对象的列表 - 但不一样。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-08
    • 2018-07-17
    • 1970-01-01
    • 1970-01-01
    • 2018-11-30
    • 1970-01-01
    相关资源
    最近更新 更多