2013-05-14 2 views
1

documentation из error_of < средних> функции для наддува аккумуляторов заявляет, что он вычисляет ошибку среднего значения по формуле:Какова цель аккумулятора накопителя error_of <mean>?

SQRT (дисперсия/(кол - 1)),

, где дисперсия рассчитывается по:

variance = 1/count sum [(x_i - x_m)^2], где сумма переходит во все значения x_i i = 1..count образца, а x_m - среднее значение. Это дает используемую формулу (для значения ошибки):

SQRT (1/(количество (количество - 1)) сумма [(x_i - x_m)^2]),

Wikipedia заявляет, что для стандарта отклонения, используйте либо нескорректированное, либо скорректированное стандартное отклонение выборки. Последний рассчитывается по формуле:

SQRT (1/(кол-1) * сумма [(x_i - x_m)^2])

Это один я обычно использую для вычисления ошибки средних значений. Итак, какова цель error_of < mean>? И какая ошибка рассчитывается там?

ответ

1

Я текущий поддерживающий Boost.Accumulators, и я написал большую часть этого, но не биты math-y. Я отложил все такие решения эксперту домена, который работал со мной вплотную. Я задал вам свой вопрос. Это ответ, который я получил:

Стандартное отклонение не является ошибкой среднего значения. Наше уравнение верно.

<shrug> Это не самый освежающий ответ, но, возможно, это помогает?

+1

Было бы очень полезно, если бы Boost.Accumulators предоставили бы непредвзятую версию дисперсии. Кроме того, в документе не ясно, к какой версии относится функция «отклонения» (смещенная или непредвзятая). –

3

Общая формула Boost.Accumulators действительно правильная, но она вычисляется несколько нестандартным образом.

Во-первых, это sample variance просто среднее значение квадратов отклонений

V_sample = sum[ (x_i - x_m)^2]/count 
s_sample = sqrt[ V_sample ] 

но s_sample является смещенной Сметчик стандартного отклонения населения sigma. unbiased estimator of the population standard deviation является

s_pop = s_sample * sqrt[ count/count - 1 ] 

Во-вторых, standard error on the mean это ошибка, с которой вы измерили среднее. Вы можете использовать стандартную ошибку в среднем для создания доверительных интервалов вокруг среднего арифметического выборки, так как оценка популяции равна mu.

Стандартная ошибка среднего значения задается как отношение несмещенной оценки населения стандартное отклонение, деленное на квадратный корень из числа наблюдений

s_mean = s_pop/sqrt[ count ] 

наддува.Накопитель вычисляет s_mean, как

s_mean = s_sample/sqrt[count - 1] 

но эти два выражения фактически эквивалентны, так как можно легко увидеть путем прямого substition соотношения между s_pop и s_sample.

ПРИМЕЧАНИЕ: Я думаю, было бы полезно, чтобы Boost.Accumulators также определяли эти две версии стандартного отклонения.