За свою ціну:
так 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
, інакше вони здаються подібними; наприклад, дерева умовних висновків можуть використовуватися в якості базових учнів для випадкових лісів.
Це приблизно, наскільки я можу отримати. Для отримання додаткової інформації вам справді потрібно прочитати документи. Зауважте, що я настійно рекомендую вам дійсно знати, що ви робите, коли хочете застосувати будь-який вид статистичного аналізу.