Девианс и GLM
Формально можно рассматривать отклонение как своего рода расстояние между двумя вероятностными моделями; в контексте GLM это больше логарифмического отношения правдоподобия между двумя вложенными моделями где - «меньшая» модель; то есть линейное ограничение на параметры модели (см. лемму Неймана – Пирсона ), как сказал @suncoolsu. Как таковой, он может быть использован для сравнения моделей . Это также можно рассматривать как обобщение RSS, используемого в оценке OLS (ANOVA, регрессия), поскольку оно обеспечивает меру соответствия модели, которая оценивается, по сравнению с нулевой моделью (только перехват). Это работает с LM тоже:ℓ1/ℓ0ℓ0
> x <- rnorm(100)
> y <- 0.8*x+rnorm(100)
> lm.res <- lm(y ~ x)
Остатки SS (RSS) вычисляются как , который легко получить как:ε^tε^
> t(residuals(lm.res))%*%residuals(lm.res)
[,1]
[1,] 98.66754
или из (нескорректированного)R2
> summary(lm.res)
Call:
lm(formula = y ~ x)
(...)
Residual standard error: 1.003 on 98 degrees of freedom
Multiple R-squared: 0.4234, Adjusted R-squared: 0.4175
F-statistic: 71.97 on 1 and 98 DF, p-value: 2.334e-13
поскольку где - полная дисперсия. Обратите внимание, что он непосредственно доступен в таблице ANOVA, напримерR2=1−RSS/TSSTSS
> summary.aov(lm.res)
Df Sum Sq Mean Sq F value Pr(>F)
x 1 72.459 72.459 71.969 2.334e-13 ***
Residuals 98 98.668 1.007
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Теперь посмотрим на отклонение:
> deviance(lm.res)
[1] 98.66754
Фактически, для линейных моделей отклонение равно RSS (вы можете вспомнить, что оценки OLS и ML в таком случае совпадают).
Девианс и КОРЗИНА
Мы можем рассматривать CART как способ выделения уже помеченных индивидов в произвольные классы (в контексте классификации). Деревья могут рассматриваться как обеспечивающие вероятностную модель для индивидуального членства в классе. Итак, на каждом узле мы имеем распределение вероятностей по классам. Здесь важно то, что листья дерева дают нам случайную выборку из полиномиального распределения, заданного . Таким образом, мы можем определить отклонение дерева как сумму по всем листамnipiknikpikD
Di=−2∑kniklog(pik),
после обозначений Venables и Рипли ( MASS , Springer 2002, 4-е изд.). Если у вас есть доступ к этой важной ссылке для пользователей R (IMHO), вы можете самостоятельно проверить, как такой подход используется для разделения узлов и подгонки дерева к наблюдаемым данным (стр. 255 и далее); в основном, идея заключается в том , чтобы свести к минимуму путем обрезки дерева, , где есть число узлов в дереве . Здесь мы признаем компромисс стоимости и сложности . Здесь эквивалентно концепции примеси узла (т. Е. Неоднородности распределения в данном узле), основанной на измерении энтропии или выигрыша информации, или на известном индексе Джини, определяемом какD+α#(T)#(T)TД 1 - Σ к р 2 я кD1−∑kp2ik (неизвестные пропорции оцениваются из пропорций узлов).
С деревом регрессии идея очень похожа, и мы можем осмыслить отклонение как сумму квадратов, определенных для индивидов :j
Di=∑j(yj−μi)2,
суммируется по всем листьям. Здесь вероятностная модель, которая рассматривается в каждом листе, представляет собой гауссовский . Цитируя Venables и Ripley (стр. 256), « - это обычное масштабированное отклонение для гауссовой GLM. Однако распределение во внутренних узлах дерева представляет собой смесь нормальных распределений, и поэтому подходит только для листьев. Процесс построения дерева следует рассматривать как иерархическое уточнение моделей вероятности, очень похожее на прямой выбор переменных в регрессии ". Раздел 9.2 предоставляет дополнительную подробную информацию о реализации, но вы уже можете посмотреть на функцию дляN(μi,σ2)DDirpart
residuals()
rpart
объект, где «остатки отклонения» вычисляются как квадратный корень из минус двойного логарифма подобранной модели.
Введение в рекурсивное разбиение с использованием процедур rpart , выполненное Аткинсоном и Терно, также является хорошим началом. Для более общего обзора (в том числе мешков), я бы порекомендовал