时序数据标注模板实战)
Label Studio 变点检测Change Point Detection时序数据标注模板实战【免费下载链接】label-studioLabel Studio is a multi-type data labeling and annotation tool with standardized output format项目地址: https://gitcode.com/GitHub_Trending/la/label-studio本指南围绕 Label Studio 内置的变点检测Change Point Detection标注模板展开讲解如何通过TimeSeriesLabels、TimeSeries与Channel三类标签在时间序列图上框选出发生突变的区间并打上 Change 标签。读完本文你将掌握该模板的完整配置写法、CSV 数据接入方式、标注结果格式以及各参数的底层实现细节可直接复用于金融行情、设备监控、信号分析等变点识别项目的数据准备阶段。变点检测任务与模板定位变点检测Change Point Detection的目标是从时间序列中识别出数据分布或统计特性发生突变的时刻。典型应用包括金融市场价格突变、气候数据拐点、医疗信号异常、制造过程控制、能耗监测、网络流量异常等。在 Label Studio 仓库中该模板的官方定义位于 变点检测模板配置其元信息明确列出了适用的行业场景financial market analysis、climate data analysis、medical signal analysis、manufacturing process control、energy consumption monitoring、network traffic analysis 等以及常用于后续建模的算法族PELT、CUSUM、贝叶斯变点检测、分割算法。使用此模板时标注员不需要手工输入变点坐标只需在时间序列图形上拖选发生变化的区间并赋予 Change 标签Label Studio 会自动记录区间的起止时间戳输出可直接用于训练变点检测模型的结构化标注。完整标注配置将以下配置粘贴到 Label Studio 项目的 Labeling Config 中即可使用View TimeSeriesLabels namelabel toNamets Label valueChange backgroundred / /TimeSeriesLabels TimeSeries namets valueTypeurl value$csv sep, timeColumntime timeFormat%Y-%m-%d %H:%M:%S.%f timeDisplayFormat%Y-%m-%d overviewChannelsvelocity Channel columnvelocity unitsmiles/h displayFormat,.1f strokeColor#1f77b4 legendVelocity/ /TimeSeries /View该配置同时存在于文档模板 change_point_detection.md 与仓库的模板清单 config.yml 中二者完全一致可直接作为项目配置导入。配置的三层结构所有标注配置都必须包裹在 View 标签中本模板内部由三层组成控制标签Control TagTimeSeriesLabels—— 定义标注工具与标签集对象标签Object TagTimeSeries—— 声明时间序列数据源与解析方式通道子标签Channel—— 声明要在图表上绘制的数据列及其展示样式。控制标签TimeSeriesLabels使用TimeSeriesLabels控制标签让标注员在时间序列图上框选表示变化的区间TimeSeriesLabels namelabel toNamets Label valueChange backgroundred / /TimeSeriesLabelsname控制标签的名称后续标注结果中的from_name字段即引用该值toName指向TimeSeries对象标签的name此处为ts建立标注工具绑定哪张时序图的关联Label valueChange定义可用的标签值backgroundred设置区间高亮颜色。从 TimeSeriesLabels 源码 看该控制标签还支持以下可选参数对应参数表见 timeserieslabels 文档参数类型默认值说明namestring必填元素名称toNamestring必填要标注的时间序列对象名称choicesingle|multiplesingle一次选择单个还是多个标签maxUsagesnumber—每个任务中单个标签的最大使用次数showInlinebooleantrue标签是否在同一行内联显示opacityfloat0.9标注区间的透明度fillColorstringtransparent区间填充色十六进制或 HTML 颜色名strokeColorstring#f48a42区间描边颜色strokeWidthnumber1描边宽度源码中对应的默认值定义在TagAttrs模型内opacity默认0.9、strokeWidth默认1、strokeColor默认#f48a42与文档参数表一致。当choicesingle时shouldBeUnselected视图会保证选中新标签后自动取消旧标签见 TimeSeriesLabels.jsx。对象标签TimeSeries 与数据解析TimeSeries对象标签用于指定时间序列数据来源及解析规则TimeSeries namets valueTypeurl value$csv sep, timeColumntime timeFormat%Y-%m-%d %H:%M:%S.%f timeDisplayFormat%Y-%m-%d overviewChannelsvelocity ... /TimeSeries关键参数解析如下完整参数表见 TimeSeries 文档参数类型默认值说明namestring必填元素名称valuestring必填数据查找键valueTypeurl时存放 CSV 的 URL否则直接存放 JSON 数据valueTypeurl|jsonurl数据格式。url时 Label Studio 会去加载value键指向的 URLsepstring,CSV 数据分隔符TSV 文件可设为\ttimeColumnstring—提供时间值的列名或列索引不指定时自动生成0, 1, 2, ...索引作为 X 轴timeFormatstring—解析时间列的模式由 d3 提供解析遵循strftime实现timeDisplayFormatstring—时间值在标注界面的展示格式日期用 strftime数值用 d3 数字格式durationDisplayFormatstring.0f刷选区间时长的展示格式overviewChannelsstring—在概览overview面板显示的通道列名或索引逗号分隔overviewWidthstring25%概览窗口默认宽度百分比fixedScalebooleanfalse是否将 Y 轴固定为全量最大值为 false 时当前视图只缩放适配已显示的值syncstring—要同步的对象名称多图联动播放游标用对本模板而言valueTypeurl声明时序数据以 URL 形式提供而非内嵌 JSON因此任务数据中需要包含 CSV 文件的 URLvalue$csvURL 存放在任务数据键csv中即任务 JSON 需形如{ data: { csv: http://.../data.csv } }sep,数据为逗号分隔的标准 CSV 格式timeColumntimeCSV 中名为time的列作为时间轴timeFormat%Y-%m-%d %H:%M:%S.%f时间列的解析模式%Y四位年份、%m月份、%d日期、%H:%M:%S时分秒、%f微秒适用于带毫秒/微秒精度的时间戳timeDisplayFormat%Y-%m-%d界面上只显示到日期隐藏时分秒适合以天为粒度的数据观察。源码中的参数实现在 TimeSeries.jsx 源码 中TagAttrs模型对应实现了全部属性valuetype默认url、sep默认,、durationdisplayformat默认.0f、overviewwidth默认25%、fixedscale默认false。源码注释还给出了两个重要约束与 TimeSeries 文档 一致时间轴数据必须已排序否则 TimeSeries 标签无法正常工作若数据本身没有时间列省略timeColumnLabel Studio 会自动生成递增索引作为时间轴。通道子标签Channel 与图表样式overviewChannelsvelocity指定velocity列在概览面板中作为通道展示随后用Channel子标签细化该通道的展示细节Channel columnvelocity unitsmiles/h displayFormat,.1f strokeColor#1f77b4 legendVelocity/参数类型默认值说明columnstring必填通道对应的列名或列索引legendstring—通道在图例中的显示名称unitsstring—数据显示单位如miles/hdisplayFormatstring—数值格式化字符串基于 d3-format详见下节heightnumber200绘图区高度strokeColorstring#f48a42折线描边颜色十六进制strokeWidthnumber1折线宽度timeRange/dataRangestring—X 轴时间轴与 Y 轴数据轴的显式范围fixedScaleboolean—覆盖 TimeSeries 的fixedScale设置参数表详见 Channel 参数文档。d3 displayFormat 速查displayFormat,.1f使用 d3-format 语法[,][.precision][f|%]Channel参数文档中给出了完整规则,按区域设置用分隔符分组千位12345.6→12,345.6,.2f→12,345.60.precisionf/%类型的精度位数。.3f12.3456→12.345、.312345→1.23e4有效数字f按浮点数处理默认精度.6如f12→12.000000、.0f12.34→12%按百分比处理如%.00.128→13%。本模板使用,.1f表示千位分组、保留 1 位小数适合展示速度等带小数的测量值。数据准备与任务导入由于配置中valueTypeurl且value$csv你需要让 CSV 文件可通过 URL 访问然后导入引用该 URL 的 JSON 任务文件。例如假设 CSV 内容如下time列为时间戳velocity列为信号值time,velocity 2024-01-01 00:00:00.000,42.1 2024-01-01 00:01:00.000,42.3 2024-01-01 00:02:00.000,78.9对应的任务 JSON列表格式为[ { data: { csv: http://your-host/path/to/velocity.csv } } ]若你的 CSV 无表头则无法使用列名需改用列索引timeColumn0、Channel column1详见 time_series 模板文档 中的 Headless CSV TSV 一节。时间列也可以是无格式的数值如 Unix 时间戳或采样序号此时省略timeFormat即可。标注输出格式标注员在图上拖选变化区间后Label Studio 将每次标注写入 annotation 的result数组type为timeserieslabels。以本模板为例输出形如结构参照 time_series 模板文档 的输出格式示例{ annotations: [{ result: [ { value: { start: 1592250751951.8074, end: 1592251071946.638, instant: false, timeserieslabels: [Change] }, id: S1DkU7FSku, from_name: label, to_name: ts, type: timeserieslabels } ] }] }其中value.start/value.end变化区间对应的起止时间戳毫秒精度即变点所在区间value.instant是否为瞬时点标注框选区间时为falsevalue.timeserieslabels区间上赋予的标签列表此处为[Change]from_name控制标签名labelto_name对象标签名ts。该结构化结果可直接导出作为变点检测模型如 PELT、CUSUM、贝叶斯变点检测训练集的标注真值。模板扩展思路在保持变点检测语义的前提下可以按需扩展该模板多通道变点检测在TimeSeries内增加多个Channel如velocity、acceleration让标注员在同一个图上对不同信号分别框选变化区间多级标签在TimeSeriesLabels内添加多个Label例如valueSudden Change与valueGradual Drift区分突变与缓变若需一次框选打多个标签设置choicemultiple联合概览overviewChannels支持逗号分隔的多通道如overviewChannelsvelocity,acceleration方便在概览中对比整体走势后再缩放细节多组时序数据当需要同时标注多组时间序列时可声明多组TimeSeriesLabelsTimeSeries各自通过value引用不同的数据键示例见 time_series 模板文档 的 Multiple time series in one project 一节。相关标签与进一步阅读控制标签TimeSeriesLabels对象标签TimeSeries含Channel、MultiChannel子标签通用时序标注模板含完整输入/输出格式说明time_series 模板仓库中的模板配置清单change-point-detection/config.yml时序相关的同类模板time_series_forecasting.md如果对某个参数如sync多图联动、fixedScale坐标缩放的行为有疑问可直接查阅前端标注器源码 TimeSeries.jsx 与 TimeSeriesLabels.jsx其中以 JSDoc 形式记录了每个参数的默认值与语义与文档参数表完全对应。【免费下载链接】label-studioLabel Studio is a multi-type data labeling and annotation tool with standardized output format项目地址: https://gitcode.com/GitHub_Trending/la/label-studio创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考