Статистика. Как описывать данные

от
Прочее    среднее значение, дисперсия, среднеквадратическое отклонение

В статье будет описано, что такое среднее значение, дисперсия, среднеквадратическое отклонение.

Среднее значениеСтатистические исследования могут проводится для совершенно разных по объёмам совокупностям. Предположим, мы захотели собрать статистику по росту учеников в одном классе. Это значит, что нам нужно для описания понадобится около двадцати чисел - смотря сколько учеников в классе. Это небольшой объём данных. А теперь предположим, что мы захотели измерить рост всех учащихся в одной области. Это уже внушительный объём данных, и, чтобы дать представление о результатах исследования без этого большого массива чисел, используются некоторые характеристики. Одна из самых важных - среднее значение. Сколько человек - один класс или одну область - мы бы не обследовали, всегда можем дать представление о росте, усреднив его. Посчитать очень просто - просуммировали рост и разделили его на количество обследованных людей. Записывается математически так:
Если кому-то ближе программирование, чем математика, то представляйте значок суммы, как цикл
  1. int result = 0;
  2. for (int i = 1; i <= n; i++) {
  3.     result += x[i];
  4. }
Зная среднее, мы примерно представляем себе, что может из себя представлять та совокупность, которую она описывает. В статистике это значение является особенно важным.

Пример: измерили рост пяти человек, получили значения: 175, 176, 173, 180, 172 в сантиметрах. Среднее равно: (175 + 176 + 173 + 180 + 172)/5 = 175,2 см. Всё просто.

Далее я покажу, как это посчитать в языке R, поскольку собираюсь пользоваться далее, но вдаваться в подробности особо не буду. Код можно будет запускать онлайн на http://www.r-fiddle.org/

В R существуют векторы для описания однотипных данных. Они создаются фукнцией c() (от combine или concatenate). Присвоение в R производится либо оператором =, как в большинстве языков, либо с помощью оператора <-, что более часто употребимо. Данные по росту из предыдущего примера можно описать следующим образом:
  1. height <- c(175, 176, 173, 180, 172)
Здесь мы создали вектор чисел и присвоили ему имя height.

Среднее в R вычисляется функцией mean(), которая принимает в качестве аргумента вектор чисел. Чтобы посчитать среднее по росту, вызовем функцию:
  1. mean(height)
Если выполнить эти две строчки кода в R, получится:
> height <- c(175, 176, 173, 180, 172)
> mean(height)
[1] 175.2
Как видим, вручную мы всё посчитали верно.

ДисперсияПрежде чем рассказать, что такое дисперсия, рассмотрим три результата статистических обследований. Наши исследователи, практиканты математического факультета, провели опрос по зарплатам в трёх разных фирмах, в каждой из которых работает по 10 человек (это небольшие стартапы):
В первой - все десять человек получают по 30 тысяч рублей.
Во второй - восемь человек получают по 30 тысяч, один - 20 тысяч (стажёр), ещё один - 40 тысяч (старший у них)
В третьей - девять человек получают по 10 тысяч, а один, зажравшийся директор, держащий их в ежовых рукавицах, получает 210 тысяч.

Мы проанализировали результаты, посчитали среднее по зарплате в каждой фирме и неожиданно выяснилось, что средняя зарплата в каждой фирме одинаковая - 30 тысяч. Но если в первой и второй фирмах, всё более или менее "справедливо", то в третьей-то творится ужас.

Возникает вопрос: как бы нам изобрести такую характеристику, чтобы она как и средняя описывала свойства группы, но в отличие от средней, могла сказать нам о размахе значений? Давайте ещё раз взглянем на каждую группу, помня о том, что средняя в каждой равна 30-ти.

В первой группе ни одно значение не отличается от среднего. Во второй группе 8 зарплат не отличаются от средней, у одного она на 10 тысяч меньше, у десятого - на 10 тысяч больше. В третьей группе вообще нет людей со средней зарплатой, но девятеро получают на 20 тысяч меньше, а один - в семь раз больше!

