MySQL 标准差函数
标准差是衡量一组值相对于平均值的变化或离散数量的统计量。当数据点远离平均值时,标准偏差会更高。因此,数据越分散,其标准偏差就越大。当标准偏差较低时,这意味着值更接近平均值。它还测量与平均值存在多少变化。
标准偏差也可以定义为方差的平方根。我们可以使用以下几点计算标准偏差:
- 通过计算数据集中所有值的平均值来找到平均值。例如,如果我们有一个包含值 2、4 和 6 的数据集,则平均值为 (2+4+6)/3 = 4。
- 接下来,对于每个值,计算与平均值的差,然后对每个结果进行平方。例如,(2-4) 2 = (-2) 2 = 4,(4-4) 2 = (0) 2 = 0,(6-4) 2 = (2) 2 = 4。
- 接下来,根据在步骤 2 中找到的值计算平均值,从而得出方差。例如,((4+0+4)/3) = 5.33333333。
- 最后,取产生数据集中标准差的方差的平方根。例如,(5.33333333) 的平方根 = 2.3094010768。
一、样本标准偏差与总体标准偏差
当计算中仅使用少数值或值的子集时,标准偏差称为样本标准偏差。
当计算中使用所有数据集值时,标准偏差称为总体标准偏差。
标准偏差使用sigma 字母 (σ) 符号表示。请参阅以下方程式,这些方程式解释了我们如何计算样本标准偏差和总体标准偏差:
简单标准差的方程:
总体标准差方程:
在上述等式中,N 是数据集中可用值的数量。
二、MySQL 标准差函数
MySQL提供了一个函数,可以让我们以简单快捷的方式计算样本标准差和总体标准差。MySQL 从5.6 和更高版本开始支持这些函数。
如果我们想计算样本标准差,我们可以使用下面的函数:
1、STDDEV_SAMP() 函数
此函数用于返回表达式的样本标准差(VAR_SAMP() 的平方根)。如果没有找到匹配的行,此函数返回NULL 。
我们可以这样使用这个函数:
STDDEV_SAMP(expr);
示例
假设我们有一个名为“ employee ”的表,其中包含以下数据:
以下语句计算员工表中薪水的样本标准差:
mysql> SELECT STDDEV_SAMP (salary) FROM employee;
我们将得到以下结果:
如果我们想计算总体标准差,我们可以使用以下函数:
2、STD() 函数
此函数用于返回给定表达式的总体标准差。它是 STDDEV_POP() 函数的同义词。如果没有找到匹配的行,STD() 函数将返回NULL 。
我们可以这样使用这个函数:
STD(expr);
示例
以下语句计算员工表中薪水的总体标准差:
mysql> SELECT STD(salary) FROM employee;
我们将得到以下结果:
3、STDDEV() 函数
此函数用于通过计算给定表达式的统计信息返回总体标准差。如果没有找到匹配的行,则STDDEV() 函数返回NULL 。
我们可以这样使用这个函数:
STDDEV(expr);
示例
以下语句计算员工表中薪水的样本标准差:
mysql> SELECT STDDEV(salary) FROM employee;
我们将得到以下结果:
4、STDDEV_POP() 函数
此函数用于返回给定表达式的总体标准差(VAR_POP() 的平方根)。如果没有找到匹配的行,则STDDEV_POP() 函数返回NULL 。
我们可以这样使用这个函数:
STDDEV_POP(expr);
示例
以下语句计算员工表中薪水的样本标准差:
mysql> SELECT STDDEV_POP(salary) FROM employee;
我们将得到以下结果:
热门文章
优秀文章