[英]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.