【问题标题】:how can I find AIC, BIC, R2 and RMSE for forecasting model in r?如何在 r 中找到用于预测模型的 AIC、BIC、R2 和 RMSE?
【发布时间】:2021-08-28 18:37:09
【问题描述】:

我想对空气质量数据进行预测,我已经应用了 auto.arima 和神经网络模型。 R2、RMSE、MAPE、AIC和BIC是评价和选择最佳模型的标准。

我用于arima:

no <- ts(NO, start=c(2017,06,01), frequency=365)
model <- auto.arima(no, D=1)
finalmodel <- arima(no, order = c(0, 0, 2), seasonal = list(order = c(0,1,0), period = 365))
Forecastmodel<- forecast(finalmodel, h=365)

在这个模型中,我只能拥有 AIC 和 BIC

对于神经网络:

no <- ts(NO, start=c(2017,06,01), frequency=365)
model <- nnetar(no)
forecast <- forecast(model, h=365)

那么,如何在 r 中找到每个模型的标准?对于预测模型还有其他建议吗?希望我使用了正确的代码

【问题讨论】:

标签: r forecasting evaluation


【解决方案1】:

这是一个例子。

library(forecast)
# Create example data 
no <- ts(rnorm(100))
# Fit an ARIMA model
model <- auto.arima(no, D=1)
summary(model)
#> Series: no 
#> ARIMA(0,0,0) with zero mean 
#> 
#> sigma^2 estimated as 0.9299:  log likelihood=-138.26
#> AIC=278.52   AICc=278.56   BIC=281.13
#> 
#> Training set error measures:
#>                       ME      RMSE       MAE MPE MAPE      MASE        ACF1
#> Training set -0.09963973 0.9643283 0.7635588 100  100 0.6833166 -0.07970921
# Calculate forecasts
fc <- forecast(model)
# Compare forecasts against a test set
test <- ts(rnorm(20), start=101)
accuracy(fc, test)
#>                       ME      RMSE       MAE MPE MAPE      MASE        ACF1
#> Training set -0.09963973 0.9643283 0.7635588 100  100 0.6833166 -0.07970921
#> Test set     -0.23460384 0.8855929 0.7824913 100  100 0.7002595  0.14526351
#>              Theil's U
#> Training set        NA
#> Test set     0.8087404

由reprex package (v2.0.0) 于 2021 年 6 月 12 日创建

请注意,您不必重新估计auto.arima() 选择的模型。已经保存在model。

鉴于您似乎拥有每日数据,您可能会考虑其他建模选项。请参阅https://otexts.com/fpp2/weekly.html#daily-and-sub-daily-data 获取一些建议。

【讨论】:

  • 完美!这正是我需要的,谢谢
猜你喜欢
  • 2018-02-21
  • 2015-11-24
  • 2016-11-15
  • 2017-06-22
  • 1970-01-01
  • 2017-03-31
  • 1970-01-01
  • 2015-10-01
  • 2018-02-09
相关资源
最近更新 更多