Глава 7 Среднее значение
Среднее значение — это величина, представляющая “центральную тенденцию” набора чисел и находящаяся между крайними значениями этого набора. В математике, особенно в статистике, существует несколько видов средних (или “мер центральной тенденции”). Каждый из них пытается обобщить или типизировать данную группу данных, отражая их величину и знак. Выбор наиболее подходящей меры зависит от того, что измеряется, а также от контекста и цели.
7.0.0.1 Арифметическое среднее
Арифметическое среднее, также известное как “среднее арифметическое”, вычисляется как сумма значений, деленная на их количество. Арифметическое среднее набора чисел \(x_1, x_2, \ldots, x_n\) обычно обозначается с помощью черты над переменной, \(\bar{x}\). Если числа получены из выборки, то среднее называется выборочным средним (\(\bar{x}\)), чтобы отличать его от среднего генеральной совокупности (или математического ожидания), обозначаемого \(\mu\) или \(\mu_x\).
Арифметическое среднее (или просто среднее) массива чисел — это сумма всех чисел, деленная на их количество. Для выборки \(x_1, x_2, \ldots, x_n\) среднее обозначается как \(\bar{x}\) или \(\hat{x}\):
\[ \hat{x} = \frac{1}{n}\left(\sum_{i=1}^n{x_i}\right) = \frac{x_1 + x_2 + \cdots + x_n}{n} \]
Например, среднее пяти значений: 4, 36, 45, 50, 75:
\[ \frac{4 + 36 + 45 + 50 + 75}{5} = \frac{210}{5} = 42. \]
7.0.0.2 Геометрическое среднее (GM)
Геометрическое среднее полезно для наборов положительных чисел, которые интерпретируются через их произведение (например, темпы роста):
\[ \hat{x} = \left(\prod_{i=1}^n{x_i}\right)^\frac{1}{n} = \left(x_1 x_2 \cdots x_n\right)^\frac{1}{n} \]
Например, геометрическое среднее пяти значений: 4, 36, 45, 50, 75:
\[ (4 \times 36 \times 45 \times 50 \times 75)^\frac{1}{5} = \sqrt[5]{24\;300\;000} = 30. \]
Средняя геометрическая используется в расчетах средних темпов роста, например, колоний бактерий.
7.0.0.3 Взвешенное арифметическое среднее
Взвешенное арифметическое среднее используется, если каждое значение имеет неравное влияние в массиве, какие-то значения являются более важными, какие-то - менее:
\[ \hat{x} = \frac{\sum_{i=1}^n w_i \bar{x_i}}{\sum_{i=1}^n w_i} \]
где \(\hat{x_i}\) и \(w_i\) — среднее и размер выборки \(i\) соответственно.
Давайте рассмотрим примеры использования взвешенного арифметического среднего с весами в виде вероятностей и с весами в виде чисел.
7.0.1 Пример 1: Веса в виде вероятностей
Предположим, у нас есть три выборки с средними значениями \(\bar{x_1} = 10\), \(\bar{x_2} = 15\), и \(\bar{x_3} = 20\). Каждая выборка имеет вероятность быть выбранной из общей популяции: \(P_1 = 0.4\), \(P_2 = 0.3\), и \(P_3 = 0.3\). Эти вероятности можно использовать как веса.
Расчёт:
- Веса: \(w_1 = 0.4\), \(w_2 = 0.3\), \(w_3 = 0.3\)
- Средние значения: \(\hat{x_1} = 10\), \(\hat{x_2} = 15\), \(\hat{x_3} = 20\)
\[ \bar{x} = \frac{0.4 \times 10 + 0.3 \times 15 + 0.3 \times 20}{0.4 + 0.3 + 0.3} = \frac{4 + 4.5 + 6}{1} = \frac{14.5}{1} = 14.5 \]
7.0.2 Пример 2: Веса в виде чисел (размеры выборок)
Предположим, у нас есть три выборки с средними значениями \(\hat{x_1} = 10\), \(\hat{x_2} = 15\), и \(\hat{x_3} = 20\). Размеры этих выборок: \(n_1 = 100\), \(n_2 = 50\), и \(n_3 = 50\). Мы можем использовать размеры выборок как веса.
Расчёт:
- Веса: \(w_1 = 100\), \(w_2 = 50\), \(w_3 = 50\)
- Средние значения: \(\hat{x_1} = 10\), \(\hat{x_2} = 15\), \(\hat{x_3} = 20\)
\[ \hat{x} = \frac{100 \times 10 + 50 \times 15 + 50 \times 20}{100 + 50 + 50} = \frac{1000 + 750 + 1000}{200} = \frac{2750}{200} = 13.75 \]
В первом примере веса представляют вероятности, а во втором — размеры выборок. В зависимости от контекста, веса могут быть интерпретированы по-разному.
Реализация на R и Python
Код на R:
means <- c(50, 60, 70) # Средние значения
weights <- c(10, 20, 30) # Веса (размеры выборок)
weighted_mean <- sum(means * weights) / sum(weights)
print(paste("Взвешенное среднее:", weighted_mean))
## [1] "Взвешенное среднее: 63.3333333333333"
Код на Python:
import numpy as np
means = np.array([50, 60, 70]) # Средние значения
weights = np.array([10, 20, 30]) # Веса (размеры выборок)
weighted_mean = np.sum(means * weights) / np.sum(weights)
print(f"Взвешенное среднее: {weighted_mean}")
## Взвешенное среднее: 63.333333333333336
7.1 Усечённое среднее: методы вычисления и примеры применения
Усечённое среднее (англ. trimmed mean) — это статистический показатель, который используется для уменьшения влияния выбросов на оценку центральной тенденции. Усечённое среднее является устойчивым к выбросам аналогом среднего арифметического. Оно вычисляется путём удаления определённого процента наименьших и наибольших значений из выборки, после чего рассчитывается среднее арифметическое оставшихся данных. Этот метод особенно полезен в ситуациях, когда данные содержат аномальные значения, которые могут исказить результаты анализа.
Формально усечённое среднее определяется следующим образом:
- Упорядочить выборку по возрастанию: \(x_{(1)} \leq x_{(2)} \leq \dots \leq x_{(n)}\).
- Удалить \(k\) наименьших и \(k\) наибольших значений, где \(k = \lfloor \alpha n \rfloor\), \(\alpha\) — доля удаляемых данных с каждого конца.
- Вычислить среднее арифметическое оставшихся значений:
\[ \bar{x}_{\text{trimmed}} = \frac{1}{n - 2k} \sum_{i=k+1}^{n-k} x_{(i)}. \]
7.2 Теоретическое обоснование
7.2.1 Преимущества усечённого среднего
- Устойчивость к выбросам: Удаление крайних значений делает усечённое среднее менее чувствительным к аномалиям.
- Баланс между устойчивостью и эффективностью: В отличие от медианы, усечённое среднее использует больше информации из данных, сохраняя при этом устойчивость.
7.3 Пример вычисления усечённого среднего
7.3.2 Шаги вычисления
- Упорядочим выборку: \[ 2, 3, 5, 7, 11, 13, 17, 19, 23, 29. \]
- Выберем \(\alpha = 0.2\). Тогда \(k = \lfloor 0.2 \cdot 10 \rfloor = 2\).
- Удалим 2 наименьших и 2 наибольших значения: \[ 5, 7, 11, 13, 17, 19. \]
- Вычислим среднее арифметическое оставшихся значений: \[ \bar{x}_{\text{trimmed}} = \frac{5 + 7 + 11 + 13 + 17 + 19}{6} = \frac{72}{6} = 12. \]
7.4 Реализация на R и Python
7.4.1 Код на R
В R усечённое среднее можно вычислить с помощью функции mean()
с параметром trim
:
data <- c(2, 3, 5, 7, 11, 13, 17, 19, 23, 29) alpha <- 0.2 trimmed_mean <- mean(data, trim = alpha) print(paste(“Усечённое среднее:”, trimmed_mean))
Код на Python
python Copy from scipy.stats import trim_mean import numpy as np
data = np.array([2, 3, 5, 7, 11, 13, 17, 19, 23, 29]) alpha = 0.2 trimmed_mean = trim_mean(data, proportiontocut=alpha) print(f”Усечённое среднее: {trimmed_mean}“)