本文介绍数学统计函数的基础语法及示例。
日志服务支持如下数学统计函数。
在日志服务分析语句中,表示字符串的字符必须使用单引号('')包裹,无符号包裹或被双引号("")包裹的字符表示字段名或列名。例如:'status'表示字符串status,status或"status"表示日志字段status。
|
函数类型 |
函数名称 |
语法 |
说明 |
支持SQL |
支持SPL |
|
相关函数 |
corr(x, y) |
计算x和y的相关度。计算结果范围为[0,1]。 |
√ |
× |
|
|
方差和标准差函数 |
covar_pop(x, y) |
计算x和y的总体协方差。 |
√ |
× |
|
|
covar_samp(x, y) |
计算x和y的样本协方差。 |
√ |
× |
||
|
stddev(x) |
计算x的样本标准差。与stddev_samp函数同义。 |
√ |
× |
||
|
stddev_samp(x) |
计算x的样本标准差。 |
√ |
× |
||
|
stddev_pop(x) |
计算x的总体标准差。 |
√ |
× |
||
|
variance(x) |
计算x的样本方差。与var_samp函数同义。 |
√ |
× |
||
|
var_samp(x) |
计算x的样本方差。 |
√ |
× |
||
|
var_pop(x) |
计算x的总体方差。 |
√ |
× |
||
|
线性回归函数 |
regr_intercept(y, x) |
根据输入点 |
√ |
× |
|
|
regr_slope(y, x) |
根据输入点 |
√ |
× |
||
|
累积分布函数 |
beta_cdf(α, β, v) |
用于计算贝塔分布的累积分布函数P(N <= v; α, β),其中α和β是贝塔分布的参数。 |
√ |
× |
|
|
binomial_cdf(x, y, v) |
用于计算二项分布的累积分布函数P(N <= v),其中x表示实验的次数,y表示单次实验成功的概率。 |
√ |
× |
||
|
cauchy_cdf(x, y, v) |
用于计算柯西分布的累积分布函数P(N <= v; x, y),其中x表示分布峰值位置的位置参数,y是尺度参数。 |
√ |
× |
||
|
chi_squared_cdf(k, v) |
用于计算卡方分布的累积分布函数P(N <= v; k),其中k是卡方分布服从的自由度。 |
√ |
× |
||
|
inverse_beta_cdf(α, β, p) |
计算贝塔分布的逆累积分布函数。即求v的值,使得累积分布函数P(N <= v; α, β)的结果为p。 |
√ |
× |
||
|
inverse_binomial_cdf(x, y, p) |
计算二项分布的逆累积分布函数。即求v的值,使得累积分布函数P(N <= v)的结果为p。 |
√ |
× |
||
|
inverse_cauchy_cdf(x, y, p) |
计算柯西分布的逆累积分布函数。即求v的值,使得累积分布函数P(N <= v; x, y)的结果为p。 |
√ |
× |
||
|
inverse_chi_squared_cdf(k, p) |
计算卡方分布的逆累积分布函数。即求v的值,使得累积分布函数P(N <= v; k)的结果为p。 |
√ |
× |
||
|
inverse_laplace_cdf(μ, b, p) |
计算拉普拉斯分布的逆累积分布函数。即求v的值,使得累积分布函数P(N <= v; μ, b)的结果为p。 |
√ |
× |
||
|
inverse_normal_cdf(x, y, p) |
计算正态分布的逆累积分布函数。即求v的值,使得累积分布函数P(N < v; x, y)的结果为p。 |
√ |
× |
||
|
inverse_poisson_cdf(x, y, p) |
计算泊松分布的逆累积分布函数。即求v的值,使得累积分布函数P(N <= v; λ)的结果为p。 |
√ |
× |
||
|
inverse_weibull_cdf(x, y, p) |
计算韦布分布的逆累积分布函数。即求v的值,使得累积分布函数P(N <= v; x, y)的结果为p。 |
√ |
× |
||
|
laplace_cdf(μ, b, v) |
计算拉普拉斯分布的累积分布函数P(N <= v; μ, b),其中μ 是位置参数,b 是尺度参数。 |
√ |
× |
||
|
normal_cdf(x, y, v) |
计算正态分布的累积分布函数P(N < v; x, y),其中x和y分别表示正态分布的均值和标准差。 |
√ |
× |
||
|
poisson_cdf(λ, v) |
计算泊松分布的累积分布函数P(N <= v; λ),其中λ表示随机事件发生的平均概率。 |
√ |
× |
||
|
weibull_cdf(x, y, v) |
计算韦布分布的累积分布函数P(N <= v; x, y),其中x表示比例参数,y是形状参数。 |
√ |
× |
corr函数
corr函数用于计算x和y的相关度。返回的值越大表示两列的相关性越高。
-
语法
corr(x, y) -
参数说明
参数
说明
x
参数值为double类型。
y
参数值为double类型。
-
返回值类型
double类型,取值范围[0,1]。
-
示例
计算request_length字段值与request_time字段值的相关度。
-
查询和分析语句
* | SELECT corr(request_length,request_time) -
查询和分析结果返回
request_length与request_time的相关系数,值为0.0008096234574114261。
-
covar_pop函数
covar_pop函数用于计算x和y的总体协方差。
-
语法
covar_pop(x, y) -
参数说明
参数
说明
x
参数值为double类型。
y
参数值为double类型。
-
返回值类型
double类型。
-
示例
计算每分钟内税前利润和税前营业额的总体协方差。
-
查询和分析语句
*| SELECT covar_pop(PretaxGrossAmount, PretaxAmount) AS "总体协方差", time_series(__time__, '1m', '%H:%i:%s', '0') AS time GROUP BY time -
查询和分析结果返回两条记录:总体协方差值分别为 4.402252063414699 和 2.2477524300733857,对应 time 分别为 04:24:00 和 04:47:00。
-
covar_samp函数
covar_samp函数用于计算x和y的样本协方差。
-
语法
covar_samp(x, y) -
参数说明
参数
说明
x
参数值为double类型。
y
参数值为double类型。
-
返回值类型
double类型。
-
示例
计算每分钟内税前利润和税前营业额的样本协方差。
-
查询和分析语句
*| SELECT covar_samp(PretaxGrossAmount, PretaxAmount) AS "样本协方差", time_series(__time__, '1m', '%H:%i:%s', '0') AS time GROUP BY time -
查询和分析结果。查询结果返回两行数据:
time为15:50:00时,样本协方差值为2.2910940581194376;time为15:49:00时,样本协方差值为4.721554417070316。
-
stddev函数
stddev函数用于计算x的样本标准差。与stddev_samp函数同义。
-
语法
stddev(x) -
参数说明
参数
说明
x
参数值为double类型或bigint类型。
-
返回值类型
double类型。
-
示例
查询税前收入的样本标准差和总体标准差,并通过折线图展示。
-
查询和分析语句
* | SELECT stddev(PretaxGrossAmount) as "样本标准差", stddev_pop(PretaxGrossAmount) as "总体标准差", time_series(__time__, '1m', '%H:%i:%s', '0') AS time GROUP BY time -
查询和分析结果

-
stddev_samp函数
stddev_samp函数用于计算x的样本标准差。
-
语法
stddev_samp(x) -
参数说明
参数
说明
x
参数值为double类型或bigint类型。
-
返回值类型
double类型。
-
示例
查询税前收入的样本标准差和总体标准差,并通过折线图展示。
-
查询和分析语句
* | SELECT stddev_samp(PretaxGrossAmount) as "样本标准差", stddev_pop(PretaxGrossAmount) as "总体标准差", time_series(__time__, '1m', '%H:%i:%s', '0') AS time GROUP BY time -
查询和分析结果

-
stddev_pop函数
stddev_pop函数用于计算x的总体标准差。
-
语法
stddev_pop(x) -
参数说明
参数
说明
x
参数值为double类型或bigint类型。
-
返回值类型
double类型。
-
示例
查询税前收入的样本标准差和总体标准差,并通过折线图展示。
-
查询和分析语句
* | SELECT stddev(PretaxGrossAmount) as "样本标准差", stddev_pop(PretaxGrossAmount) as "总体标准差", time_series(__time__, '1m', '%H:%i:%s', '0') AS time GROUP BY time -
查询和分析结果

-
variance函数
variance函数用于计算x的样本方差。与var_samp函数同义。
-
语法
variance(x) -
参数说明
参数
说明
x
参数值为double类型或bigint类型。
-
返回值类型
double类型。
-
示例
查询税前收入的样本方差和总体方差,并通过折线图展示。
-
查询和分析语句
* | SELECT variance(PretaxGrossAmount) as "样本方差", var_pop(PretaxGrossAmount) as "总体方差", time_series(__time__, '1m', '%H:%i:%s', '0') as time GROUP BY time -
查询和分析结果

