Понимание T-SQL stdev, stdevp, var и varp - PullRequest
9 голосов
/ 21 сентября 2009

Мне трудно понять, что делают эти статистические функции и как они работают. Мне еще труднее понять, как работает stdev против stdevp и var equivelant. Может кто-нибудь, пожалуйста, разбить их на глупости для меня?

Ответы [ 2 ]

24 голосов
/ 06 августа 2012

В статистике стандартное отклонение и дисперсия - это показатели того, насколько показатель в популяции отклоняется от среднего значения (обычно среднего.) Стандартное отклонение определяется как квадратный корень из дисперсии, а дисперсия определяется как среднее квадрата разности от среднего значения, т.е.

Для населения размера 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 и Исправление Бесселя .

0 голосов
/ 21 сентября 2009

STDDEV используется для вычисления стандартного отклонения набора данных. STDDEVP используется для вычисления стандартного отклонения совокупности, из которой ваши данные являются выборкой.

Если в качестве входных данных используется вся совокупность, то стандартное отклонение совокупности рассчитывается с помощью STDDEV. Более типично, ваш набор данных является выборкой из гораздо большей популяции. В этом случае стандартное отклонение набора данных не будет представлять истинное стандартное отклонение совокупности, поскольку оно обычно будет слишком низким. Лучшая оценка стандартного отклонения популяции на основе выборки получена с помощью STDDEVP.

Ситуация с VAR и VARP такая же.

Для более подробного обсуждения темы см. эту статью в Википедии .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...