DeepLearningForTSF

GitHub
723 179 简单 1 次阅读 5天前其他
AI 解读 由 AI 自动生成,仅供参考

DeepLearningForTSF 是一个专注于时间序列预测的开源学习资源库,旨在帮助开发者系统掌握从传统统计方法到前沿深度学习技术的应用。它主要解决如何准确预测随时间变化的数据趋势这一核心问题,涵盖单变量及多变量场景下的趋势分析、季节性分解以及多步预测任务。

该项目内容结构清晰,既包含 SARIMA、三重指数平滑等经典算法的超参数优化与网格搜索实践,也深入讲解了 MLP(多层感知机)、CNN(卷积神经网络)和 LSTM(长短期记忆网络)等深度学习模型在时间序列中的具体实现。其独特亮点在于提供了极其丰富的代码示例,详细展示了不同输入输出组合(如单步/多步、单变量/多变量)下的数据预处理、模型构建及评估流程,并辅以家庭用电量、空气污染预测、人类活动识别等真实案例研究,帮助用户理解如何将理论应用于实际业务。

DeepLearningForTSF 特别适合具有一定编程基础的数据科学家、机器学习工程师以及相关领域的研究人员使用。对于希望深入理解时间序列建模细节、寻找特定架构参考代码或希望通过实战项目提升技能的开发者而言,这是一个极具价值的参考资料库。无论是初学者想要建立完整的知识体系,还是资深从业者需要快速验证某种模型结构,都能从中找到对应的解决方案和灵感。

使用场景

某大型连锁零售企业的供应链数据科学家,正面临为数千个门店预测未来两周销量的挑战,以优化库存周转并减少缺货损失。

没有 DeepLearningForTSF 时

  • 模型选型盲目:面对复杂的销售数据(含节假日、促销等多变量),团队仅依赖传统的 ARIMA 或指数平滑法,难以捕捉非线性趋势和长期依赖关系,导致预测偏差大。
  • 特征工程繁琐:处理多步预测(如预测未来14天)时,需手动构建复杂的滑动窗口和监督学习数据集,代码重复率高且极易出错,开发效率低下。
  • 缺乏深度学习实践指南:团队想尝试 LSTM 或 CNN 等高级模型,但缺乏从数据预处理到模型架构搭建的标准参考,自行摸索耗时数周且效果不稳定。
  • 超参数调优困难:对于传统统计模型,缺乏系统的网格搜索框架,难以快速找到最优参数组合,往往凭经验试错,浪费大量计算资源。

使用 DeepLearningForTSF 后

  • 精准捕捉复杂模式:直接复用库中的 CNN-LSTM 混合模型代码,有效提取了销售数据中的局部特征与长期时间依赖,显著提升了多变量输入下的预测精度。
  • 标准化数据流水线:利用提供的“多步输入-多步输出”监督学习数据转换脚本,快速将原始销售记录转化为模型可用的格式,节省了80%的数据预处理时间。
  • 快速原型验证:参照“7天迷你课”中的 MLP、CNN 和 LSTM 示例,团队在几天内完成了多种深度学习模型的基准测试,迅速确定了最适合业务场景的架构。
  • 系统化调优策略:应用内置的网格搜索框架对 ARIMA 及深度学习模型进行超参数优化,科学地平衡了模型复杂度与泛化能力,避免了盲目试错。

核心价值在于将深奥的时间序列深度学习理论转化为可立即执行的代码模板,大幅降低了从传统统计方法向高级 AI 预测模型转型的技术门槛与时间成本。

运行环境要求

操作系统
  • 未说明
GPU

未说明

内存

未说明

依赖
notesREADME 仅列出了教程目录和模型类型(如 MLP, CNN, LSTM, ARIMA 等),未提供具体的环境配置、依赖库列表或硬件要求。根据内容推断,该项目主要涉及传统机器学习(sklearn, statsmodels)和深度学习(Keras/TensorFlow 或 PyTorch)库,建议用户根据具体使用的代码文件自行安装相应依赖。
python未说明
未说明
DeepLearningForTSF hero image

