繁体   English   中英

如何在 r 中找到用于预测 model 的 AIC、BIC、R2 和 RMSE?

[英]how can I find AIC, BIC, R2 and RMSE for forecasting model in r?

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

我用于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)

在这个 model 我只能有 AIC 和 BIC

对于神经网络:

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

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

这是一个例子。

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

代表 package (v2.0.0) 于 2021 年 6 月 12 日创建

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM