本文介绍数学统计函数的基础语法及示例。
日志服务支持如下数学统计函数。
在日志服务分析语句中,表示字符串的字符必须使用单引号('')包裹,无符号包裹或被双引号("")包裹的字符表示字段名或列名。例如:'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)
查询和分析结果
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
查询和分析结果
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
查询和分析结果
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)
查询和分析结果
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)
查询和分析结果
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)
查询和分析结果
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)
查询和分析结果
cauchy_cdf函数
cauchy_cdf函数是用于计算柯西分布的累积分布函数。
语法
cauchy_cdf(x, y, v)
参数说明
参数 | 说明 |
x | 分布峰值位置的位置参数,double类型。 |
y | 尺度参数,double类型,取值且大于0。 |
v | 累积分布函数的输入参数,double类型。 |
返回值类型
double类型
示例
查询和分析语句
* | select cauchy_cdf(-10, 5, -12)
查询和分析结果
chi_squared_cdf函数
chi_squared_cdf函数是用于计算卡方分布的累积分布函数。
语法
chi_squared_cdf(k, v)
参数说明
参数 | 说明 |
k | 卡方分布服从的自由度,double类型,取值大于0。 |
v | 累积分布函数的输入参数,double类型,取值大于等于0。 |
返回值类型
double类型
示例
查询和分析语句
* | select chi_squared_cdf(3, 10)
查询和分析结果
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)
查询和分析结果
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)
查询和分析结果
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)
查询和分析结果
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)
查询和分析结果
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)
查询和分析结果
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)
查询和分析结果
inverse_poisson_cdf函数
inverse_poisson_cdf函数是用于计算泊松分布的逆累积分布函数。
语法
inverse_poisson_cdf(λ, p)
参数说明
参数 | 说明 |
λ | 随机事件发生的平均概率。 |
p | 逆累积分布函数的输入参数,double类型,取值范围为[0, 1]。 |
返回值类型
integer类型
示例
查询和分析语句
* | select inverse_poisson_cdf(0.1, 0.9953211598395556)
查询和分析结果
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)
查询和分析结果
laplace_cdf函数
laplace_cdf函数是用于计算拉普拉斯分布的累积分布函数。
语法
laplace_cdf(μ, b, v)
参数说明
参数 | 说明 |
μ | 算拉普拉斯分布的位置参数,double类型。 |
b | 算拉普拉斯分布的尺度参数,double类型,取值大于0。 |
v | 累积分布函数的输入参数,double类型。 |
返回值类型
double类型
示例
查询和分析语句
* | select laplace_cdf(11, 0.5, 10.5)
查询和分析结果
normal_cdf函数
normal_cdf函数是用于计算正态分布的累积分布函数。
语法
normal_cdf(x, y, v)
参数说明
参数 | 说明 |
x | 正态分布的均值,double类型。 |
y | 正态分布的标准差,double类型,取值大于0。 |
v | 累积分布函数的输入参数,double类型。 |
返回值类型
double类型
示例
查询和分析语句
* | select normal_cdf(85, 10, 70)
查询和分析结果
poisson_cdf函数
poisson_cdf函数是用于计算泊松分布的累积分布函数。
语法
poisson_cdf(λ, v)
参数说明
参数 | 说明 |
λ | 随机事件发生的平均概率。 |
v | 累积分布函数的输入参数,integer类型,取值大于等于0。 |
返回值类型
double类型
示例
查询和分析语句
* | select poisson_cdf(0.1, 1)
查询和分析结果
weibull_cdf函数
weibull_cdf函数是用于计算韦布分布的累积分布函数。
语法
weibull_cdf(x, y, v)
参数说明
参数 | 说明 |
x | 韦布分布的比例参数,double类型,取值大于0。 |
y | 韦布分布的形状参数,double类型,取值大于0。 |
v | 累积分布函数的输入参数,double类型。 |
返回值类型
示例
查询和分析语句
* | select weibull_cdf(1, 5, 2)
查询和分析结果