Kernel density estimation is a non-parametric test method. It is used to estimate unkonwn density functions in probability theory.
The kernel density estimation function uses a smooth peak function to simulate the real probability distribution curve by fitting the observed data points.
Syntax
select kernel_density_estimation(bigint stamp, double value, varchar kernelType)
Parameters
Parameter
Description
stamp
The UNIX timestamp. Unit: seconds.
value
The observed value.
kernelType
box: rectangle window
epanechniov: Epanechnikov curve
gausener: Gaussian curve
Result
Display item
Description
unixtime
The timestamp of the source data.
real
The observed value.
pdf
The probability of each observed data point.
Example
Sample code:
* | 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
Sample result: