BATS模型出乎意料地比TBATS模型好得多-为什么?

问题描述

我们正在预测每小时流量数据,该数据表现出每日和每周季节的多个季节模式。当提供完全相同的季节性参数并使用相同的训练和测试集时,BATS模型的测试误差比TBATS模型低得多的事实令我们感到困惑。根据Snyder和Hyndman(2011)的原始论文(详细描述了这两种模型),TBATS应该优于BATS模型。比较TBATS模型和BATS模型的残差的ACF / PACF,可以发现TBATS模型并未捕获对应于每周季节性的季节性峰值。这里有人知道TBATS模型出了什么问题吗?

tbats_fc <- forecast :: forecast(tbats(train,seasonal.periods= c(24,168)),h=24) 
summary(tbats_fc) # TBATS(1,{4,4},-,{<24,7>,<168,6>})
accuracy(tbats_fc,test) # RMSE 1792.98 MAE 1554.78,MAPE 23.5707 

bats_fc <- forecast :: forecast(bats(train,h=24)
summary(bats_fc) # BATS(0.035,1},0.934,{24,168})
accuracy(bats_fc,test) # RMSE 851.98 MAE 729.58,MAPE MAPE 7.2395

Bats Tbats

插件:数据和培训测试分组 我们也使用了TBATS函数的use.box.cox = TRUE选项来强制它使用转换,但结果仍然不尽人意。

library(stats,tseries,googledrive,forecast)

drive_download("taxi_series_hourly.csv",overwrite = TRUE)
traffic_hr_1yr <- read.csv("insert file path & name here",header
= TRUE)

# remove the last two days (48 observations aka 2 days)
traffic_hr_1yr_ts <- ts(traffic_hr_1yr$X0,start = c(1,1),end=c(363,24),frequency = 24)
length(traffic_hr_1yr_ts) # 8712

# train test split 
train <- window(traffic_hr_1yr_ts,end = c(356,24))
test <- window(traffic_hr_1yr_ts,start = c(357,end = c(357,24))
#test set of 24 days
length(train) # 8544
length(test) # 24


# tbats including a BoxCox transformation
tbats_bc_fc <- forecast :: forecast(tbats(train,seasonal.periods=
c(24,168),use.parallel = TRUE,num.cores = NULL,use.box.cox = TRUE),h=24)
summary(tbats_bc_fc) # TBATS(0.05,2},0.8,8>,5>})
accuracy(tbats_bc_fc,test) # RMSE 2429.35

data

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...