R Arima预测平均反向转换

问题描述 投票:1回答:1

我正在估计对数线性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
r mean arima forecast
1个回答
0
投票

您想计算的是我认为的残留标准误差(RSE)。因此,您必须计算残差平方和(RSS)并除以“ n-m”,其中“ n”是残差数,而“ m”是估计参数数。model$sigma2给您正确的答案。当您自己计算RSE时,您只是错误地使用了“ 4”而不是“ 5”sum(resids^2) / (length(resids) - 4)。如果将RSS除以(length(resids)-5),将得到与model$sigma2中相同的结果。您估计了3个MA参数,1个常数和1个用于漂移的参数,总共5个。

这是解决方案sum(resids^2) / (length(resids) - 5)

使用sqrt(mean(resids^2)),您只是计算平方残差均值的平方根,它显然接近RSE,但是使用了错误的标准化原因,因为它与``sqrt(sum(resids ^ 2) /(length(resids)))``''。

使用sqrt(var(resids)),您将残差的标准偏差(sd(resids))计算为sqrt(sum((resids-mean(resids))^2)/(length(resids)-1))。这是残差的标准偏差,而不是模型的残差标准误差。在此请注意,R使用经验方差通过除以“ ...- 1”而不是除以“ ...- 1”以外的理论值。

如果需要进一步的解释,请查看pdf文件中第75页的第66页附近的“统计学习简介”。

© www.soinside.com 2019 - 2024. All rights reserved.