opisatelnie-statistiki

Описательные статистики

Начинаю цикл заметок на тему статистики.

Пишу в большей степени для себя, чтобы упорядочить знания в голове. На абсолютную полноту информации не претендую. Если кому-то еще будет полезно, замечательно.

Сегодня хочу написать несколько строк об описательных статистиках (мода, медиана, математическое ожидание, размах, дисперсия, среднеквадратическое отклонение).

Постараюсь формулировать все тезисы максимально простым и живым языком.

Итак. Поехали!

Вводные понятия

Для начала нужно разобраться, что такое генеральная совокупность и выборка.

Здесь все просто.

Предположим, мы захотели провести опрос и узнать, за кого люди будут голосовать на следующих президентских выборах.

Если мы умудримся опросить всё население страны, то будем иметь дело с генеральной совокупностью. То есть у нас будет информация обо всех гражданах по исследуемому вопросу.

Но, скорее всего, мы выберем для замеров какую-то (небольшую) часть людей из разных регионов. Таким образом мы получим выборку.

В большинстве практических задач мы имеем дело с неполными данными. У нас есть выборки, на основе которых мы делаем выводы, строим предсказательные модели и т.д.

Описательные статистики

Когда у нас есть данные о тысячах или миллионах людей, возникает естественное желание описать суть происходящего с помощью нескольких отдельных характеристик.

Для этого используются так называемые описательные статистики.

Меры центральной тенденции

Математическое ожидание

Интуитивно понятно, что одна из ключевых характеристик – это среднее значение в наших данных. Например, средний рост, средняя температура, средняя зарплата и т.п.

В статистике такая мера называется математическим ожиданием. Фактически это просто среднее значение признака.

Но этой характеристики не всегда достаточно. И не всегда она имеет практический смысл.

Яркий пример: средняя зарплата по стране не очень-то объективный показатель. Если в одной комнате собрать десять человек, пятеро из которых зарабатывают 40 000 тыс рублей в месяц, трое 80 000 рублей в месяц, а двое 1 000 000 рублей месяц, то среднее будет равно 244 000 рублей. Это число мало о чем говорит.
Но тут на помощь приходит еще одна описательная статистика.

Медиана

Давайте отсортируем людей из предыдущего примера по доходу – от самого низкого до самого высокого. В нашем случае это сделать очень просто.

img01

Теперь просто возьмем число, которое делит этот ряд пополам (на две равные части). Так как у нас в выборке десять чисел, то возьмем среднее между пятым и шестым значениями. Получается 60 000 рублей.

Медиана дает оценку, которая не чувствительна к крайним значениям выборки.

Фактически мы отфильтровали миллионеров и получили значение, которое довольно четко описывает реальное положение дел среди основной части людей.

Итак. Медиана – это статистика, которая, с одной стороны, схожа с математическим ожиданием (показывает некую усредненную оценку), но при этом отфильтровывает крайние значения.

Мода

Ну, тут совсем просто. Мода – это самое часто встречающееся значение (или значения) признака в наших данных. В вышеуказаном примере это 40 тыс.

Иногда есть необходимость выделить несколько часто встречающихся значений.

Моду, медиану и математическое ожидание легко посчитать в Python с помощью библиотеки  numpy или scipy:

  • Мат. ожидание (среднее): numpy.mean() и scipy.mean()
  • Медиана: numpy.median() и scipy.median()
  • Мода: scipy.stats.mode()

Меры изменчивости

Мода, медиана и математическое ожидание в том или ином виде дают усредненные оценки наших данных. Это, безусловно, полезно, но нам еще нужно как-то описать вариативность (изменчивость) в данных, чтобы иметь более полную картину.

Для этого есть такие статистики как дисперсия, среднеквадратическое отклонение и размах.

Размах – это просто разница между минимальным и максимальным значением признака. Проблема с этой метрикой в том, что она строится на основе только двух крайних значений:

    \[ x_{max} - x_{min} \]

Дисперсия – более интересная статистика. Она учитывает, насколько в среднем отклоняется каждый элемент в наших данных от среднего значения.

Формула для расчета:

    \[ D = \frac{ \sum (x_{i} - \mu)^2 }{n} \]

Квадрат в числителе берется не случайно. Дело в том, что если взять просто сумму отклонений, то в результате у нас получится ноль. Поэтому каждое слагаемое мы возводим в квадрат.

Недостаток дисперсии в том, что ее сложно сходу интерпретировать (как раз из-за возведения слагаемых в числителе в квадрат).

Среднеквадратическое отклонение – это квадратный корень из дисперсии.

    \[ \sigma =  \sqrt \frac{ \sum (x_{i} - \mu)^2 }{n} \]

Среднеквадратическое отклонение более наглядно. По нему гораздо проще понять, насколько в среднем отличаются значения признака от математического ожидания.

Важное уточнение! Указанная формула используется, когда речь идет о генеральной совокупности. Если мы хотим посчитать аналогичную характеристику для выборки, то используется такая  формула:

    \[ Sd =  \sqrt \frac{ \sum (x_{i} - \mu)^2 }{n-1} \]

Что изменилось:

  • Во-первых, среднеквадратическое отклонение для выборки принято обозначать как Sd (Standard Deviation).
  • Во-вторых, в знаменателе мы вычитаем из n единицу. Это действие обусловлено таким понятием как “степени свободы”. Об этом подробнее как-нибудь в другой раз.

Дисперсию и среднеквадратическое отклонение также можно посчитать в Python с помощью библиотеки  scipy, numpy:

  • Дисперсия: scipy.var(), numpy.var()
  • Среднеквадратическое отклонение: scipy.std(), numpy.std()
  • Чтобы корректно рассчитать дисперсию или среднеквадратическое отклонение для выборки, нужно передать в указанные функции параметр ddof=1 (как раз та самая единица, которую мы вычитали из n в знаменатале)

Перечисленные описательные статистики активно используются в различных задачах анализа данных.

Ссылка на использованное изображение: freepik

Leave a Reply

Your email address will not be published. Required fields are marked *