Вступ до сплайнів багатовимірної адаптивної регресії


Коли зв’язок між набором змінних предикторів і змінною відповіді є лінійним, ми часто можемо використовувати лінійну регресію , яка припускає, що зв’язок між заданою змінною предиктором і змінною відповіді має вигляд:

Y = β 0 + β 1 X + ε

Але на практиці зв’язок між змінними насправді може бути нелінійним, і спроба використати лінійну регресію може призвести до погано відповідної моделі.

Одним із способів врахування нелінійного зв’язку між предиктором і змінною відповіді є використання поліноміальної регресії , яка набуває вигляду:

Y = β 0 + β 1 X + β 2 X 2 + … + β h

У цьому рівнянні h називається «ступенем» полінома. Коли ми збільшуємо значення h , модель стає більш гнучкою та здатною адаптуватися до нелінійних даних.

Однак поліноміальна регресія має деякі недоліки:

1. Поліноміальна регресія може легко переповнити набір даних, якщо ступінь h вибрано занадто великим. На практиці h рідко перевищує 3 або 4, тому що за межами цієї точки воно просто відповідає шуму навчального набору і погано узагальнює невидимі дані.

2. Поліноміальна регресія накладає глобальну функцію на весь набір даних, яка не завжди є точною.

Альтернативою поліноміальній регресії є сплайни багатовимірної адаптивної регресії .

Основна ідея

Сплайни багатовимірної адаптивної регресії працюють таким чином:

1. Розділіть набір даних на k частин.

Спочатку ми розділяємо набір даних на k різних елементів. Точки, на які ми ділимо набір даних, називаються вузлами .

Ми ідентифікуємо вузли, оцінюючи кожну точку для кожного предиктора як потенційний вузол і створюючи модель лінійної регресії з використанням ознак-кандидатів. Точкою, здатною зменшити більшість помилок у моделі, є вузол.

Коли ми визначимо перший вузол, ми повторюємо процес, щоб знайти додаткові вузли. Ви можете знайти стільки вузлів, скільки вважаєте доцільним для початку.

2. Пристосуйте функцію регресії до кожної частини, щоб сформувати шарнірну функцію.

Після того, як ми виберемо вузли та підберемо регресійну модель для кожного елемента в наборі даних, ми отримаємо те, що називається шарнірною функцією , позначається h(xa) , де a — порогове значення (значення).

Наприклад, шарнірна функція для моделі з одним вузлом може бути:

  • y = β 0 + β 1 (4,3 – x), якщо x < 4,3
  • y = β 0 + β 1 (x – 4,3), якщо x > 4,3

У цьому випадку було визначено, що вибір 4.3 як порогового значення дозволив максимально зменшити помилку серед усіх можливих порогових значень. Потім ми адаптуємо іншу модель регресії до значень нижче 4,3 проти значень вище 4,3.

Шарнірна функція з двома вузлами може бути такою:

  • y = β 0 + β 1 (4,3 – x), якщо x < 4,3
  • y = β 0 + β 1 (x – 4,3), якщо x > 4,3 & x < 6,7
  • y = β 0 + β 1 (6,7 – x), якщо x > 6,7

У цьому випадку було визначено, що вибір 4.3 і 6.7 як порогових значень дозволив максимально зменшити помилку серед усіх можливих порогових значень. Потім ми адаптуємо одну модель регресії до значень нижче 4,3, іншу модель регресії – до значень між 4,3 і 6,7, а іншу модель регресії – до значень вище 4,3.

3. Виберіть k на основі k-кратної перехресної перевірки.

Нарешті, коли ми підібрали кілька різних моделей, використовуючи різну кількість вузлів для кожної моделі, ми можемо виконати k-кратну перехресну перевірку , щоб визначити модель, яка дає найменшу тестову середню квадратичну помилку (MSE).

Модель з найнижчим тестом MSE вибирається як модель, яка найкраще узагальнює нові дані.

Переваги та недоліки

Багатовимірні сплайни адаптивної регресії мають такі переваги та недоліки:

переваги :

  • Його можна використовувати як для задач регресії, так і для класифікації .
  • Це добре працює на великих наборах даних.
  • Він пропонує швидкий розрахунок.
  • Для цього не потрібно стандартизувати змінні предиктора.

Недоліки:

  • Він, як правило, не працює так добре, як нелінійні методи, такі як випадкові ліси та машини підвищення градієнта.

Як підігнати моделі MARS у R & Python

У наступних посібниках наведено покрокові приклади того, як підібрати сплайни багатовимірної адаптивної регресії (MARS) у R і Python:

Багатофакторні сплайни адаптивної регресії в R
Багатовимірні сплайни адаптивної регресії в Python

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *