本文介绍数学统计函数的基础语法及示例。
日志服务支持如下数学统计函数。
在日志服务分析语句中,表示字符串的字符必须使用单引号('')包裹,无符号包裹或被双引号("")包裹的字符表示字段名或列名。例如:'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类型。 
- 返回值类型 - double类型 
- 示例 - 查询和分析语句 - * | select weibull_cdf(1, 5, 2)
- 查询和分析结果 