在 R 中是否可以根据 aicc、aic 或 bic 以外的其他标准让 auto.arima 选择最佳模型?
Is it possible in R to make auto.arima choose the best model according to other criteria than aicc, aic or bic?
我想 运行 auto.arima 在 R 中对每月数据执行函数,其选择最佳模型的 3 个标准是 aicc、aic 和 bic。我想使用像 MAPE 这样的样本外测量。是否可以创建一个解决方法?
不可能,必须是三者之一。尽管您可能可以自己完成,但如果您愿意更改代码。如果您查看 auto.arima 中的 myarima 代码,您会发现以下段
if (method == "CSS") {
fit$aic <- offset + nstar * log(fit$sigma2) + 2 * npar
}
if (!is.na(fit$aic)) {
fit$bic <- fit$aic + npar * (log(nstar) - 2)
fit$aicc <- fit$aic + 2 * npar * (npar + 1) / (nstar - npar - 1)
fit$ic <- switch(ic, bic = fit$bic, aic = fit$aic, aicc = fit$aicc)
}
else {
fit$aic <- fit$bic <- fit$aicc <- fit$ic <- Inf
}
您可以尝试将 fit$aic 值更改为自定义度量值。
我想 运行 auto.arima 在 R 中对每月数据执行函数,其选择最佳模型的 3 个标准是 aicc、aic 和 bic。我想使用像 MAPE 这样的样本外测量。是否可以创建一个解决方法?
不可能,必须是三者之一。尽管您可能可以自己完成,但如果您愿意更改代码。如果您查看 auto.arima 中的 myarima 代码,您会发现以下段
if (method == "CSS") {
fit$aic <- offset + nstar * log(fit$sigma2) + 2 * npar
}
if (!is.na(fit$aic)) {
fit$bic <- fit$aic + npar * (log(nstar) - 2)
fit$aicc <- fit$aic + 2 * npar * (npar + 1) / (nstar - npar - 1)
fit$ic <- switch(ic, bic = fit$bic, aic = fit$aic, aicc = fit$aicc)
}
else {
fit$aic <- fit$bic <- fit$aicc <- fit$ic <- Inf
}
您可以尝试将 fit$aic 值更改为自定义度量值。