核密度估計(Kernel Density Estimation)在機率論中用來估計未知的密度函數,屬於非參數檢驗方法之一。
核密度估計函數採用平滑的峰值函數來擬合觀察到的資料點,從而對真實的機率分布曲線進行類比。
函數格式
select kernel_density_estimation(bigint stamp, double value, varchar kernelType)
參數說明
參數
說明
stamp
UnixTime 時間戳記資料,單位為秒。
value
對應的觀測數值。
kernelType
box:矩形。
epanechnikov:Epanechnikov 曲線。
gaussian:高斯曲線。
輸出結果
顯示項目
說明
unixtime
對應未經處理資料的時間戳記資料。
real
對應的觀測數值。
pdf
對應的每個觀測點的機率值。
樣本
程式碼範例:
* | select date_trunc('second', cast(t1[1] as bigint)) as time, t1[2] as real, t1[3] as pdf from ( select kernel_density_estimation(time, num, 'gaussian') as res from ( select '("__time__" - ("__time__" % 10))' as time, COUNT(*) * 1.0 as num from log group by time order by time) ), unnest(res) as t(t1) limit 1000
結果樣本: