Випадковий ліс проти регресії


21

Я запустив регресійну модель OLS на наборі даних з 5 незалежними змінними. Незалежні змінні та залежні змінні є одночасно безперервними та лінійно пов'язаними. Площа R становить близько 99,3%. Але коли я запускаю те саме, використовуючи випадковий ліс у R, то мій результат '% Варіант пояснив: 88.42'. Чому випадковий лісовий результат настільки поступається регресії? Моє припущення було, що випадковий ліс буде принаймні таким же хорошим, як регресія OLS.


4
Якщо ваша мета - передбачити, вищий R-квадрат може бути пов'язаний з надмірним оснащенням. Спробуйте порівняти прогнози RN з прогнозами регресії за допомогою перехресної перевірки.
Маноел Галдіно

Відповіді:


27

Я точно не знаю, що ви зробили, тому ваш вихідний код міг би мені менше здогадатися.

Багато випадкових лісів, по суті, є вікнами, в межах яких середній рівень передбачається представляти систему. Це занадто прославлене дерево CAR.

Скажімо, у вас є двоколірне дерево CAR. Ваші дані будуть розділені на дві палі. (Постійний) вихід кожної купи буде її середнім.

Тепер давайте зробимо це 1000 разів із випадковими підмножинами даних. Ви все одно будете мати розривні регіони з результатами, які є середніми. Переможець в РФ - найчастіший результат. Це лише "пухнасті" межі між категоріями.

Приклад кускового лінійного виводу дерева CART:

Скажімо, наприклад, що наша функція y = 0,5 * x + 2. Сюжет цього виглядає наступним чином: Фігура 1

Якби ми моделювали це за допомогою одного класифікаційного дерева з лише двома листами, то ми б спочатку знайшли точку найкращого розщеплення, розщеплення в цій точці, а потім наблизили б вивід функції до кожного аркуша як середній вихід по листу.

сюжет із тривіальною КАРТКОЮ

Якби ми зробили це ще раз із більшим листям на дереві КАРТКИ, то ми могли б отримати наступне: введіть тут опис зображення

Чому CAR-ліси?

Ви можете бачити, що в межах нескінченного листя дерево CART було б прийнятним наближувачем.

Проблема в тому, що в реальному світі шумно. Нам подобається думати засобами, але світ любить як центральну тенденцію (середню), так і тенденцію змін (std dev). Шумить.

Те саме, що надає CAR-дереву його велику міцність, його здатність керувати розривом, робить його вразливим до моделювання шуму, як би сигналом.

Тож Лео Брейман висловив просту, але потужну пропозицію: використовуйте ансамблеві методи, щоб зробити дерева класифікації та регресії міцними. Він приймає випадкові підмножини (двоюрідний брат перезагрузки) і використовує їх для тренування лісу з CAR-дерев. Коли ви задаєте питання про ліс, весь ліс говорить, і найчастіша відповідь береться як вихід. Якщо ви маєте справу з числовими даними, може бути корисним розглянути очікування як вихід.

Тож для другого сюжету подумайте про моделювання з використанням випадкового лісу. Кожне дерево матиме випадковий підмножину даних. Це означає, що розташування "найкращої" точки розщеплення буде відрізнятися від дерева до дерева. Якщо ви повинні скласти графік виходу випадкового лісу, коли ви наближаєтесь до розриву, спочатку кілька гілок вказуватимуть на стрибок, а потім на багато. Середнє значення в цій області буде проходити плавним сигмоподібним шляхом. Запуск завантаження поєднується з гауссом, і розмиття Гаусса на цій кроковій функції стає сигмоїдною.

Нижні лінії:

Вам потрібно багато гілок на дерево, щоб отримати гарне наближення до дуже лінійної функції.

Існує багато "циферблатів", які ви можете змінити, щоб вплинути на відповідь, і навряд чи ви встановили їх усі на відповідні значення.

Список літератури:


Чи не лісова регресія RANDOM виконується з кусково-постійними функціями, що, очевидно, погано підходить до лінійно пов'язаних даних?
seanv507

Я думаю, ми говоримо те саме. Яка константа застосовується? правильно.
EngrStudent

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

@ seanv507 Перевага РФ полягає в тому, що множина дерев, що підходять до (випадкових підмножин) збурених версій даних, в середньому відзначають розриви. Результат - краще наближення до основної гладкої лінії, ніж те, що створювало б одне дерево.
Hong Ooi

Це по суті завантажувальне завантаження на дереві регресії. Одне з речей, яке мені не подобається у завантажувальному інструменті, - це те, що рівномірний розподіл вважається попереднім інформаційним. Хіба ідеальний випадок не є інформаційним попереднім?
EngrStudent

7

Я зауважую, що це старе питання, але я думаю, що слід додати більше. Як сказав @Manoel Galdino у коментарях, зазвичай вас цікавлять прогнози щодо небачених даних. Але це питання стосується ефективності даних тренінгу, і питання полягає в тому, чому випадковий ліс погано справляється з даними тренінгу ? Відповідь підкреслює цікаву проблему з мішковими класифікаторами, яка часто викликала у мене проблеми: регресія до середнього рівня.

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

Більш детально згадаймо, що випадковий ліс для регресії в середньому передбачає прогнози великої кількості класифікаторів. Якщо у вас є одна точка, яка далека від інших, багато класифікаторів її не побачать, і це, по суті, буде робити позапробне передбачення, що може бути не дуже добре. Фактично, ці позапробні прогнози, як правило, тягнуть прогноз для точки даних до загальної середньої величини.

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

Ось ілюстрація в Р. Створюються деякі дані, в яких yідеальна комбінація ліній з п'яти xзмінних. Потім робляться прогнози за допомогою лінійної моделі та випадкового лісу. Тоді значення yна даних тренувань будуються проти прогнозів. Ви чітко бачите, що випадковий ліс погано справляється в крайностях, оскільки точки даних з дуже великими або дуже малими значеннями yрідкісні.

Ви побачите ту саму схему для прогнозів щодо небачених даних, коли випадкові ліси використовуються для регресії. Я не впевнений, як цього уникнути. randomForestФункція R має опцію корекції зміщення сирої , corr.biasяка використовує лінійну регресію по косій, але це дійсно не працює.

Пропозиції вітаються!

beta <- runif(5)
x <- matrix(rnorm(500), nc=5)
y <- drop(x %*% beta)
dat <- data.frame(y=y, x1=x[,1], x2=x[,2], x3=x[,3], x4=x[,4], x5=x[,5])
model1 <- lm(y~., data=dat)
model2 <- randomForest(y ~., data=dat)
pred1 <- predict(model1 ,dat)
pred2 <- predict(model2 ,dat)
plot(y, pred1)
points(y, pred2, col="blue")

введіть тут опис зображення


Я погоджуюся з вашим спостереженням, але я став прихильником регресії РФ щодо середнього рівня в районах з малою кількістю даних. Добре, якщо хтось був впевнений у тому, щоб знайти гарну загальну лінійну структуру аж до кордону навчального набору, що підтримується лише декількома точками даних, тоді просто зробіть лінійну корекцію та дозвольте РФ піклуватися про залишки.
Сорен Хавелунд Веллінг

2
Дякуємо за коментар! У мене був неприємний досвід, коли він давав передбачення, які були дуже поганими і які змушували мене виглядати погано. Але, можливо, немає можливості отримати більш точні прогнози для прикордонних пунктів без збільшення дисперсії.
Flounderer

Додатковий коментар через роки, я помітив, що РФ має тенденцію до поганої роботи будь-де там, де є невеликий розрив у даних. Звичайно, часто є менше даних у крайніх наборах даних, але час від часу у вас може виникнути проміжок прямо в центрі. РФ може зробити правильний безлад набору даних з будь-якими прогалинами в ньому.
SeldomSeenSlim

2

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


0

Я думаю, що випадковий ліс (РФ) є хорошим інструментом, коли функціональна форма співвідношення між Xs і y є складною (через нелінійні співвідношення та ефект взаємодії). РФ класифікує Xs на основі найкращої точки вирішення (в терміні мінімальної SSE) і не застосовує дослідника інформацію про функціональну форму взаємозв'язку. З іншого боку, регресія OLS використовує цю інформацію. У вашому прикладі ви знаєте, який саме тип відносин між Xs і y і використовуєте всю цю інформацію у вашій регресійній моделі, але РФ не використовує цю інформацію.


-2

В основному, Регресія працює над суцільними змінними, а випадковий ліс над дискретними змінними.

Вам потрібно надати більш детальну інформацію про проблему та про природу змінних, щоб бути більш конкретними ...


Усі змінні щоденні доходи запасів (фінансовий часовий ряд) ...
користувач28906

3
"Регресія працює над суцільними змінними, а випадковий ліс над дискретними змінними.": Це взагалі не вірно. Існують розрізнення у виводі та передбаченні, і навіть при прогнозуванні бувають випадки, коли регрес буде кращим перед РФ.
AdamO
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.