Статистика. Как описывать данные
от Ginosaji
В статье будет описано, что такое среднее значение, дисперсия, среднеквадратическое отклонение.
Среднее значениеСтатистические исследования могут проводится для совершенно разных по объёмам совокупностям. Предположим, мы захотели собрать статистику по росту учеников в одном классе. Это значит, что нам нужно для описания понадобится около двадцати чисел - смотря сколько учеников в классе. Это небольшой объём данных. А теперь предположим, что мы захотели измерить рост всех учащихся в одной области. Это уже внушительный объём данных, и, чтобы дать представление о результатах исследования без этого большого массива чисел, используются некоторые характеристики. Одна из самых важных - среднее значение. Сколько человек - один класс или одну область - мы бы не обследовали, всегда можем дать представление о росте, усреднив его. Посчитать очень просто - просуммировали рост и разделили его на количество обследованных людей. Записывается математически так:
Если кому-то ближе программирование, чем математика, то представляйте значок суммы, как цикл
Зная среднее, мы примерно представляем себе, что может из себя представлять та совокупность, которую она описывает. В статистике это значение является особенно важным.
Пример: измерили рост пяти человек, получили значения: 175, 176, 173, 180, 172 в сантиметрах. Среднее равно: (175 + 176 + 173 + 180 + 172)/5 = 175,2 см. Всё просто.
Далее я покажу, как это посчитать в языке R, поскольку собираюсь пользоваться далее, но вдаваться в подробности особо не буду. Код можно будет запускать онлайн на http://www.r-fiddle.org/
В R существуют векторы для описания однотипных данных. Они создаются фукнцией c() (от combine или concatenate). Присвоение в R производится либо оператором =, как в большинстве языков, либо с помощью оператора <-, что более часто употребимо. Данные по росту из предыдущего примера можно описать следующим образом:
Здесь мы создали вектор чисел и присвоили ему имя height.
Среднее в R вычисляется функцией mean(), которая принимает в качестве аргумента вектор чисел. Чтобы посчитать среднее по росту, вызовем функцию:
Если выполнить эти две строчки кода в 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. Среднее значение, дисперсию, среднеквадратическое отклонение для суммы очков пары игральных кубиков. Проверить правило трёх сигм.
Среднее значениеСтатистические исследования могут проводится для совершенно разных по объёмам совокупностям. Предположим, мы захотели собрать статистику по росту учеников в одном классе. Это значит, что нам нужно для описания понадобится около двадцати чисел - смотря сколько учеников в классе. Это небольшой объём данных. А теперь предположим, что мы захотели измерить рост всех учащихся в одной области. Это уже внушительный объём данных, и, чтобы дать представление о результатах исследования без этого большого массива чисел, используются некоторые характеристики. Одна из самых важных - среднее значение. Сколько человек - один класс или одну область - мы бы не обследовали, всегда можем дать представление о росте, усреднив его. Посчитать очень просто - просуммировали рост и разделили его на количество обследованных людей. Записывается математически так:
Если кому-то ближе программирование, чем математика, то представляйте значок суммы, как цикл
- int result = 0;
- for (int i = 1; i <= n; i++) {
- result += x[i];
- }
Пример: измерили рост пяти человек, получили значения: 175, 176, 173, 180, 172 в сантиметрах. Среднее равно: (175 + 176 + 173 + 180 + 172)/5 = 175,2 см. Всё просто.
Далее я покажу, как это посчитать в языке R, поскольку собираюсь пользоваться далее, но вдаваться в подробности особо не буду. Код можно будет запускать онлайн на http://www.r-fiddle.org/
В R существуют векторы для описания однотипных данных. Они создаются фукнцией c() (от combine или concatenate). Присвоение в R производится либо оператором =, как в большинстве языков, либо с помощью оператора <-, что более часто употребимо. Данные по росту из предыдущего примера можно описать следующим образом:
- height <- c(175, 176, 173, 180, 172)
Среднее в R вычисляется функцией mean(), которая принимает в качестве аргумента вектор чисел. Чтобы посчитать среднее по росту, вызовем функцию:
- mean(height)
> 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. Среднее значение, дисперсию, среднеквадратическое отклонение для суммы очков пары игральных кубиков. Проверить правило трёх сигм.