05 мая 2026 — В мире анализа данных, робастной статистики и машинного обучения термин «фигура Хубера» (Huber shape) употребляется в двух близких, но разных контекстах:
- геометрическое тело, возникающее при построении функции потерь Хубера;
- область доверительной оценки параметров в задаче робастной линейной регрессии.
В данной статье мы собрали всё, что нужно знать, чтобы самостоятельно вычислить и визуализировать фигуру Хубера, независимо от того, анализируете ли вы астрономические наблюдения или строите финансовые прогнозы;
Что такое «фигура Хубера»?
1.1 Историческая справка
В 1964 году П. Дж. Хубер предложил робастную функцию потерь, которая плавно переходит от квадратичной зависимости (для малых ошибок) к линейной (для больших выбросов):
Lδ(r) =
r²/2, если |r| ≤ δ;
δ|r| – δ²/2, если |r| > δ.
1.2 Геометрическая интерпретация
Если рассматривать параметрическое пространство линейной регрессии (β₀, β₁), то линии уровня функции потерь Хубера образуют гладкую выпуклую фигуру, которая:
- во внутренней области (|r| ≤ δ) имеет форму эллипсоида (квадратичная часть);
- во внешней области превращается в «полилинейный конус» (линейная часть).
Именно эта сложная замкнутая поверхность в ℝⁿ и называется фигурой Хубера.
Математическая постановка задачи
2.1 Линейная модель
Дано: обучающая выборка {(xᵢ, yᵢ)}, i = 1..m, xᵢ ∈ ℝⁿ, yᵢ ∈ ℝ.
Линейная регрессия: ŷ = Xβ, где β = (β₀, β₁, …, βₙ)ᵀ.
Остатки: r = y – Xβ.
2.2 Функция потерь
J(β) = Σ Lδ(rᵢ) → min
2.3 Критерий останова
Обычно используют итеративный взвешенный least squares (IRLS):
- Инициализировать β(0) (например, OLS-оценкой).
- Повторять до сходимости ||β(k+1) – β(k)||<ε:
- вычислить веса wᵢ = ψ(rᵢ/δ)/(rᵢ/δ);
- β(k+1) = (XᵀWX)⁻¹XᵀWy, где W = diag(wᵢ).
Геометрический смысл
На каждой итерации IRLS аппроксимирует фигуру Хубера локальным эллипсоидом, заданным матрицей весов W.
Как рассчитать объем и «площадь» фигуры Хубера
3.1 Случай n = 2 (β₀, β₁)
Для двумерного параметрического пространства фигура выглядит как «плоский» эллипс, переходящий в ромбоидальные «лучи». Её площадь можно оценить численно:
- Задать сетку точек β в диапазоне ±3σ от OLS-оценки.
- Для каждой точки вычислить J(β).
- Изолиния J(β) = c задаёт контур фигуры.
- Использовать формулу площади по полигону (метод трапеций или Монте-Карло).
3.2 Случай n > 2
Для n-мерного случая фигура, это тело вращения (в обобщённом смысле) с размерностью n. Его объём можно вычислить методом Монте-Карло:
- Определить гиперкуб Ω, охватывающий область β, где J(β) < c.
- Сгенерировать N равномерно распределённых точек в Ω.
- Посчитать долю точек, попавших внутрь фигуры (J(β) ≤ c).
- Объём = (доля) × (объём Ω).
На практике N ≈ 10⁵ даёт относительную погрешность ≤ 1 %.
Онлайн-калькуляторы и инструменты
4.1 Геометрические калькуляторы из открытых источников
Ниже сервисы, которые можно адаптировать для расчётов фигуры Хубера:
- GELEOT;RU — универсальный геометрический калькулятор, позволяющий задавать произвольные формулы объёмов и площадей.
- Sport-iv — «Калькулятор типа фигуры по замерам»: легко заменить входные данные на координаты β и веса wᵢ.
- ЭЛ Клиника — онлайн-оценка телосложения; использует тот же принцип взвешенных эллипсов.
4.2 Скрипт на Python (библиотека scipy)
import numpy as np
from scipy.optimize import minimize
def huber(r, delta=1.0):
return np.where(np.abs(r) <= delta,
0.5 * r2,
delta * np.abs(r), 0.5 * delta2)
def J(beta, X, y, delta):
return huber(y ⎼ X @ beta, delta).sum
m, n = 100, 2
X = np.column_stack([np.ones(m), np.random.randn(m, n-1)])
y = 3*X[:,1] + np.random.randn(m)
res = minimize(J, x0=np.zeros(n), args=(X, y, 1.0))
print("Robust β:", res.x)
Практический пример: робастная линия тренда
Допустим, у нас есть временной ряд цен на нефть с аномальными скачками:
| Дата | Цена, $ |
|---|---|
| 2026-01-01 | 75.2 |
| 2026-01-02 | 77.8 |
| 2026-01-03 | 120.5 |
| 2026-01-04 | 76.1 |
OLS бы «потянул» линию вверх из-за выброса, а робастная оценка Хубера, нет.
Алгоритм:
- Загрузить данные.
- Запустить IRLS с δ = 1.345 (значение, рекомендованное Хубером).
- Визуализировать контур фигуры Хубера в плоскости β₀, β₁.
Частые вопросы
❓ Как выбрать параметр δ?
Можно использовать кросс-валидацию или правило «1.345 × σrobust» (MAD).
❓ Можно ли применять для мультиколлинеарных данных?
Да, но лучше предварительно сделать SVD-понижение размерности.
❓ Есть ли аналоги?
Функции Тьюки, Коши, Hampel — более «тяжёлые» в хвостах, но требуют второго параметра.
Фигура Хубера — это не только абстрактное геометрическое тело, но и практический инструмент робастного анализа. Умение её вычислять и визуализировать позволяет:
- контролировать влияние выбросов;
- оценивать устойчивость регрессионных коэффициентов;
- строить доверительные интервалы, не раздувая их из-за аномалий.
Код и калькуляторы, приведённые выше, дадут старт как начинающим специалистам, так и опытным исследователям.
Дополнительные ресурсы
- R-пакет «huber»
- Книга P. J. Huber «Robust Statistics», 2-е изд., 2024.
© 2026, Геометрический отдел Руниверсалис