如何在 R 中使用包预测 2.16 生成 Theil's U?

机器算法验证 r 预测 拟合优度
2022-03-31 02:22:10

我不知道为什么 R 中的包预测 2.16 不会产生 Theil's U?我真的很感谢你的努力。

1个回答

确实如此。使用accuracy()命令。

更新:这是一个例子。

library(forecast)
x <- EuStockMarkets[1:200,1]
f <- EuStockMarkets[201:300,1]
fit1 <- ses(x,h=100)
accuracy(fit1,f)
        ME       RMSE        MAE        MPE       MAPE       MASE       ACF1  Theil's U 
 0.8065983 78.1801986 63.2728352 -0.1725009  3.7876802  7.0619776  0.9586859  6.6120277 

如果您想要U的样本内值(其值有限),以下将起作用:

fpe <- fit1$fitted[2:200]/x[1:199] - 1
ape <- x[2:200]/x[1:199] - 1
U <- sqrt(sum((fpe - ape)^2)/sum(ape^2))