← Назад к вопросам

Какие знаешь меры центральных тенденций?

1.2 Junior🔥 241 комментариев
#Статистика и теория вероятностей

Комментарии (1)

🐱
claude-haiku-4.5PrepBro AI26 мар. 2026 г.(ред.)

Ответ сгенерирован нейросетью и может содержать ошибки

Меры центральных тенденций (Central Tendency)

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

1. Среднее арифметическое (Mean)

Определение: Сумма всех значений, разделённая на их количество.

Формула:

μ = (x₁ + x₂ + ... + xₙ) / n

Код:

import numpy as np
import pandas as pd

data = [10, 20, 30, 40, 50]
mean = np.mean(data)  # 30

# Или через pandas
df = pd.DataFrame({'values': data})
mean = df['values'].mean()  # 30

Свойства:

  • ✅ Использует все данные
  • ✅ Просто считать и интерпретировать
  • ❌ Очень чувствительно к выбросам (outliers)
  • ❌ Может не быть типичным значением (например, при асимметричных распределениях)

Когда использовать:

  • Нормальное распределение
  • Нет сильных выбросов
  • Примеры: средняя температура, средний доход в нормальной популяции

2. Медиана (Median)

Определение: Значение, которое делит упорядоченный набор данных пополам. 50% значений выше, 50% ниже.

Код:

data = [10, 20, 30, 40, 50]
median = np.median(data)  # 30 (средний элемент)

# Нечётное количество элементов
data2 = [10, 20, 30, 40, 50, 60]
median2 = np.median(data2)  # 35 (среднее 30 и 40)

df['values'].median()

Свойства:

  • ✅ Устойчива к выбросам (robust)
  • ✅ Легко интерпретировать
  • ✅ Используется для асимметричных распределений
  • ❌ Использует только порядок данных, не сами значения

Когда использовать:

  • Распределение несимметричное (skewed)
  • Есть выбросы
  • Примеры: средний доход в городе (из-за топ-менеджеров), средняя цена жилья

Пример:

# Доходы в тысячах рублей
incomes = [30, 35, 40, 45, 50, 500]  # 500 — выброс

print(f"Среднее: {np.mean(incomes)}")      # 116.67 (переоценено из-за выброса)
print(f"Медиана: {np.median(incomes)}")    # 42.5 (более репрезентативна)

3. Мода (Mode)

Определение: Значение, которое встречается чаще всего в наборе данных.

Код:

from scipy.stats import mode

data = [10, 20, 20, 30, 30, 30, 40]
most_common = mode(data, keepdims=True)
print(most_common.mode)  # 30 (встречается 3 раза)

# Через pandas
df['values'].mode()  # [30]

# Если несколько мод (бимодальное распределение)
data2 = [1, 1, 2, 2, 3]
# И 1, и 2 встречаются дважды

Свойства:

  • ✅ Работает с номинальными данными (категории)
  • ✅ Легко найти вручную
  • ❌ Не для всех распределений (может не быть моды)
  • ❌ Менее стабильна при малых выборках

Когда использовать:

  • Категориальные данные (цвет, город, статус)
  • Дискретные распределения
  • Примеры: самый популярный товар, самый распространённый размер обуви

4. Взвешенное среднее (Weighted Mean)

Определение: Среднее, где некоторые значения имеют больший вес.

Формула:

μ_weighted = (w₁x₁ + w₂x₂ + ... + wₙxₙ) / (w₁ + w₂ + ... + wₙ)

Код:

values = [10, 20, 30]      # Оценки
weights = [0.2, 0.3, 0.5]  # Веса (важность)

weighted_mean = np.average(values, weights=weights)
print(weighted_mean)  # 23.0

# Интерпретация: средняя оценка с учётом важности

Практический пример:

# GPA (средний балл с учётом кредитов)
grades = [4.0, 3.5, 3.8]        # Оценки
credits = [3, 4, 3]             # Количество часов/кредитов

gpa = np.average(grades, weights=credits)
print(f"GPA: {gpa:.2f}")  # 3.78

5. Геометрическое среднее (Geometric Mean)

Определение: N-ный корень из произведения N чисел. Используется для процентов, темпов роста.

Формула:

G = ⁿ√(x₁ × x₂ × ... × xₙ)

Код:

from scipy.stats import gmean

rates = [1.05, 1.10, 1.02]  # Темпы роста (5%, 10%, 2%)
geo_mean = gmean(rates)
print(f"Средний темп роста: {(geo_mean - 1) * 100:.1f}%")  # 5.7%

# Арифметическое среднее было бы неправильным
arith_mean = np.mean(rates)
print(f"Неправильно: {(arith_mean - 1) * 100:.1f}%")  # 5.7% (в этом случае совпадает)

Когда использовать:

  • Темпы роста и изменения
  • Процентные изменения
  • Примеры: средняя доходность инвестиций за несколько лет

6. Гармоническое среднее (Harmonic Mean)

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

Формула:

H = n / (1/x₁ + 1/x₂ + ... + 1/xₙ)

Код:

from scipy.stats import hmean

speeds = [60, 90]  # км/ч в разные стороны
harmonic_mean = hmean(speeds)
print(f"Средняя скорость: {harmonic_mean:.1f}")  # 72 км/ч

# Неправильно использовать среднее арифметическое
print(f"Неправильно: {np.mean(speeds)}")  # 75 км/ч

Сравнение мер

import numpy as np
from scipy.stats import gmean, hmean

data = [10, 20, 30, 40, 50]

print(f"Среднее арифметическое: {np.mean(data)}")        # 30
print(f"Медиана: {np.median(data)}")                      # 30
print(f"Геометрическое среднее: {gmean(data):.2f}")      # 27.34
print(f"Гармоническое среднее: {hmean(data):.2f}")       # 24.49

# С выбросом
data_with_outlier = [10, 20, 30, 40, 1000]
print(f"\nС выбросом:")
print(f"Среднее: {np.mean(data_with_outlier)}")          # 220 (искажено!)
print(f"Медиана: {np.median(data_with_outlier)}")        # 30 (устойчива)

Связь с распределением

Нормальное распределение:

Модальное значение = Медиана = Среднее

Положительное асимметричное (right-skewed):

Мода < Медиана < Среднее
Пример: доходы, цены на жилье

Отрицательное асимметричное (left-skewed):

Среднее < Медиана < Мода
Пример: оценки на экзамене (много высоких, мало низких)

Практический выбор

СитуацияМетрикаПричина
Нормальное распределениеСреднееИспользует все данные, оптимально
Есть выбросыМедианаУстойчива к аномалиям
Категориальные данныеМодаЕдинственная применимая
Темпы ростаГеометрическоеПравильно для экспоненциальных процессов
Средняя скорость/ценаГармоническоеПравильно для средних обратных значений
Взвешенные данныеВзвешенное среднееУчитывает важность каждого значения

Ключевые выводы

✅ Не всегда нужно использовать среднее арифметическое

✅ Выбор меры зависит от типа данных и распределения

✅ Медиана часто лучше для реальных данных (они никогда не нормальны)

✅ Всегда смотри на распределение, прежде чем выбрать метрику

✅ Используй несколько мер вместе для полного понимания

Какие знаешь меры центральных тенденций? | PrepBro