Мы начинаем догадываться, что наша новая характеристика должна отражать, насколько в совокупности отдельные элементы отклоняются от среднего значения. У некоторых эта разница от среднего отрицательная, у некоторых - положительная. Но, по существу, знак нас не очень интересует, важнее сама разница между средней и реальной зарплатами. От минуса, следовательно, надо избавиться. Первое, что приходит в голову - брать только модули этих разностей и что-то с ними сделать. Но умные дядьки прошлых времён поняли, что от минусов следует избавляться не взятием модуля от разности между реальным значением и средним, а возведением этой разности в квадрат. А затем, по аналогии со средним значением, эти квадраты суммируются и сумма делится на количество значений в совокупности. Это число называется дисперсией случайной величины. Формула записывается следующим образом:
В книгах также обозначается как D[x]
Если в формуле раскрыть скобки, преобразовать, то получится другое выражение для дисперсиии:
которое легко запомнить фразой "дисперсия - это средний квадрат минус квадрат среднего".
Давайте посчитаем дисперсию для каждой из трёх групп:
1. В первой группе все десять человек получают среднюю зарплату. Значит, в числителях в сумме будут только нули. 0 делить на 10 будет 0.
2. Здесь восемь человек получают среднюю зарплату, значит для них числитель будет равен нулю, как в предыдущем случае. Один человек получает 20 тысяч - для него в числителе будет (20 - 30)^2 = 100. Для последнего человека с зарплатой в 40 тысяч, числитель будет равен (40 - 30)^2 = 100. Суммируем 100 и 100 и делим на 10 (напомню, что у нас 10 человек в фирме). Получается 20. Для второй группы дисперсия составляет 20. Можно добавлять даже фразу "квадратных рублей", потому что мы возводили в квадрат.
3. В этой группе девять человек получают 10 тысяч. Для них числитель будет равен: (10 - 30)^2 = 400. Для директора - (210 - 30)^2 = 32400. Просуммировав всё, и разделив на 10 получим: (400 * 9 + 32400)/10 = 3600. Значение максимальное из всех трёх групп.
Теперь, имея две характеристики: среднюю и дисперсию, мы можем иметь ещё более информативное представление о совокупностях: знаем среднее значение и то, насколько велик разброс значений, относительно этого среднего.

В R дисперсия считается функцией var(), но если попытаетесь посчитать дисперсию для второй и третьей группы, то получите значение, которое будет побольше вычисленного здесь вручную. Почему так происходит, я расскажу как-нибудь позже, когда рассмотрим статистику для выборок из одной совокупности.

Среднеквадратическое отклонениеЭто простая характеристика. Поскольку дисперсия - это нечто что было возведено в квадрат, логично сделать обратную операцию и взять от дисперсии квадратный корень:
Это и называется среднеквадратическим отклонением.
В рассмотренных выше группах это отклонение соответственно равно
Существует такое "правило трёх сигм", которое говорит, что 99% элементов совокупности отклоняются от среднего значения не более чем на три стандартных отклонения (понятнее, почему для вычисления дисперсии взяли квадрат, а не просто модуль, иначе подобного правило не было бы).
Проверим:
Для первой группы границы от "среднее минус три сигмы" до "среднее плюс три сигмы" получаются [30;30], для второй - [16,59; 43,41] (видим, что все входят в данный отрезок), для третьей - [-150; 210] - тоже все входят в данный отрезок.

В R стандартное отклонение вычисляется функцией sd(). Результат будет немного другим, поскольку значение дисперсии будет отличаться.

ЗаключениеДаны определения важнейших характеристик статистических совокупностей: среднее значение, дисперсия, среднеквадратическое (или стандартное) отклонение.
Сформулировано правило трёх сигм.

P. S. В качестве задач заинтересовавшимся могу предложить посчитать:
1. Среднее значение, дисперсию, среднеквадратическое отклонение для игрального кубика. Проверить правило трёх сигм.
2. Среднее значение, дисперсию, среднеквадратическое отклонение для суммы очков пары игральных кубиков. Проверить правило трёх сигм.
  • +6
  • views 7140