Язык r: что не так с этим расчетом стандартного отклонения?

Я пытаюсь вручную проверить функцию sd (), но моя математика возвращается по-другому. StdDev - это квадратный корень из дисперсии. Дисперсия - это среднее всех чисел после вычитания среднего и возведения в квадрат.

y <- c(2,3,4,5)
m <- mean(y) # 3.5
a <- c()
a[1] <- (y[1] - m)^2
a[2] <- (y[2] - m)^2
a[3] <- (y[3] - m)^2
a[4] <- (y[4] - m)^2
v <- mean(a) # variance here
sqrt(v) # outputs 1.118034
sd(y) # outputs 1.290994

sqrt (4/3) * 1,118 = 1,29. У вас 3 степени степеней свободы, а не 4, так что то, что вы сделали, является предвзятой оценкой. После исправления все нормально

Severin Pappadeux 13.09.2018 19:20

Стандартная функция возвращает несмещенную дисперсию, но ваш вызов mean делится на n вместо n-1.

MBo 13.09.2018 19:20
0
2
34
0

Другие вопросы по теме