-
var_samp函数
var_samp函数用于计算x的样本方差。
-
语法
var_samp(x) -
参数说明
参数
说明
x
参数值为double类型或bigint类型。
-
返回值类型
double类型。
-
示例
查询税前收入的样本方差和总体方差,并通过折线图展示。
-
查询和分析语句
* | SELECT var_samp(PretaxGrossAmount) as "样本方差", var_pop(PretaxGrossAmount) as "总体方差", time_series(__time__, '1m', '%H:%i:%s', '0') as time GROUP BY time -
查询和分析结果

-
var_pop函数
var_pop函数用于计算x的总体方差。
-
语法
var_pop(x) -
参数说明
参数
说明
x
参数值为double类型或bigint类型。
-
返回值类型
double类型。
-
示例
查询税前收入的样本方差和总体方差,并通过折线图展示。
-
查询和分析语句
* | SELECT variance(PretaxGrossAmount) as "样本方差", var_pop(PretaxGrossAmount) as "总体方差", time_series(__time__, '1m', '%H:%i:%s', '0') as time GROUP BY time -
查询和分析结果

-
regr_intercept函数
regr_intercept函数会根据输入点(x,y)拟合成一个线性方程,然后计算该直线的Y轴截距。x是依赖值,y是独立值。
-
语法
regr_intercept(y, x) -
参数说明
参数
说明
y
参数值为double类型。
x
参数值为double类型。
-
返回值类型
double类型。
-
示例
计算由request_time字段值和request_length字段值组成的直线的Y轴截距。
-
查询和分析语句
* | SELECT regr_intercept(request_length,request_time) -
查询和分析返回结果 _col0 列的值为
4128.22910642988。
-
regr_slope函数
regr_slope函数会根据输入点(x,y)拟合成一个线性方程,然后计算该直线的斜率。x是依赖值,y是独立值。
-
语法
regr_slope(y, x) -
参数说明
参数
说明
y
参数值为double类型。
x
参数值为double类型。
-
返回值类型
double类型。
-
示例
计算由request_time字段值和request_length字段值组成的直线的斜率。
-
查询和分析语句
* | SELECT regr_slope(request_length,request_time) -
查询和分析结果为
1.9022724330993215。
-
beta_cdf函数
beta_cdf函数是用于计算贝塔分布的累积分布函数。
-
语法
beta_cdf(α, β, v) -
参数说明
参数
说明
α
贝塔分布参数,double类型,取值大于0。
β
贝塔分布参数,double类型,取值大于0。
v
累积分布函数的输入参数,double类型,取值范围为[0, 1]。
-
返回值类型
double类型
-
示例
-
查询和分析语句
* | SELECT beta_cdf(0.1, 0.5, 0.7) -
查询和分析结果返回结果为
0.8926585878364057。
-
binomial_cdf函数
binomial_cdf函数是用于计算二项分布的累积分布函数。
-
语法
binomial_cdf(x, y, v) -
参数说明
参数
说明
x
实验的次数,integer类型,取值大于0。
y
单次实验成功的概率,double类型,取值范围为[0, 1]。
v
累积分布函数的输入参数,integer类型。
-
返回值类型
double类型
-
示例
-
查询和分析语句
* | select binomial_cdf(10, 0.1, 1) -
查询和分析结果为
0.7360989291000001。
-
cauchy_cdf函数
cauchy_cdf函数是用于计算柯西分布的累积分布函数。
-
语法
cauchy_cdf(x, y, v) -
参数说明
参数
说明
x
分布峰值位置的位置参数,double类型。
y
尺度参数,double类型,取值且大于0。
v
累积分布函数的输入参数,double类型。
-
返回值类型
double类型
-
示例
-
查询和分析语句
* | select cauchy_cdf(-10, 5, -12) -
查询和分析结果返回结果为
0.3788810584091566。
-
chi_squared_cdf函数
chi_squared_cdf函数是用于计算卡方分布的累积分布函数。
-
语法
chi_squared_cdf(k, v) -
参数说明
参数
说明
k
卡方分布服从的自由度,double类型,取值大于0。
v
累积分布函数的输入参数,double类型,取值大于等于0。
-
返回值类型
double类型
-
示例
-
查询和分析语句
* | select chi_squared_cdf(3, 10) -
查询和分析结果返回结果为
0.9814338645369567。
-
inverse_beta_cdf函数
inverse_beta_cdf函数是用于计算贝塔分布的逆累积分布函数。
-
语法
inverse_beta_cdf(α, β, p) -
参数说明
参数
说明
α
贝塔分布参数,double类型,取值大于0。
β
贝塔分布参数,double类型,取值且大于0。
p
逆累积分布函数的输入参数,double类型,取值范围为[0, 1]。
-
返回值类型
double类型
-
示例
-
查询和分析语句
* | select inverse_beta_cdf(0.1, 0.5, 0.8926585878364057) -
查询和分析结果:
_col0的值为0.699999999279748。
-
inverse_binomial_cdf函数
inverse_binomial_cdf函数是用于计算二项分布的逆累积分布函数。
-
语法
inverse_binomial_cdf(x, y, p) -
参数说明
参数
说明
x
实验的次数,integer类型,取值大于0。
y
单次实验成功的概率,double类型,取值且范围为[0, 1]。
p
逆累积分布函数的输入参数,double类型,取值范围为[0, 1]。
-
返回值类型
integer类型
-
示例
-
查询和分析语句
* | select inverse_binomial_cdf(10, 0.1, 0.7360989291000001) -
查询和分析结果返回结果为
1。
-
inverse_cauchy_cdf函数
inverse_cauchy_cdf函数是用于计算柯西分布的逆累积分布函数。
-
语法
inverse_cauchy_cdf(x, y, p) -
参数说明
参数
说明
x
分布峰值位置的位置参数,double类型。
y
尺度参数,double类型,取值大于0。
p
逆累积分布函数的输入参数,double类型,取值范围为[0, 1]。
-
返回值类型
double类型
-
示例
-
查询和分析语句
* | select inverse_cauchy_cdf(-10, 5, 0.3788810584091566) -
查询和分析结果:
_col0列的值为-12.0。
-
inverse_chi_squared_cdf函数
inverse_chi_squared_cdf函数是用于计算卡方分布的逆累积分布函数。
-
语法
chi_squared_cdf(k, p) -
参数说明
参数
说明
k
卡方分布服从的自由度,double类型,取值大于0。
p
逆累积分布函数的输入参数,double类型,取值范围为[0, 1]。
-
返回值类型
double类型
-
示例
-
查询和分析语句
* | select inverse_chi_squared_cdf(3, 0.9814338645369567) -
查询和分析结果返回结果为
9.999999999835746。
-
inverse_laplace_cdf函数
inverse_laplace_cdf函数是用于计算拉普拉斯分布的逆累积分布函数。
-
语法
inverse_laplace_cdf(μ, b, p) -
参数说明
参数
说明
μ
算拉普拉斯分布的位置参数,double类型。
b
算拉普拉斯分布的尺度参数,double类型,取值大于0。
p
逆累积分布函数的输入参数,double类型,取值范围为[0, 1]。
-
返回值类型
double类型
-
示例
-
查询和分析语句
* | select inverse_laplace_cdf(11, 0.5, 0.18393972058572118) -
查询和分析结果:_col0 列的返回值为
10.5。
-
inverse_normal_cdf函数
inverse_normal_cdf函数是用于计算正态分布的逆累积分布函数。
-
语法
inverse_normal_cdf(x, y, p) -
参数说明
参数
说明
x
正态分布的均值,double类型。
y
正态分布的标准差,double类型,取值大于0。
p
逆累积分布函数的输入参数,double类型,取值范围为(0, 1)。
-
返回值类型
double类型
-
示例
-
查询和分析语句
* | select inverse_normal_cdf(85, 10, 0.06680720126885803) -
查询和分析结果为
70.0。
-
inverse_poisson_cdf函数
inverse_poisson_cdf函数是用于计算泊松分布的逆累积分布函数。
-
语法
inverse_poisson_cdf(λ, p) -
参数说明
参数
说明
λ
随机事件发生的平均概率。
p
逆累积分布函数的输入参数,double类型,取值范围为[0, 1]。
-
返回值类型
integer类型
-
示例
-
查询和分析语句
* | select inverse_poisson_cdf(0.1, 0.9953211598395556) -
查询和分析结果为
1。
-
inverse_weibull_cdf函数
inverse_weibull_cdf函数是用于计算韦布分布的逆累积分布函数。
-
语法
inverse_weibull_cdf(x, y, p) -
参数说明
参数
说明
x
韦布分布的比例参数,double类型,取值且大于0。
y
韦布分布的形状参数,double类型,取值且大于0。
p
逆累积分布函数的输入参数,double类型,取值范围为[0, 1]。
-
返回值类型
double类型
-
示例
-
查询和分析语句
* | select inverse_weibull_cdf(1, 5, 0.3296799539643607) -
查询和分析结果为
1.9999999999999998。
-
laplace_cdf函数
laplace_cdf函数是用于计算拉普拉斯分布的累积分布函数。
-
语法
laplace_cdf(μ, b, v) -
参数说明
参数
说明
μ
算拉普拉斯分布的位置参数,double类型。
b
算拉普拉斯分布的尺度参数,double类型,取值大于0。
v
累积分布函数的输入参数,double类型。
-
返回值类型
double类型
-
示例
-
查询和分析语句
* | select laplace_cdf(11, 0.5, 10.5) -
查询和分析结果返回结果为
0.18393972058572118。
-
normal_cdf函数
normal_cdf函数是用于计算正态分布的累积分布函数。
-
语法
normal_cdf(x, y, v) -
参数说明
参数
说明
x
正态分布的均值,double类型。
y
正态分布的标准差,double类型,取值大于0。
v
累积分布函数的输入参数,double类型。
-
返回值类型
double类型
-
示例
-
查询和分析语句
* | select normal_cdf(85, 10, 70) -
查询和分析结果返回结果为
0.06680720126885803。
-
poisson_cdf函数
poisson_cdf函数是用于计算泊松分布的累积分布函数。
-
语法
poisson_cdf(λ, v) -
参数说明
参数
说明
λ
随机事件发生的平均概率。
v
累积分布函数的输入参数,integer类型,取值大于等于0。
-
返回值类型
double类型
-
示例
-
查询和分析语句
* | select poisson_cdf(0.1, 1) -
查询和分析结果返回结果为
0.99532115983955556。
-
weibull_cdf函数
weibull_cdf函数是用于计算韦布分布的累积分布函数。
-
语法
weibull_cdf(x, y, v) -
参数说明
参数
说明
x
韦布分布的比例参数,double类型,取值大于0。
y
韦布分布的形状参数,double类型,取值大于0。
v
累积分布函数的输入参数,double类型。
-
返回值类型
double类型
-
示例
-
查询和分析语句
* | select weibull_cdf(1, 5, 2) -
查询和分析结果返回值为
0.3296799539643607。
-