快速开始

深度学习在时间序列预测中的应用

通过深度学习技术以进行时间序列预测

序言

  • 7天迷你课
  3.用于时间序列预测的MLP  
  4.用于时间序列预测的CNN  
  5.用于时间序列预测的LSTM  
  6.编码器-解码器LSTM多步预测  
  7.用于时间序列预测的CNN-LSTM  

一、预测趋势和季节性(单变量)

1.基于SARIMA预测的网格搜索超参数优化

  1.网格搜索框架  
  2.无趋势和季节性研究  
  3.趋势性研究  
  4.季节性研究  
  5.趋势和季节性研究  
  • 1_1.为时间序列预测创建ARIMA模型
  1.数据预览  
  2.预览一下数据的自相关图  
  3.预览残差图和残差的密度分布图  
  4.滑动窗口预测ARIMA模型  
  • 1_2.如何网格搜索ARIMA超参数
  每日女性出生研究  
  洗发水销售研究  
  • 1_3.自相关和篇自相关介绍
  1.自相关ACF图  
  2.偏自相关PACF图  

2.基于三重指数平滑预测的网格搜索超参数优化

  1.网格搜索框架  
  2.无趋势和季节性研究  
  3.趋势性研究  
  4.季节性研究  
  5.趋势和季节性研究  

3.单变量时间序列预测开发深度学习模型

  2.多层感知器模型  
  3.卷积神经网络模型_CNN  
  4.递归神经网络模型_LSTM  
  5.递归神经网络模型_CNN+LSTM  
  6.递归神经网络模型_ConvLSTM2D  

二、几种模型类型

1.用于时间序列预测的MLP

  01.(多步+单变量输入)_(单步+单变量输出)_监督学习数据
  02.(多步+单变量输入)_(单步+单变量输出)_MLP模型
  03.(多步+多变量输入)_(单步+单变量输出)_监督学习数据
  04.(多步+多变量输入)_(单步+单变量输出)_MLP模型
  05.(多步+多变量输入)_(单步+多变量输出)_监督学习数据
  06.(多步+多变量输入)_(单步+多变量输出)_MLP模型
  07.多路输入_(多步+多变量输入)_(单步+单变量输出)_MLP模型
  08.多路输出_(多步+多变量输入)_(单步+多变量输出)_MLP模型
  09.(多步+单变量输入)_(多步+单变量输出)_监督学习数据
  10.(多步+单变量输入)_(多步+单变量输出)_MLP模型
  11.(多步+多变量输入)_(多步+单变量输出)_监督学习数据
  12.(多步+多变量输入)_(多步+单变量输出)_MLP模型
  13.(多步+多变量输入)_(多步+多变量输出)_监督学习数据
  14.(多步+多变量输入)_(多步+多变量输出)_MLP模型

2.用于时间序列预测的CNN

  01.(多步+单变量输入)_(单步+单变量输出)_监督学习数据
  02.(多步+单变量输入)_(单步+单变量输出)_CNN模型
  03.(多步+多变量输入)_(单步+单变量输出)_监督学习数据
  04.(多步+多变量输入)_(单步+单变量输出)_CNN模型
  05.(多步+多变量输入)_(单步+多变量输出)_监督学习数据
  06.(多步+多变量输入)_(单步+多变量输出)_CNN模型
  07.多路输入_(多步+多变量输入)_(单步+单变量输出)_CNN模型
  08.多路输出_(多步+多变量输入)_(单步+多变量输出)_CNN模型
  09.(多步+单变量输入)_(多步+单变量输出)_监督学习数据
  10.(多步+单变量输入)_(多步+单变量输出)_CNN模型
  11.(多步+多变量输入)_(多步+单变量输出)_监督学习数据
  12.(多步+多变量输入)_(多步+单变量输出)_CNN模型
  13.(多步+多变量输入)_(多步+多变量输出)_监督学习数据
  14.(多步+多变量输入)_(多步+多变量输出)_CNN模型

