我很难理解这些统计功能的作用以及它们的工作方式。我要了解stdev与stdevp和var equivelant的工作方式更加困难。有人可以帮我分解这些内容吗?
最佳答案
在统计中,标准差和方差是衡量总体指标偏离均值(通常是平均值)的量度。
标准偏差定义为方差的平方根,方差定义为与均值的平方差的平均值,即:
对于大小为n的总体:x1,x2,...,xn
均值:xmean
Stdevp = sqrt((((x1-xmean)^ 2 +(x2-xmean)^ 2 + ... +(xn-xmean)^ 2)/n)
当无法获得整个总体的值时(大部分时间),习惯上应用Bessel校正可以更好地估算整个总体的实际标准偏差。在计算方差时,贝塞尔的校正仅是除以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;
进一步阅读Wikipedia文章:standard deviatio n和Bessel's Correction。
关于tsql - 了解T-SQL stdev,stdevp,var和varp,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1455370/