Unlimited Plugins, WordPress themes, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. Python
Code

Математические модули в Python: статистика

by
Length:ShortLanguages:
This post is part of a series called Mathematical Modules in Python.
Mathematical Modules in Python: Decimal and Fractions
Mathematical Modules in Python: Statistics

Russian (Pусский) translation by Ilya Nikov (you can also view the original English article)

Статистический анализ данных помогает нам понять всю информацию в целом. У этого есть приложения во многих областях, таких как биостатистика и бизнес-аналитика.

Вместо того, чтобы проходить через отдельные точки данных, только один взгляд на их коллективное среднее значение или дисперсию может выявлять тенденции и функции, которые мы могли бы пропустить, наблюдая все данные в необработанном формате. Это также делает сравнение между двумя большими наборами данных более простым и понятным.

Учитывая эти потребности, Python предоставил нам модуль статистики.

В этом уроке вы узнаете о различных способах вычисления средних значений и измерения распространения заданного набора данных. Если не указано иное, все функции в этом модуле поддерживают в качестве входных данных наборы данных int, float, decimal и fraction.

Вычисление среднего

Вы можете использовать функцию mean(data) для вычисления среднего значения некоторых данных. Оно рассчитывается путем деления суммы всех точек данных на количество точек данных. Если данные пустые, будет генерироваться StatisticsError  Вот несколько примеров:

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

С помощью функции randint() ожидается, что среднее значение будет близким к среднему значению обеих крайностей и с треугольным распределением, оно должно быть близко к low + high + mode / 3.  Следовательно, среднее значение в первом и втором случае должно быть соответственно 50 и 60.33, что близко к тому, что мы на самом деле получили.

Вычисление mode

Среднее значение является хорошим показателем среднего значения, но несколько экстремальных значений могут привести к среднему значению, которое далеко от фактического центрального местоположения. В некоторых случаях более желательно определить наиболее частую точку данных в наборе данных. Функция mode() возвращает наиболее распространенную точку данных из дискретных числовых и нецифровых данных. Это единственная статистическая функция, которая может использоваться с нечисловыми данными.

mode случайно сгенерированных целых чисел в заданном диапазоне может быть любым из этих чисел, так как частота появления каждого числа непредсказуема. Три примера в приведенном выше фрагменте кода доказывают эту точку. Последний пример показывает нам, как мы можем вычислить mode нечисловых данных.

Вычисление медианы

Опора на mode для вычисления центрального значения может немного вводить в заблуждение. Как мы только что видели в предыдущем разделе, это всегда будет самая популярная точка данных, независимо от всех других значений в наборе данных. Другой способ определения центрального местоположения - это использование функции median(). Она возвращает медианное значение заданных числовых данных путем вычисления среднего из двух средних точек, если это необходимо. Если количество точек данных нечетное, фугкция возвращает среднюю точку. Если число точек данных четное, оно возвращает среднее значение двух медианных значений.

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

В последнем случае нижняя и верхняя медиана составляли 50 и 52. Это означает, что в нашем наборе данных не было точки данных со значением 51, но функция median() по-прежнему вычисляла медиану как 51,0.

Измерение распространения данных

Определение того, насколько отклоняются данные от типичного или среднего значения набора данных, не менее важно, чем вычисление самого центрального или среднего значения. Модуль статистики имеет четыре различные функции, которые помогают нам рассчитать этот разброс данных.

Вы можете использовать функцию pvariance(data, mu=None), чтобы вычислить дисперсию совокупности данных.

Второй аргумент в этом случае является необязательным. Значение mu, если оно предусмотрено, должно быть равно среднему из данных. Среднее значение рассчитывается автоматически, если значение отсутствует. Эта функция полезна, когда вы хотите вычислить дисперсию всей совокупности. Если ваши данные являются всего лишь выборкой населения, вы можете использовать функцию variance(data, xBar=None) для расчета дисперсии выборки. Здесь xBar является средним значением для данного образца и рассчитывается автоматически, если оно не предусмотрено.

Чтобы рассчитать стандартное определение популяции и стандартное отклонение выборки, вы можете использовать функции pstdev(data, mu=None) и stdev(data, xBar=None) соответственно.

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

Заключение

В этом последнем уроке серии мы узнали о различных функциях, доступных в модуле статистики. Возможно, вы заметили, что данные для функций были отсортированы в большинстве случаев, но это не обязательно. Я использовал отсортированные списки в этом учебнике, потому что они упрощают понимание того, как значение, возвращаемое различными функциями, связано с входными данными.

Advertisement
Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.