我正在估计一个对数线性Arima模型,我想使用https://www.r-bloggers.com/forecasting-from-log-linear-regressions/中的精确方法对拟合值进行反变换。我用四种方法计算剩余标准误差,得到四种不同的答案。有没有人能解释一下我应该用哪一个?
library(forecast)
model <- Arima(log(AirPassengers), order = c(0, 1, 3), include.constant = TRUE, lambda = NULL)
resids <- residuals(model)
sqrt(mean(resids^2))
sqrt(var(resids))
sum(resids^2) / (length(resids) - 4)
model$sigma2发布于 2020-03-25 21:56:58
我想你要计算的是残差标准差(RSE)。因此,您必须计算残差平方和(RSS),并将其除以"n-m",其中"n“是残差的数量,"m”是估计参数的数量。model$sigma2给出了正确的答案。当您在sum(resids^2) / (length(resids) - 4)中自己计算响应时,您只是错误地使用了"4“而不是"5”。如果将RSS除以(length(resids)-5),得到的结果与model$sigma2中的结果相同。你估计了3个MA参数,1个常量和1个参数的漂移,也就是5。
这就是解决方案sum(resids^2) / (length(resids) - 5)。
使用sqrt(mean(resids^2)),你只需计算残差平方的均方根,显然接近均方误差,但使用了错误的标准化,因为它与sqrt(sum(resids^2) / (length(resids)))相同。
使用sqrt(var(resids))计算残差的标准差(sd(resids))为sqrt(sum((resids-mean(resids))^2)/(length(resids)-1))。这是残差的标准差,而不是模型的残差标准差。请注意,在这里,R通过除以"...-1“来使用经验方差,而不是不带"...-1”的理论方差。
如果您需要进一步的解释,请查看文件中第66页附近的“统计学习简介”,该文件在pdf中为75页。
https://stackoverflow.com/questions/60764230
复制相似问题