Преобразование Бокса-Кокса (Box-Cox transformation) — это семейство параметрических преобразований, разработанное статистиками Джорджем Боксом и Дэвидом Коксом в 1964 году. Его основная цель — стабилизировать дисперсию данных и сделать их распределение как можно более близким к нормальному (гауссовому). Это одно из самых известных и широко используемых преобразований в статистике и анализе данных.
Основная идея
Многие статистические методы (например, линейная регрессия, ANOVA, t-тесты) строятся на предположении, что остатки модели распределены нормально и что дисперсия ошибок постоянна (гомоскедастичность). Если исходные данные имеют скошенное (асимметричное) распределение или их дисперсия зависит от среднего, преобразование Бокса-Кокса помогает “исправить” эти проблемы.
Формула
Преобразование определяется параметром λ (лямбда) и применяется только к строго положительным данным (x > 0).
\begin{cases}
\frac{x^\lambda - 1}{\lambda}, & \text{если } \lambda \neq 0 \\
\ln(x), & \text{если } \lambda = 0
\end{cases}$$
**Как это работает:**
* При **λ = 1**: Преобразование сводится к линейному сдвигу `(x - 1)`. Данные практически не меняются.
* При **λ = 0.5**: Квадратный корень (с некоторым сдвигом).
* При **λ = 0**: **Натуральный логарифм**. Это очень частый и полезный случай.
* При **λ = -1**: **Обратное преобразование** `(1 - 1/x)`.
* Другие значения λ позволяют получить целый спектр преобразований, "выправляющих" распределение.
### Как выбирается параметр λ?
Значение λ подбирается **автоматически** по данным, чтобы максимизировать логарифмическую функцию правдоподобия. Фактически, алгоритм перебирает множество значений λ и выбирает то, при котором распределение преобразованных данных становится максимально близким к нормальному (часто это соответствует наибольшему значению коэффициента корреляции на QQ-plot).
### Обратное преобразование
Важное свойство — возможность вернуться к исходной шкале с помощью **обратного преобразования**:
$$x =
\begin{cases}
(\lambda y + 1)^{1/\lambda}, & \text{если } \lambda \neq 0 \\
e^{y}, & \text{если } \lambda = 0
\end{cases}$$
где `y` — преобразованные данные.
### Преимущества и недостатки
**Плюсы:**
1. **Мощный и гибкий:** Эффективно справляется с правосторонней скошенностью данных.
2. **Параметрический:** Наличие параметра λ позволяет найти оптимальное преобразование для конкретного набора данных.
3. **Интерпретируемость:** Имеет четкую математическую основу и логическую связь между λ и видом преобразования.
**Минусы:**
1. **Только для положительных данных:** Главное и самое строгое ограничение. Если в данных есть нули или отрицательные числа, преобразование Бокса-Кокса неприменимо (для этого используют **преобразование Йео-Джонсона**).
2. **Потеря интерпретации:** После преобразования исходные единицы измерения теряются, что затрудняет прямое понимание коэффициентов в регрессионных моделях.
3. **Не гарантирует идеальную нормальность:** Оно стремится к нормальности, но не всегда достигает её, особенно в случае сложных распределений.
### Где применяется?
1. **Статистическое моделирование:** Подготовка данных для регрессионного анализа, временных рядов, где важно соблюдение предположения о нормальности остатков.
2. **Машинное обучение:** Как метод предобработки числовых признаков для алгоритмов, чувствительных к масштабу и распределению данных (например, линейные модели, k-ближайших соседей).
3. **Стандартизация дисперсии:** В задачах, где дисперсия в разных группах данных непостоянна.
### Связь с преобразованием Йео-Джонсона
**Йео-Джонсон** — это прямое развитие и обобщение Бокса-Кокса. Оно решает его главную проблему, вводя кусочно-заданную функцию, которая работает с данными любого знака. Поэтому сегодня в машинном обучении (например, в `scikit-learn`) часто предпочитают использовать именно преобразование Йео-Джонсона как более универсальное.
Преобразование Бокса-Кокса — это классический, математически обоснованный метод нормализации данных, который сыграл огромную роль в развитии статистики. Его понимание важно, но на практике сегодня часто используют его более современный и универсальный аналог — [[Преобразование Йео-Джонсона|преобразование Йео-Джонсона]].