首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >R Arima预测均值反向变换

R Arima预测均值反向变换
EN

Stack Overflow用户
提问于 2020-03-20 03:59:57
回答 1查看 202关注 0票数 1

我正在估计一个对数线性Arima模型,我想使用https://www.r-bloggers.com/forecasting-from-log-linear-regressions/中的精确方法对拟合值进行反变换。我用四种方法计算剩余标准误差,得到四种不同的答案。有没有人能解释一下我应该用哪一个?

代码语言:javascript
复制
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
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 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页。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60764230

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档