Правило трех сигм в статистике
Правило трёх сигм в статистике заключается в том, что при нормальном распределении практически все значения величины с вероятностью 0,9973 лежат не далее трёх сигм в любую сторону от математического ожидания, то есть находятся в диапазоне [μ−3σ;μ+3σ].
Приблизительно 99,7% всех значений лежат в пределе трёх сигм от математического ожидания, около 95% — в пределах двух сигм, а примерно 68% значений лежат в пределах всего одной сигмы. Значения, которые выходят за рамки трёх сигм, принято считать грубыми ошибками (или выбросами). Большое количество таких ошибок может свидетельствовать о том, что распределение на самом деле не является нормальным. Ниже приведу скрипт на языке R который проводит анализ вектора выборки и возвращает таблицу значений нормированных отклонений.
| 99,7% всех значений | лежат в пределе трёх сигм от математического ожидания |
| около 95% | лежат в пределах двух сигм от математического ожидания |
| примерно 68% | лежат в пределах одной сигмы от математического ожидания |
Нормированное отклонение (t) — это показатель, который представляет отклонение той или иной величины от средней величины, отнесённое к значению стандартного отклонения. Нормированное отклонение позволяет установить, на сколько «сигм» отклоняются варианты от среднего значения.
Например, необходимо определить, насколько «сигм» отклоняется значение роста человека, равное 180 см, от среднего, если среднее арифметическое равно 170 см, а «сигма», то есть стандартное отклонение, равно 10 см.
Подставив эти значения в формулу, получим:
t = (180 – 170) / 10 = 1.
Ответ: значение роста человека, равное 180 см, отклоняется от среднего на одну «сигму».
Задача. Дана выборка: 5, 7, 4, 6, 8, 3, 5, 6, 5, 7, 5, 11, 9, 5, 6, 8, 5, 3, 5, 4, 3, 3, 2, 7, 5, 9, 5, 4, 6, 1, 12, 8, 10, 6, 9, 4, 8, 7. Написать скрипт который вернет таблицу значений нормированных отклонений выборки.
x = c(5, 7, 4, 6, 8, 3, 5, 6, 5, 7, 5, 11, 9, 5, 6, 8, 5, 3, 5,
4, 3, 3, 2, 7, 5, 9, 5, 4, 6, 1, 12, 8, 10, 6, 9, 4, 8, 7)
Mean = mean(x)
SD = sd(x)
t = round((x - Mean)/SD,3)
dt = data.frame(Vars = x, t)
head(dt)
> head(dt) Vars t 1 5 -0.383 2 7 0.426 3 4 -0.788 4 6 0.021 5 8 0.831 6 3 -1.193
# вывести данные у которых t > 2
dt[dt$t>2,]
> dt[dt$t>2,] Vars t 12 11 2.045 31 12 2.450