3.用于时间序列预测的LSTM

  01.(多步+单变量输入)_(单步+单变量输出)_监督学习数据
  02.(多步+单变量输入)_(单步+单变量输出)_LSTM模型
  03.堆叠式LSTM+LSTM网络
  04.双向LSTM网络
  05.CNN+LSTM网络
  06.ConvLSTM网络
  07.(多步+多变量输入)_(单步+单变量输出)_LSTM模型
  08.(多步+多变量输入)_(单步+多变量输出)_LSTM模型
  09.(多步+单变量输入)_(多步+单变量输出)_LSTM模型
  10.Encoder-Decoder LSTM模型
  11.(多步+多变量输入)_(多步+单变量输出)_LSTM模型
  12.(多步+多变量输入)_(多步+多变量输出)_LSTM模型

三、人类活动识别(多变量分类)

1.如何根据智能手机数据对人类活动进行建模

  01.

四、时间序列案例研究

1.室内运动时间序列分类(KNN)

  01.加载数据集
  02.基本信息直方图
  03.画数据折线图,画数据最小二乘法线性拟合图
  04.将文件按照关联关系拼成train和test集合,每个文件取最后19条
  05.维度为19的数据分别代入7种模型进行评估准确性
  06.将文件按照关联关系拼成train和test集合,每个文件默认取25条,数据不足25则补0
  07.维度为25的数据分别代入7种模型进行评估准确性
  08.19和25维对比,KNN模型提升最显著,对KNN的k值网格搜索
  09.将08中效果最好的k=7的KNN模型加入评估列表

2.预测大气污染日的概率模型(决策树)

  1.数据特征预览
  2.将数据集中异常数据替换为0
  3.朴素的基线预测
  4.集成决策树预测模型(四种决策树对比)
  5.调整梯度提升模型的参数来提高性能

3.根据环境因素预测房间入住率(逻辑回归)

  01.画数据折线图观察数据
  02.将3个txt文件合并成一个
  03.制造假数据预测,作为参考系
  04.用多变量进行逻辑回归预测
  05.用单变量进行逻辑回归预测

4.使用脑电波预测眼睛睁闭(KNN)

  01.画出数据的折线图
  02.删除波动大于三倍标准差的异常值
  03.用KNN模型预测眼睛睁闭
  04.打乱数据顺序的预测
  05.不打乱数据顺序的预测

五、预测用电量(多变量,多步骤)

1.如何加载和探索家庭用电量数据

  01.替换文件中分号,转成csv格式
  02.8列数据的折线图
  03.将某一列数据按年分开显示
  04.2007年12个月功率的折线图
  05.2007年1月前20天功率的折线图
  06.8列数据的直方图
  07.2007-2010功率的直histogram
  08.2007年12个月功率的直histogram

2.机器学习的多步时间序列预测

  01.填充缺失数据,转换成csv
  02.将分钟级别数据合并成日级别
  03.以周为尺度,将数据分割成组
  04.用10个模型分别进行‘单变入_单变出’,前7天预测后1天
  05.使用7个模型分别对一周7天中的指定天进行预测(参考04解析)
  06.同04,可自定义输出数据是一周中的第几天,进行预测(参考04解析)

3.CNN网络的多步时间序列预测

  01.填充缺失数据,转换成csv
  02.将分钟级别数据合并成日级别
  03.以周为尺度,将数据分割成组
  04.CNN‘单变入_单变出’,前7天预测后7天
  05.CNN‘多变入_单变出’,前14天预测后7天
  06.CNN多路输入,‘多变入_单变出’,前14天预测后7天

六、6.预测空气污染(多变量,多步骤)

1.可视化和探索空气污染数据

  01.统计数据中的NaN值
  02.将数据按照标签分块
  03.画出数据连续图,看数据缺失情况
  04.判断每个数据块的起始时间(24小时中第几小时开始统计)分布图
  05.每个块的时间结构
  06.数据变量的分布
  07.目标块的时间结构
  08.目标变量的箱线图
  09.目标块通过柱状图看空值比例
  10.目标变量的直histogram分布

