Tsql 了解T-SQL stdev、stdevp、var和varp

Tsql 了解T-SQL stdev、stdevp、var和varp,tsql,statistics,Tsql,Statistics,我很难理解这些统计函数的作用以及它们是如何工作的。与stdev和var等价物相比,我在理解stdev如何工作方面遇到了更大的困难。有人能帮我把这些分解成哑巴吗?STDDEV用于计算数据集的标准偏差。STDDEVP用于计算总体的标准偏差,您的数据来自该总体 如果您的输入是整个总体,则使用STDDEV计算总体标准偏差。更典型的是,您的数据集是一个大得多的群体的样本。在这种情况下,数据集的标准偏差不会代表总体的真实标准偏差,因为它通常会偏低。使用STDDEVP可以更好地估计基于样本的总体标准偏差 VA

我很难理解这些统计函数的作用以及它们是如何工作的。与stdev和var等价物相比,我在理解stdev如何工作方面遇到了更大的困难。有人能帮我把这些分解成哑巴吗?

STDDEV用于计算数据集的标准偏差。STDDEVP用于计算总体的标准偏差,您的数据来自该总体

如果您的输入是整个总体,则使用STDDEV计算总体标准偏差。更典型的是,您的数据集是一个大得多的群体的样本。在这种情况下,数据集的标准偏差不会代表总体的真实标准偏差,因为它通常会偏低。使用STDDEVP可以更好地估计基于样本的总体标准偏差

VAR和VARP的情况是相同的


有关该主题更深入的讨论,请参见。

在统计学中,标准偏差和方差是衡量总体指标偏离平均值(通常是平均值)的度量 标准偏差定义为方差的平方根,方差定义为平均值的平方差的平均值,即:

对于大小为n的总体:x1,x2,…,xn 平均值:xmean

Stdevp=sqrt((x1 xmean)^2+(x2 xmean)^2+…+(xn xmean)^2)/n)

当整个群体的值不可用时(大多数时候),通常采用贝塞尔校正法,以更好地估计整个群体的实际标准偏差。在计算方差时,贝塞尔校正仅除以n-1而不是n,即:

Stdev=sqrt(((x1-xmean)^2+(x2-xmean)^2+…+(xn-xmean)^2)/(n-1))

请注意,对于足够大的数据集,使用哪个函数并不重要

您可以通过运行以下T-SQL脚本来验证我的答案:

-- temporary data set with values 2, 3, 4
declare @t table([val] int);

insert into @t values
    (2),(3),(4);

select avg(val) as [avg], -- equals to 3.0
   -- Estimation of the population standard devisation using a sample and Bessel's Correction:
   -- ((x1 - xmean)^2 + (x2 - xmean)^2 + ... + (xn-xmean)^2)/(n-1)  
   stdev(val) as [stdev],
   sqrt( (square(2-3.0) + square(3-3) + square(4-3))/2) as [stdev calculated], -- calculated with value 2, 3, 4

   -- Population standard deviation: 
   -- ((x1 - xmean)^2 + (x2 - xmean)^2 + ... + (xn-xmean)^2)/n
   stdevp(val) as [stdevp],
   sqrt( (square(2-3.0) + square(3-3) + square(4-3))/3) as [stdevp calculated] -- calculated with value 2, 3, 4
from @t;

进一步阅读维基百科关于:n和。

的文章,您是否不了解这些函数的作用,或者不确定标准偏差或变量是什么?换句话说,您需要T-SQL或统计(或两者)方面的帮助吗?我需要了解T-SQL和统计方面的内容我不确定SQL,但这似乎与STDEV和STDEVP的Excel定义不一致。维基百科的文章解释了如何通过计算样本的实际标准偏差(除以n)来低估总体标准偏差,因此通常会对其进行校正(除以n-1)。STDEVP是(n)[而STDEV是(n-1)[解释是反向的。STDDEV是当你只有一个样本时,STDDEVP是当你有完整的总体时。我已经提交了一个编辑,因此它可以正确地读取解释的反转。