Що таке Девіант? (конкретно в CART / rpart)


45

Що таке "Відхилення", як він обчислюється та якими є його використання в різних галузях статистики?

Зокрема, мене особисто цікавить його використання в CART (та його реалізація в rpart in R).

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

Відповіді:


48

Deviance та GLM

Формально можна розглядати відхилення як якусь відстань між двома імовірнісними моделями; у контексті GLM це два рази 1/0 коефіцієнти ймовірності журналу між двома вкладеними моделями \ ell_1 / \ ell_0, де 0 є "меншою" моделлю; тобто лінійне обмеження параметрів моделі (пор. лема Неймана – Пірсона ), як сказав @suncoolsu. Як такий, його можна використовувати для порівняння моделей . Це також можна розглядати як узагальнення RSS, що використовується при оцінці OLS (ANOVA, регресія), оскільки він забезпечує міру відповідності моделі, що оцінюється, порівняно з нульовою моделлю (лише перехоплення). Він також працює з LM:

> 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=1RSS/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=2kniklog(pik),

слідуючи нотаціям Venables і Ріплі ( MASS , Springer 2002, 4-е видання). Якщо у вас є доступ до цієї суттєвої довідки для користувачів R (IMHO), ви можете самостійно перевірити, як такий підхід використовується для розбиття вузлів та пристосування дерева до спостережуваних даних (стор. 255 ff.); в основному, ідея полягає в тому , щоб звести до мінімуму шляхом обрізки дерева, , де є число вузлів в дереві . Тут ми визнаємо вигідність складності витрат . Тут еквівалентно поняттю домішки вузла (тобто неоднорідності розподілу в заданому вузлі), які базуються на мірі ентропії або посилення інформації, або загальновідомому індексі Джині, визначеному якD+α#(T)#(T)TD 1 - k p 2 i kD1kpik2 (невідомі пропорції оцінюються із пропорцій вузла).

З деревом регресії, ідея дуже схожа, і ми можемо концептуалізувати девіантності як сума квадратів , певні для осіб поj

Di=j(yjμi)2,

підсумовується по всіх листках. Тут модель вірогідності, яка розглядається в кожному аркуші, - це гауссова . Цитуючи Venables і Ripley (стор. 256), " - звичайне масштабне відхилення для гауссового GLM. Однак розподіл у внутрішніх вузлах дерева тоді є сумішшю звичайних розподілів, і тому доцільний лише на листках. Процес побудови дерева повинен розглядатися як ієрархічне уточнення ймовірнісних моделей, дуже подібних до вибору змінної вперед в регресії ". Розділ 9.2 надає більш детальну інформацію про реалізацію, але ви вже можете переглянути функціюN(μi,σ2)DDirpartresiduals()rpart Об'єкт, де "залишки відхилення" обчислюються як квадратний корінь мінус удвічі більший за логарифм відповідної моделі.

Вступ до рекурсивного розподілу за допомогою підпрограм rpart Аткінсона та Терно також є гарним початком. Для більш загального огляду (включаючи мішки) я рекомендував би


1
+1 приємна відповідь chl, яка, як ви кажете, доповнює мою, тому проблем там немає. Дуже красиво поставлено.
Відновіть Моніку - Г. Сімпсон

Одна незначна річ - напевно, не найкраще використовувати lm.fitу вашому прикладі, оскільки це ім'я робочої коні позаду lm.
Відновіть Моніку - Г. Сімпсон

@Gavin О так, так. Думаю, що мені це нагадує, я часто роблю цю помилку ...
chl

3
Лише одне зауваження: для лінійної регресії відхилення дорівнює RSS, оскільки припущення про нормальність помилок передбачає, що RSS є таким самим, як і тестова статистика LR, що надалі передбачає, що Deviance зазвичай розподіляється незалежно від асимптотики . Це лише розширення (я думаю) лайливого коментаря chl.
suncoolsu

@suncoolsu Якщо мова йде про мій коментар щодо оцінки ML та OLS, так, я мав на увазі "припущення гауссового розподілу" для (тобто у лінійних моделях). Ваш коментар вітається. εi
chl

25

Це може бути трохи зрозуміліше, якщо ми подумаємо про ідеальну модель з такою ж кількістю параметрів, наскільки спостереження такі, що пояснюють всю розбіжність у відповіді. Це насичена модель. Девіант просто вимірює різницю в «підході» моделі-кандидата та насиченості моделі.

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

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

Di=1k=1Kpik2

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


(+1) Вибачте, моя публікація з’явилася пізніше, і я не помітив вашого. Оскільки я думаю, що вони не надто перекриваються, я покину свою, якщо ви не заперечуєте.
chl

Отже, відхилення - це міра корисності, чи не так? AFAIK, регресуючи, ми маємо деяку статистику (наприклад, RSS, ) для вимірювання придатності; і в класифікації ми могли б використовувати коефіцієнт неправильної класифікації. Маю рацію? R2
авокадо

11

Відхилення - це статистика коефіцієнта ймовірності для тестування нульової гіпотези про те, що модель дотримується загальної альтернативи (тобто насиченої моделі). Для деяких пуассонових та біноміальних ГЛМ кількість спостережень залишається фіксованим у міру збільшення кількості індивідуальних підрахунків. Тоді відхилення має асимптотичний нульовий розподіл у квадраті . Ступені свободи = N - p, де p - кількість параметрів моделі; тобто вона дорівнює числу вільних параметрів у насичених і ненасичених моделях. Потім відхилення забезпечує тест на відповідність моделі.N

Deviance=2[L(μ^|y)L(y|y)]

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

У цьому випадку приймається різниця відхилень:

ΔDeviance=2[L(μ1^|y)L(μ2^|y)]

Зауважте, що вірогідність журналу насиченої моделі скасовується, а ступінь свободи змінюється на . Це те, що ми використовуємо найчастіше, коли нам потрібно перевірити, чи є деякі параметри 0 чи ні. Але коли ви вписуєтесь у відхилення, вихід для насиченої моделі проти поточної моделі.p 2 - p 1ΔDeviancep2p1glmR

Якщо ви хочете прочитати докладніше: cf: Категоричний аналіз даних Алана Агресті, стор. 118


@Tal, я не використовую, rpartі відповідь залишаю досвідченим учасникам цього форуму.
suncoolsu

Думаю, у мене є ідея ... Але rpart друкує відхилення навіть для дерев регресії Oo
deps_stats

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