多彩编程 多彩编程MZPH · CODE BLOG
ARTICLE DETAIL

文章详情

深耕前端与后端开发技术的一线实战笔记与踩坑复盘。

时间序列数据增强实战:在Time-Series-Library跑通15种算法的对比

时间序列数据增强实战:在Time-Series-Library跑通15种算法的对比 时间序列数据增强实战在Time-Series-Library跑通15种算法的对比【免费下载链接】Time-Series-LibraryA Library for Advanced Deep Time Series Models for General Time Series Analysis.项目地址: https://gitcode.com/GitHub_Trending/ti/Time-Series-LibraryTime-Series-Library 是一个深度学习时序分析库覆盖预测、分类、填补与异常检测四类任务。本文带你用其中内置的 15 种数据增强算法扩充样本多样性并给出从基线到对比的验证做法。读完你可以直接改脚本参数跑通自己的第一次对比实验。验证集达标、上线后掉点的负荷预测某电网公司做负荷预测输入最近 96 步负荷预测未来一个时段。验证集误差达标但上线到夏季高峰后误差抬头尤其在负荷陡升的时段。为什么训练时准确、上线后掉点常见原因是训练样本都来自有限的历史区间模型记住了那段季节和星期的波形而夏季负荷存在结构性差异。一个务实的思路是数据增强用算法从现有样本派生出新样本让模型见到更多形态。这个项目把 15 种数据增强算法集中在 utils/augmentation.py且长序列预测基准里本身就包含 ECL 电力数据集序列长度 96~720电力场景可以直接套用。15种数据增强算法怎么分组分别适合什么场景run.py 里的 15 个算法开关与 augmentation.py 中的函数一一对应。按改了什么可以分成四组。扰动类jitter、scalingjitter 给每个点叠加独立高斯噪声默认 sigma0.03scaling 用随机因子乘以整条序列sigma0.1。适用场景传感器读数、设备监控这类本身带测量噪声的数据。验证方式先肉眼抽查一条增强样本确认趋势没有被破坏如果测试误差反而上升说明噪声强度超过了数据的真实噪声水平。幅度类magwarpmagwarp 用样条曲线变形幅度包络knot4改变量级但保留形态。适用场景量级会漂移但形态稳定的数据比如不同季节量级不同的负荷。验证方式看预测的系统性偏差是否下降若增强样本明显变形就把强度调低。时间轴类rotation、permutation、randompermutation、timewarp、windowslice、windowwarp这组都在重排时间轴。timewarp 在预测里最常用用样条拉伸或压缩局部区间模拟同一波形出现在不同节奏sigma0.2windowslice 截取局部片段再拉伸回原长度。适用场景电力负荷这类周期性明显的数据。验证方式timewarp 后峰值位置应移动但不应被抹平对比增强前后峰值时段的误差。原型组合类有监督spawner、dtwwarp、shapedtwwarp、wdba、discdtw、discsdtw这组借助 DTW 对齐把同类别的其他样本揉进当前样本需要类别标签主要面向分类任务。预测任务建议用前三组。验证方式计算新样本与原样本的 DTW 距离确认新样本贴近类中心又保有差异。增强参数怎么配置效果怎么验证核心参数只有三个--augmentation_ratio是增强轮数默认 0 表示关闭每轮生成一份全量副本--jitter、--timewarp等算法开关均为布尔型可叠加多个--extra_tag追加到结果保存标签里用于区分实验组仓库在 scripts/long_term_forecast/AugmentSample/ 下给了对照脚本覆盖 ECL 预测与 UEA 分类两类任务的单算法实验。验证流程分三步先跑基线并记下测试指标每次只开一个开关重跑对比再肉眼检查预测曲线误差下降应体现在结构突变段的偏差缩小。配置示例数据测试 MSE基线无增强0.46加一轮 timewarp0.41jitter 与 timewarp 叠加0.42上表为示例数据某类负荷数据上的内部对比重点看规律叠加后误差反而高于单开一种说明强度叠加会让样本变形单一方法往往比堆叠更稳。什么数据该选哪种增强常见误区有哪些选择时看四个维度数据特征噪声水平、周期性、任务类型、模型架构、以及是否有标签。噪声明显选扰动类周期明显选时间轴类有标签才用原型组合类。多变量场景下同一变换要在各变量间保持一致避免变量间关联被破坏。常见误区有三类。一是所有开关一次全开分不清哪种起作用——对照实验要一次只动一个。二是强度过大sigma 调太高导致样本失真、误差反升。三是把 DTW 类用在预测上它们依赖类别标签无标签场景没有意义。最后判断好坏别看训练损失只看测试集指标和预测曲线。第一步就能做打开 utils/augmentation.py 查看各函数默认强度jitter sigma0.03、scaling sigma0.1、timewarp sigma0.2再复制 scripts/long_term_forecast/AugmentSample/Forecasting/ 下的脚本把--augmentation_ratio设为 1先跑通 timewarp 与基线的对比看测试 MSE 差多少。【免费下载链接】Time-Series-LibraryA Library for Advanced Deep Time Series Models for General Time Series Analysis.项目地址: https://gitcode.com/GitHub_Trending/ti/Time-Series-Library创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表