Дерева умовного висновку проти дерев традиційних рішень


97

Чи може хто-небудь пояснити первинні відмінності між умовними деревами висновку ( ctreeвід partyпакета в R) порівняно з більш традиційними алгоритмами дерева рішень (наприклад, rpartв R)?

  1. Що робить дерева CI різними?
  2. Сильні і слабкі сторони?

Оновлення: я розглянув статтю Horthorn та ін, про яку в коментарях посилається Чи. Я не зміг повністю дотримуватися цього - чи може хтось пояснити, як вибираються змінні за допомогою перестановок (наприклад, що таке функція впливу)?

Дякую!


1
Ви маєте на увазі пояснення, яке виходить за рамки того, що описано в роботі Готхорна ? Я пам'ятаю деякі цікаві ілюстрації з Carolin Штробля на IMPS2009 конференції; Я думаю, що на її веб-сайті є кілька роздаткових матеріалів.
chl

Це посилання показує порівняння різних форм пакетів дерев рішень r-bloggers.com/a-brief-tour-of-the-trees-and-forests
Archpaul

Відповіді:


93

За свою ціну:

так rpartі ctreeрекурсивно виконувати одномірні розколи залежною змінною на основі значень на множині ковариаций. rpartта пов'язані з ними алгоритми зазвичай використовують інформаційні заходи (наприклад, коефіцієнт Джині ) для вибору поточного коваріату.

ctree, за словами його авторів (див . коментарі до chl ), уникає наступних зміщення вибору змінних rpart(та пов'язаних з ними методів): Вони, як правило, вибирають змінні, які мають багато можливих розщеплень або багато відсутніх значень. На відміну від інших, ctreeдля вибору змінних замість вибору змінної, яка максимально збільшує інформаційну міру (наприклад, коефіцієнт Джині) , використовується процедура перевірки значущості.

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

Тепер для тестової статистики: вона обчислюється з перетворень (включаючи тотожність, тобто без перетворення) залежної змінної та коваріатів. Для обох змінних можна вибрати будь-яке з ряду перетворень. Для DV (залежної змінної) перетворення називається функцією впливу, про яку ви запитували.

Приклади (взяті з паперу ):

  • якщо і DV, і коваріати є числовими, ви можете вибрати перетворення ідентичності та обчислити кореляції між коваріатом та всіма можливими перестановками значень DV. Потім ви обчислюєте значення р- значення з цього тесту на перестановку і порівнюєте його з р-значеннями для інших коваріатів.
  • якщо і DV, і коваріати номінальні (не упорядковані категоричні), тестова статистика обчислюється з таблиці непередбачених ситуацій.
  • Ви можете легко скласти інші види тестових статистичних даних з будь-якого типу перетворень (включаючи перетворення ідентичності) з цієї загальної схеми.

невеликий приклад для тесту на перестановку в R:

require(gtools)
dv <- c(1,3,4,5,5); covariate <- c(2,2,5,4,5)
# all possible permutations of dv, length(120):
perms <- permutations(5,5,dv,set=FALSE) 
# now calculate correlations for all perms with covariate:
cors <- apply(perms, 1, function(perms_row) cor(perms_row,covariate)) 
cors <- cors[order(cors)]
# now p-value: compare cor(dv,covariate) with the 
# sorted vector of all permutation correlations
length(cors[cors>=cor(dv,covariate)])/length(cors)
# result: [1] 0.1, i.e. a p-value of .1
# note that this is a one-sided test

Тепер припустимо, у вас є набір коваріатів, а не лише один, як зазначено вище. Потім обчисліть p -значення для кожного з коваріатів, як у наведеній вище схемі, і виберіть одне з найменшим p -значенням. Ви хочете обчислити p -значення замість кореляцій безпосередньо, оскільки у вас могли бути коваріати різних видів (наприклад, числові та категоричні).

Після того, як ви вибрали коваріат, тепер вивчіть усі можливі розщеплення (або часто якось обмежене число всіх можливих розщеплень, наприклад, вимагаючи мінімальної кількості елементів DV перед розщепленням) знову оцінюючи тест на основі перестановки.

ctreeпоставляється з низкою можливих перетворень як для DV, так і для коваріатів (див. довідку Transformationsв partyупаковці).

тому, як правило, головна відмінність полягає в тому, що ctreeвикористовується схема коваріату відбору, яка базується на статистичній теорії (тобто відбір за допомогою значущих тестів на перестановці) і тим самим уникає потенційного зміщення rpart, інакше вони здаються подібними; наприклад, дерева умовних висновків можуть використовуватися в якості базових учнів для випадкових лісів.

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


Тож було б справедливо сказати наступне: 1. У принципі, якби тести на значимість були доступні і легко було обчислити Джині, то будь-який нинішній розробник дерева рішень міг би доповнити їх; 2. Але на практиці вони недоступні (тобто дуже важкі / неефективні для обчислення) для більшості випадків; 3. Автори дерев CI обрали одне сімейство критеріїв розщеплення. Це не обов'язково найкраща сім'я для точності класифікації, але принаймні для неї легко обчислити значення; 4. Отже, слабкістю дерев CI є те, що від вас вимагається використовувати цей конкретний критерій?
SheldonCooper

1
@SheldonCooper: 1. і 2. може бути трохи над головою. Я думаю, ти маєш рацію близько 3. і 4.
wolf.rauch

1
(...) та всі можливі перестановки значень DV "Усі можливі перестановки значень DV? На знаходження всіх можливих перестановок з 10 елементів потрібно понад 130 секунд. Це зробить дерева CI марними, коли у вас більше 20 спостережень. - додав модератор.
chl

1
Вибачте, але що означає DV?
mythicalprogrammer

1
@mythicalprogrammer залежна змінна, я думаю
Frikster
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.