2.空气污染预测的BaseLine模型

  01.将数据拆分成训练集和测试集
  02.用每个数据块整体的均值作为预测值
  03.用每一天中每小时的均值作为预测值
  04.用每个块的最后观察值作为预测值
  05.用每个数据块整体的中值作为预测值
  06.用每一天中每小时的中值作为预测值

3.空气污染预测的自回归模型

  01.将数据拆分成训练集和测试集  
  02.缺失数据展示  
  03.估算缺失数据(使用所有其他数据同一时间的中值作为估算值)  
  04.观察39列每列数据的自相关和偏相关图  
  05.建立自回归ARIMA模型(使用当前块相同小时的中值)  
  06.建立自回归ARIMA模型(使用所有块相同小时的中值)  

4.空气污染预测的多元多步机器学习模型

  01.将数据拆分成训练集和测试集
  02.构建监督学习型数据
  03.机器学习线性模型进行预测
  04.机器学习非线性模型进行预测

相似工具推荐

ML-For-Beginners

ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程,旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周,包含 26 节精炼课程和 52 道配套测验,内容涵盖从基础概念到实际应用的完整流程,有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。 无论是希望转型的开发者、需要补充算法背景的研究人员,还是对人工智能充满好奇的普通爱好者,都能从中受益。课程不仅提供了清晰的理论讲解,还强调动手实践,让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持,通过自动化机制提供了包括简体中文在内的 50 多种语言版本,极大地降低了全球不同背景用户的学习门槛。此外,项目采用开源协作模式,社区活跃且内容持续更新,确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路,ML-For-Beginners 将是理想的起点。

85k|★★☆☆☆|今天
图像数据工具视频

ragflow

RAGFlow 是一款领先的开源检索增强生成(RAG)引擎,旨在为大语言模型构建更精准、可靠的上下文层。它巧妙地将前沿的 RAG 技术与智能体(Agent)能力相结合,不仅支持从各类文档中高效提取知识,还能让模型基于这些知识进行逻辑推理和任务执行。 在大模型应用中,幻觉问题和知识滞后是常见痛点。RAGFlow 通过深度解析复杂文档结构(如表格、图表及混合排版),显著提升了信息检索的准确度,从而有效减少模型“胡编乱造”的现象,确保回答既有据可依又具备时效性。其内置的智能体机制更进一步,使系统不仅能回答问题,还能自主规划步骤解决复杂问题。 这款工具特别适合开发者、企业技术团队以及 AI 研究人员使用。无论是希望快速搭建私有知识库问答系统,还是致力于探索大模型在垂直领域落地的创新者,都能从中受益。RAGFlow 提供了可视化的工作流编排界面和灵活的 API 接口,既降低了非算法背景用户的上手门槛,也满足了专业开发者对系统深度定制的需求。作为基于 Apache 2.0 协议开源的项目,它正成为连接通用大模型与行业专有知识之间的重要桥梁。

77.1k|★★★☆☆|昨天
Agent图像开发框架

PaddleOCR

PaddleOCR 是一款基于百度飞桨框架开发的高性能开源光学字符识别工具包。它的核心能力是将图片、PDF 等文档中的文字提取出来,转换成计算机可读取的结构化数据,让机器真正“看懂”图文内容。 面对海量纸质或电子文档,PaddleOCR 解决了人工录入效率低、数字化成本高的问题。尤其在人工智能领域,它扮演着连接图像与大型语言模型(LLM)的桥梁角色,能将视觉信息直接转化为文本输入,助力智能问答、文档分析等应用场景落地。 PaddleOCR 适合开发者、算法研究人员以及有文档自动化需求的普通用户。其技术优势十分明显:不仅支持全球 100 多种语言的识别,还能在 Windows、Linux、macOS 等多个系统上运行,并灵活适配 CPU、GPU、NPU 等各类硬件。作为一个轻量级且社区活跃的开源项目,PaddleOCR 既能满足快速集成的需求,也能支撑前沿的视觉语言研究,是处理文字识别任务的理想选择。

