变点检测函数支持对如下两种变点形态进行检测:
- 指定时间段内的某些统计特性发生了变化。
- 序列数据中存在较为明显的断层。
函数列表
函数 | 说明 |
---|---|
ts_cp_detect | 寻找时序序列中具有不同统计特性的区间,区间端点即为变点。 |
ts_breakout_detect | 寻找时序序列中,某统计量发生陡升或陡降的点。 |
ts_cp_detect
函数格式:
- 若您无法确定窗口大小,可以使用如下格式的函数,该函数调用的算法默认会使用长度为10的窗口进行检测。
select ts_cp_detect(x, y, samplePeriod)
- 若您需要根据业务曲线进行效果调试,可以使用如下格式的函数,通过设置参数minSize进行效果调试。
select ts_cp_detect(x, y, minSize)
参数说明如下:
参数 | 说明 | 取值 |
---|---|---|
x | 时间列,从小到大排列。 | 格式为Unixtime时间戳,单位为秒。 |
y | 数值列,对应某时刻的数据。 | – |
minSize | 最小连续区间长度。 | 最小值为3,最大值不超过当前输入数据长度的1/10。 |
示例:
- 查询分析
* | select ts_cp_detect(stamp, value, 3) from (select __time__ - __time__ % 10 as stamp, avg(v) as value from log GROUP BY stamp order by stamp)
- 输出结果
显示项如下:
显示项 | 说明 | |
---|---|---|
横轴 | unixtime | 数据的时间戳,单位为秒,例如1537071480。 |
纵轴 | src | 滤波前的数据,例如1956092.7647745228。 |
prob | 该点为变点的概率,取值范围为0~1。 |
ts_breakout_detect
函数格式:
select ts_breakout_detect(x, y, winSize)
参数说明如下:
参数 | 说明 | 取值 |
---|---|---|
x | 时间列,从小到大排列。 | 格式为Unixtime时间戳,单位为秒。 |
y | 数值列,对应某时刻的数据。 | – |
winSize | 最小连续区间长度。 | 最小值为3,最大值不超过当前输入数据长度的1/10。 |
示例:
- 查询分析
* | select ts_breakout_detect(stamp, value, 3) from (select __time__ - __time__ % 10 as stamp, avg(v) as value from log GROUP BY stamp order by stamp)
- 输出结果
显示项如下:
显示项 | 说明 | |
---|---|---|
横轴 | unixtime | 数据的时间戳,单位为秒,例如1537071480。 |
纵轴 | src | 滤波前的数据,例如1956092.7647745228。 |
prob | 该点为变点的概率,取值范围为0~1。 |
内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家
阿里云企业补贴进行中: 马上申请
腾讯云限时活动1折起,即将结束: 马上收藏
同尘科技为腾讯云授权服务中心。
购买腾讯云产品享受折上折,更有现金返利:同意关联,立享优惠
转转请注明出处:https://www.yunxiaoer.com/164210.html