🔬 Фундаментальні концепції регресії
Що таке регресійний аналіз?
Регресійний аналіз — це метод дослідження залежності між залежною змінною (target, outcome) та однією або кількома незалежними змінними (features, predictors). Мета полягає в тому, щоб знайти математичну функцію, яка найкраще описує цю залежність та дозволяє передбачати значення залежної змінної для нових спостережень.
Регресія відрізняється від кореляції тим, що не тільки показує зв'язок між змінними, але й дозволяє передбачати значення однієї змінної на основі інших. Це робить регресію потужним інструментом для прогнозування та прийняття рішень в різних галузях від економіки до медицини.
Типи регресії
Проста лінійна регресія: один predictor та одна target змінна. Формула: y = β₀ + β₁x + ε , де β₀ — intercept, β₁ — slope, ε — помилка.
Множинна лінійна регресія: кілька predictors: y = β₀ + β₁x₁ + β₂x₂ + ... + βₙxₙ + ε . Дозволяє враховувати вплив багатьох факторів одночасно.
Поліноміальна регресія: використовує поліноми ознак для моделювання нелінійних залежностей. Форма: y = β₀ + β₁x + β₂x² + ... + βₙxⁿ .
Логістична регресія: технічно метод класифікації, але базується на регресійному підході для передбачення ймовірностей класів.
Математичні основи
Лінійна регресія шукає найкращу лінію (або гіперплощину в багатовимірному випадку), яка мінімізує суму квадратів помилок (SSE) між передбаченими та реальними значеннями:
Це відоме як метод найменших квадратів (OLS — Ordinary Least Squares). Рішення знаходиться через аналітичні формули або ітеративні алгоритми як gradient descent для великих датасетів.
Коефіцієнти β знаходяться шляхом мінімізації функції втрат. Для лінійної регресії існує замкнена форма рішення через нормальне рівняння, що робить обчислення ефективним.
SSE = Σ(yᵢ - ŷᵢ)² = Σ(yᵢ - (β₀ + β₁xᵢ))²
🎯 Методи регресії
1. Лінійна регресія
Лінійна регресія — це фундаментальний метод, який передбачає лінійну залежність між predictors та target змінною. Вона проста, інтерпретована та слугує відмінним baseline для більш складних методів.
Припущення: лінійність (залежність лінійна), незалежність помилок, гомоскедастичність (постійна variance помилок), нормальність помилок, відсутність мультиколінеарності.
Переваги: швидка, інтерпретована (коефіцієнти показують вплив кожного predictor), не потребує налаштування гіперпараметрів, надійна та стабільна.
Недоліки: припускає лінійність, чутлива до outliers, може мати погане узагальнення при складних залежностях.
Застосування: економічне моделювання, прогнозування продажів, аналіз трендів, baseline для порівняння з складнішими методами.
2. Ridge Regression
Ridge Regression додає L2 регуляризацію до лінійної регресії, додаючи штраф за великі коефіцієнти. Це допомагає зменшити overfitting та покращити узагальнення, особливо коли є багато ознак або вони корельовані.
Функція втрат: SSE + λΣβᵢ² , де λ — regularization parameter (alpha). Більші значення λ → більше регуляризації → менші коефіцієнти, але можлива недолічна підгонка.
Переваги: зменшує overfitting, добре працює з мультиколінеарністю (корельованими ознаками), всі ознаки залишаються в моделі (зменшує, але не усуває коефіцієнти), стабільніше рішення.
Недоліки: не виконує feature selection (усуває неважливі ознаки), потребує вибору α, всі ознаки залишаються в моделі.
Вибір α: використовується cross-validation для знаходження оптимального значення. Ridge часто кращий за звичайну лінійну регресію, особливо з багатьма ознаками.
3. Lasso Regression
Lasso (Least Absolute Shrinkage and Selection Operator) додає L1 регуляризацію, яка може повністю усунути деякі коефіцієнти (зробити їх нульовими), виконуючи автоматичний feature selection.
Функція втрат: SSE + λΣ|βᵢ| . L1 penalty призводить до спарсних рішень (багато нульових коефіцієнтів), що робить Lasso корисним для feature selection.
Переваги: автоматичний feature selection (усуває неважливі ознаки), зменшує overfitting, полегшує інтерпретацію моделі (менше ознак), добре працює з багатьма ознаками.
Недоліки: може випадково усунути важливі ознаки, нестабільний при високій кореляції ознак, може залишати лише одну з корельованих ознак.
Elastic Net: комбінує L1 та L2 регуляризацію, отримуючи переваги обох методів. Добре працює коли є багато корельованих ознак.
4. Поліноміальна регресія
Поліноміальна регресія використовує поліноміальні функції ознак для моделювання нелінійних залежностей. Наприклад, квадратичні або кубічні терміни дозволяють моделі вигинатися та захоплювати складніші патерни.
Форма: y = β₀ + β₁x + β₂x² + β₃x³ + ... . Ступінь полінома контролює складність кривої.
Переваги: може моделювати нелінійні залежності, гнучка в налаштуванні складності, може захопити взаємодії між ознаками.
Недоліки: дуже схильна до overfitting (високі ступені → дуже складні криві), обчислювально дорога для високих ступенів, потребує обережного вибору ступеня полінома.
Застосування: фізичні моделі, криві росту, температурні залежності, де відомо, що залежність нелінійна.
5. Decision Tree Regression
Decision Trees можуть використовуватися не тільки для класифікації, але й для регресії. Замість передбачення класу, вони передбачають середнє значення target у листкових вузлах.
Як працює: Рекурсивно ділить простір ознак на регіони, кожен з яких має своє передбачене значення (середнє значення target у цьому регіоні).
Переваги: може моделювати складні нелінійні залежності, інтерпретований, не потребує нормалізації даних, автоматично обробляє взаємодії.
Недоліки: схильний до overfitting, нестабільний (малі зміни → великі зміни структури), може мати погане узагальнення.
Покращення: Random Forest Regression, Gradient Boosting Regression зменшують overfitting та покращують точність.
6. Support Vector Regression (SVR)
SVR — варіант SVM для регресії. Замість знаходження гіперплощини для розділення класів, SVR знаходить функцію, яка має не більше ε відхилення від реальних значень для навчальних даних та максимально плоска.
Концепція ε-tube: SVR ігнорує помилки, менші за ε, фокусуючись на більших помилках. Це робить SVR стійким до outliers.
Kernel trick: Як і в SVM, SVR може використовувати kernels для нелінійної регресії без явного перетворення в високовимірний простір.
Переваги: стійкий до outliers, може моделювати нелінійні залежності через kernels, ефективний для високовимірних даних.
Недоліки: потребує налаштування C, ε та kernel parameters, може бути повільним на великих датасетах, менш інтерпретований.
📊 Метрики оцінки регресії
Mean Squared Error (MSE)
MSE — середня квадратів помилок: MSE = (1/n)Σ(yᵢ - ŷᵢ)² . Карає великі помилки сильніше за маленькі через квадрат. Одиниці — квадрат одиниць target змінної.
Переваги: диференційована (важливо для оптимізації), чутлива до outliers, широко використовується.
Недоліки: одиниці не інтуїтивні (квадрат), може бути оманливою через великий вплив outliers.
Root Mean Squared Error (RMSE)
RMSE = √MSE — квадратний корінь з MSE. Має ті ж одиниці, що й target змінна, що робить її більш інтуїтивною.
Переваги: інтуїтивні одиниці, збережує властивості MSE щодо великих помилок.
Недоліки: все ще чутлива до outliers.
Mean Absolute Error (MAE)
MAE = (1/n)Σ|yᵢ - ŷᵢ| — середня абсолютних помилок. Менш чутлива до outliers за MSE/RMSE, оскільки не квадратує помилки.
Переваги: стійка до outliers, інтуїтивна інтерпретація, ті ж одиниці що й target.
Недоліки: не диференційована в нулі (може бути проблемою для деяких алгоритмів), не карає великі помилки так сильно.
R² (Coefficient of Determination)
R² = 1 - (SS_res / SS_tot), де SS_res — сума квадратів залишків, SS_tot — сума квадратів відхилень від середнього. Вимірює частку variance у target, пояснену моделлю.
Інтерпретація: R² = 1 — ідеальна модель, R² = 0 — модель не краща за середнє, R² < 0 — модель гірша за середнє.
Недоліки: завжди зростає з додаванням ознак (навіть неважливих), може бути оманливим.
Adjusted R²: коригує R² на кількість predictors: Adj R² = 1 - [(1-R²)(n-1)/(n-p-1)] , де p — кількість ознак. Краще для порівняння моделей з різною кількістю ознак.
Інші метрики
MAPE (Mean Absolute Percentage Error): MAPE = (100/n)Σ|(yᵢ - ŷᵢ)/yᵢ| — відсоткова помилка. Корисно для порівняння моделей з різними масштабами.
Median Absolute Error: медіана абсолютних помилок — дуже стійка до outliers.
Explained Variance Score: схожа на R², але може бути від'ємною для поганих моделей.
Спробуйте наживо
Усе, що вище, працює прямо у вашому браузері — відкрийте Hash Function Avalanche Visualizer і змінюйте параметри під час роботи. Нічого не встановлюється, нічого не завантажується на сервер, уся модель живе в одній вкладці.
▶ Відкрити симуляцію Hash Function Avalanche Visualizer