探索未来:DTS - 深度时间序列预测库
dtsA Keras library for multi-step time-series forecasting.项目地址:https://gitcode.com/gh_mirrors/dt/dts
:warning: 请注意,此库目前不再积极维护 :warning:
DTS 是一个基于 Keras 的深度学习库,专注于多步时间序列预测任务。借助 Sacred 库,它使实验管理和可重复性变得更加简单。
安装与配置
DTS 兼容 Python 3.5 及以上版本,并已在 Ubuntu 16.04 上进行了测试。在安装 DTS 前,您需手动安装:
- TensorFlow(CPU 或 GPU 版本)<=1.14.0
- Keras <= 2.2.4
- Sacred <=0.7.5
- (可选)MongoDB 用于更高级的数据存储和管理
为了确保避免潜在问题,库的设置脚本不会自动安装这些依赖项。已经测试了以下版本的兼容性:
| 环境1 | 环境2 | |:----------------:|:-----------------:|
|numpy==1.14.2 | numpy==1.17.0 | |tensorflow==1.12.0| tensorflow==1.14.0| |keras==2.1.6 | keras==2.2.4 | |sacred==0.7.4 | sacred==0.7.5 |
从源代码安装 DTS,请执行:
git clone https://github.com/albertogaspar/dts.git
cd dts
pip install -e .
功能与使用方式
时间序列预测
该包提供了多种深度学习架构,适用于多步时间序列预测。利用滑动窗口方法,每个模型会接收大小为 nT 的时间窗口,并要求预测接下来的 nO 个时间点。如图所示:
运行实验
通过运行以下命令启动实验:
python FILENAME.py --add_config FULLPATH_TO_YAML_FILE
或:
python FILENAME.py --add_config FULLPATH_TO_YAML_FILE --grid_search
其中 _grid_search_
如果设为 True
,将进行超参数网格搜索,尝试所有可能的组合。_add_config_
参数需要指向存储实验配置的 YAML 文件路径。
数据集
DTS 包含两个数据集:
- 个体家庭电力消耗数据集:以分钟级频率记录的单一家庭近四年用电量。
- GEFCom 2014:ISO 新英格兰地区的小时级电量消耗数据(聚合数据)。使用这个数据集时,应引用相关的研究论文。
此外,您可以选择包括外部特征(如有可用的温度读数),并对时间序列进行去趋势处理。
架构
DTS 提供了以下几种深度学习架构:
- 循环神经网络(Elmann, LSTM, GRU)
- 序列到序列模型
- 时空卷积网络
- 前馈神经网络
- ResNet
每种架构都有不同的训练和推理模式可供选择。
项目特点
- 灵活的数据处理:支持外生特征、去趋势等数据预处理操作。
- 多种预测架构:包括RNN、Seq2Seq、TCN和FFNN等多种模型,适应不同场景需求。
- 实验可复现:使用Sacred库跟踪实验信息,保证结果可复现。
- 超参数优化:支持超参数网格搜索,自动寻找最佳模型配置。
- 丰富的示例:提供详细的示例代码和文档,帮助快速上手。
如果您对时间序列预测感兴趣,DTS 是一个值得尝试的强大工具。尽管它不处于活跃维护状态,但现有的功能和示例仍然能为您提供宝贵的参考和启发。
dtsA Keras library for multi-step time-series forecasting.项目地址:https://gitcode.com/gh_mirrors/dt/dts
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考