Для чего это стоит:
так rpart
и ctree
рекурсивно выполнять одномерные расколы зависимой переменной на основе значений на множестве ковариаций. rpart
и связанные алгоритмы обычно используют информационные меры (такие как коэффициент Джини ) для выбора текущего ковариата.
ctree
согласно его авторам (см . комментарии chl ) избегает следующего смещения выбора переменных rpart
(и связанных методов): они имеют тенденцию выбирать переменные, которые имеют много возможных расщеплений или много пропущенных значений. В отличие от других, ctree
используется процедура проверки значимости для выбора переменных вместо выбора переменной, которая максимизирует информационную меру (например, коэффициент Джини).
Тест значимости, или лучше: тесты множественной значимости, рассчитанные при каждом запуске алгоритма (выберите ковариацию - выберите расщепление - рекурсивный), являются тестами перестановки , то есть «распределение статистики теста при нулевой гипотезе получается путем вычисления все возможные значения тестовой статистики при перестановках меток на наблюдаемых точках данных ». (из статьи в википедии).
Теперь для тестовой статистики: она вычисляется из преобразований (включая тождество, то есть без преобразования) зависимой переменной и ковариат. Вы можете выбрать любое из нескольких преобразований для обеих переменных. Для DV (зависимая переменная) преобразование называется функцией влияния, о которой вы спрашивали.
Примеры (взяты из статьи ):
- если и DV, и ковариаты являются числовыми, вы можете выбрать преобразования идентичности и рассчитать корреляции между ковариатой и всеми возможными перестановками значений DV. Затем вы вычисляете p- значение из этого теста перестановки и сравниваете его с p-значениями для других ковариат.
- если и 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
противном случае они кажутся похожими; Например, деревья условного вывода могут использоваться в качестве базовых учащихся для случайных лесов.
Это примерно, насколько я могу получить. Для получения дополнительной информации вам действительно нужно прочитать документы. Обратите внимание, что я настоятельно рекомендую вам действительно знать, что вы делаете, когда хотите применить какой-либо статистический анализ.