變點(diǎn)檢測(cè)函數(shù)
變點(diǎn)檢測(cè)函數(shù)一般用于對(duì)時(shí)序數(shù)據(jù)中的變點(diǎn)進(jìn)行檢測(cè)。
變點(diǎn)檢測(cè)函數(shù)支持對(duì)如下兩種變點(diǎn)形態(tài)進(jìn)行檢測(cè):
指定時(shí)間段內(nèi)的某些統(tǒng)計(jì)特性發(fā)生了變化。
序列數(shù)據(jù)中存在較為明顯的斷層。
函數(shù)列表
函數(shù) | 說明 |
尋找時(shí)序序列中具有不同統(tǒng)計(jì)特性的區(qū)間,區(qū)間端點(diǎn)即為變點(diǎn)。 | |
尋找時(shí)序序列中,某統(tǒng)計(jì)量發(fā)生陡升或陡降的點(diǎn)。 |
ts_cp_detect
函數(shù)格式:
若您無法確定窗口大小,可以使用如下格式的函數(shù),該函數(shù)調(diào)用的算法默認(rèn)會(huì)使用長度為10的窗口進(jìn)行檢測(cè)。
select ts_cp_detect(x, y, samplePeriod)
若您需要根據(jù)業(yè)務(wù)曲線進(jìn)行效果調(diào)試,可以使用如下格式的函數(shù),通過設(shè)置參數(shù)minSize進(jìn)行效果調(diào)試。
select ts_cp_detect(x, y, minSize)
參數(shù)說明如下:
參數(shù) | 說明 | 取值 |
x | 時(shí)間列,從小到大排列。 | 格式為Unixtime時(shí)間戳,單位為秒。 |
y | 數(shù)值列,對(duì)應(yīng)某時(shí)刻的數(shù)據(jù)。 | - |
minSize | 最小連續(xù)區(qū)間長度。 | 最小值為3,最大值不超過當(dāng)前輸入數(shù)據(jù)長度的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)
輸出結(jié)果
顯示項(xiàng)如下:
顯示項(xiàng) | 說明 | |
橫軸 | unixtime | 數(shù)據(jù)的時(shí)間戳,單位為秒,例如1537071480。 |
縱軸 | src | 濾波前的數(shù)據(jù),例如1956092.7647745228。 |
prob | 該點(diǎn)為變點(diǎn)的概率,取值范圍為0~1。 |
ts_breakout_detect
函數(shù)格式:
select ts_breakout_detect(x, y, winSize)
參數(shù)說明如下:
參數(shù) | 說明 | 取值 |
x | 時(shí)間列,從小到大排列。 | 格式為Unixtime時(shí)間戳,單位為秒。 |
y | 數(shù)值列,對(duì)應(yīng)某時(shí)刻的數(shù)據(jù)。 | - |
winSize | 最小連續(xù)區(qū)間長度。 | 最小值為3,最大值不超過當(dāng)前輸入數(shù)據(jù)長度的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)
輸出結(jié)果
顯示項(xiàng)如下:
顯示項(xiàng) | 說明 | |
橫軸 | unixtime | 數(shù)據(jù)的時(shí)間戳,單位為秒,例如1537071480。 |
縱軸 | src | 濾波前的數(shù)據(jù),例如1956092.7647745228。 |
prob | 該點(diǎn)為變點(diǎn)的概率,取值范圍為0~1。 |