74.9k|★★★☆☆|今天
语言模型图像开发框架

awesome-machine-learning

awesome-machine-learning 是一份精心整理的机器学习资源清单,汇集了全球优秀的机器学习框架、库和软件工具。面对机器学习领域技术迭代快、资源分散且难以甄选的痛点,这份清单按编程语言(如 Python、C++、Go 等)和应用场景(如计算机视觉、自然语言处理、深度学习等)进行了系统化分类,帮助使用者快速定位高质量项目。 它特别适合开发者、数据科学家及研究人员使用。无论是初学者寻找入门库,还是资深工程师对比不同语言的技术选型,都能从中获得极具价值的参考。此外,清单还延伸提供了免费书籍、在线课程、行业会议、技术博客及线下聚会等丰富资源,构建了从学习到实践的全链路支持体系。 其独特亮点在于严格的维护标准:明确标记已停止维护或长期未更新的项目,确保推荐内容的时效性与可靠性。作为机器学习领域的“导航图”,awesome-machine-learning 以开源协作的方式持续更新,旨在降低技术探索门槛,让每一位从业者都能高效地站在巨人的肩膀上创新。

72.1k|★☆☆☆☆|2天前
开发框架其他

scikit-learn

scikit-learn 是一个基于 Python 构建的开源机器学习库,依托于 SciPy、NumPy 等科学计算生态,旨在让机器学习变得简单高效。它提供了一套统一且简洁的接口,涵盖了从数据预处理、特征工程到模型训练、评估及选择的全流程工具,内置了包括线性回归、支持向量机、随机森林、聚类等在内的丰富经典算法。 对于希望快速验证想法或构建原型的数据科学家、研究人员以及 Python 开发者而言,scikit-learn 是不可或缺的基础设施。它有效解决了机器学习入门门槛高、算法实现复杂以及不同模型间调用方式不统一的痛点,让用户无需重复造轮子,只需几行代码即可调用成熟的算法解决分类、回归、聚类等实际问题。 其核心技术亮点在于高度一致的 API 设计风格,所有估算器(Estimator)均遵循相同的调用逻辑,极大地降低了学习成本并提升了代码的可读性与可维护性。此外,它还提供了强大的模型选择与评估工具,如交叉验证和网格搜索,帮助用户系统地优化模型性能。作为一个由全球志愿者共同维护的成熟项目,scikit-learn 以其稳定性、详尽的文档和活跃的社区支持,成为连接理论学习与工业级应用的最

65.6k|★☆☆☆☆|今天
开发框架其他数据工具

keras

Keras 是一个专为人类设计的深度学习框架,旨在让构建和训练神经网络变得简单直观。它解决了开发者在不同深度学习后端之间切换困难、模型开发效率低以及难以兼顾调试便捷性与运行性能的痛点。 无论是刚入门的学生、专注算法的研究人员,还是需要快速落地产品的工程师,都能通过 Keras 轻松上手。它支持计算机视觉、自然语言处理、音频分析及时间序列预测等多种任务。 Keras 3 的核心亮点在于其独特的“多后端”架构。用户只需编写一套代码,即可灵活选择 TensorFlow、JAX、PyTorch 或 OpenVINO 作为底层运行引擎。这一特性不仅保留了 Keras 一贯的高层易用性,还允许开发者根据需求自由选择:利用 JAX 或 PyTorch 的即时执行模式进行高效调试,或切换至速度最快的后端以获得最高 350% 的性能提升。此外,Keras 具备强大的扩展能力,能无缝从本地笔记本电脑扩展至大规模 GPU 或 TPU 集群,是连接原型开发与生产部署的理想桥梁。

63.9k|★★☆☆☆|昨天
开发框架数据工具其他