Co to jest Deviance? (szczególnie w CART / rpart)

45

Co to jest „dewiacja”, jak jest obliczana i jakie jest jej zastosowanie w różnych dziedzinach statystyki?

W szczególności jestem osobiście zainteresowany jego zastosowaniami w CART (i jego implementacją w rpart w R).

Pytam o to, ponieważ artykuł na wiki wydaje się nieco brakuje, a twoje spostrzeżenia będą mile widziane.

Tal Galili
źródło

Odpowiedzi:

48

Deviance and GLM

Formalnie można postrzegać dewiację jako rodzaj odległości między dwoma modelami probabilistycznymi; w kontekście GLM jest to dwukrotność ilorazu prawdopodobieństw między dwoma zagnieżdżonymi modelami gdzie jest modelem „mniejszym”; to znaczy liniowe ograniczenie parametrów modelu (por. lemat Neymana-Pearsona ), jak powiedział @suncoolsu. Jako taki może służyć do porównywania modeli . Można to również postrzegać jako uogólnienie RSS wykorzystywanego w estymacji OLS (ANOVA, regresja), ponieważ zapewnia miarę dobroci dopasowania ocenianego modelu w porównaniu z modelem zerowym (tylko przechwytywanie). Działa również z LM:1/00

> x <- rnorm(100)
> y <- 0.8*x+rnorm(100)
> lm.res <- lm(y ~ x)

Resztki SS (RSS) oblicza się jako , który można łatwo otrzymać jako:ε^tε^

> t(residuals(lm.res))%*%residuals(lm.res)
         [,1]
[1,] 98.66754

lub z (niedostosowanego)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 

ponieważ gdzie jest całkowitą wariancją. Pamiętaj, że jest on dostępny bezpośrednio w tabeli ANOVA, na przykładR2=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 

Teraz spójrz na dewiację:

> deviance(lm.res)
[1] 98.66754

W rzeczywistości w przypadku modeli liniowych odchylenie jest równe RSS (możesz pamiętać, że szacunki OLS i ML pokrywają się w takim przypadku).

Deviance and CART

Widzimy CART jako sposób na przydzielenie już oznakowanych osób do dowolnych klas (w kontekście klasyfikacji). Drzewa mogą być postrzegane jako model prawdopodobieństwa przynależności do klasy indywidualnej. Zatem w każdym węźle mamy rozkład prawdopodobieństwa między klasami. Ważne jest tutaj to, że liście drzewa dają nam losową próbkę z wielomianowego rozkładu określonego przez . Możemy zatem zdefiniować dewiację drzewa, , jako sumę wszystkich liścinipiknikpikD

Di=2kniklog(pik),

zgodnie z zapisami Venables i Ripleya ( MASS , Springer 2002, wydanie 4). Jeśli masz dostęp do tego niezbędnego odniesienia dla użytkowników R (IMHO), możesz sam sprawdzić, jak takie podejście jest stosowane do dzielenia węzłów i dopasowywania drzewa do obserwowanych danych (s. 255 i nast.); Zasadniczo chodzi o to, aby zminimalizować, przez przycinanie drzew, , gdzie jest liczba węzłów w drzewie . Tutaj mamy rozpoznać koszt złożoność kompromisu . Tutaj jest równoważne koncepcji zanieczyszczenia węzła (tj. Niejednorodności rozkładu w danym węźle), które są oparte na miary entropii lub przyrostu informacji lub dobrze znanym indeksie Gini, zdefiniowanym jakoD+α#(T)#(T)TDD1kpik2 (nieznane proporcje są szacowane na podstawie proporcji węzłów).

W przypadku drzewa regresji pomysł jest dość podobny i możemy konceptualizować dewiację jako sumę kwadratów zdefiniowanych dla jednostek przezj

Di=j(yjμi)2,

zsumowane na wszystkich liściach. Tutaj modelem prawdopodobieństwa rozważanym w każdym liściu jest gaussian . Cytując Venables i Ripley (s. 256): „ jest zwykle skalowaną dewiacją dla GLM gaussowskiego. Jednak rozkład w wewnętrznych węzłach drzewa jest wówczas mieszaniną rozkładów normalnych, a zatem jest odpowiednie tylko dla liści. Proces budowy drzewa należy postrzegać jako hierarchiczne udoskonalenie modeli prawdopodobieństwa, bardzo podobne do selekcji zmiennych w przód w regresji ”. Sekcja 9.2 zawiera dalsze szczegółowe informacje na temat implementacji, ale możesz już sprawdzić funkcjęN(μi,σ2)DDirpartresiduals()rpart obiekt, w którym „reszty odchylenia” są obliczane jako pierwiastek kwadratowy z minus dwukrotność logarytmu dopasowanego modelu.

Dobrym początkiem jest także wprowadzenie do partycjonowania rekurencyjnego przy użyciu procedur rpart autorstwa Atkinsona i Therneau. W celu bardziej ogólnej oceny (w tym pakowania) polecam

chl
źródło
1
+1 fajna odpowiedź chl, która, jak mówisz, uzupełnia moją, więc nie ma problemów. Bardzo ładnie ułożone.
Przywróć Monikę - G. Simpson
Jedna drobna rzecz - prawdopodobnie nie najlepiej użyć lm.fitw twoim przykładzie, ponieważ jest to nazwa konia roboczego za nią lm.
Przywróć Monikę - G. Simpson
@Gavin Och, tak, zgadza się. Dziękuję za przypomnienie, że często popełniam ten błąd ...
chl
3
Tylko jedna uwaga: w przypadku regresji liniowej dewiacja jest równa RSS, ponieważ założenie o normalności błędów sugeruje, że RSS jest takie samo jak statystyka testowa LR, co dodatkowo sugeruje, że dewiacja jest normalnie dystrybuowana, niezależnie od asymptotyków . To tylko rozwinięcie (jak sądzę) zwięzłego komentarza chl.
suncoolsu 27.01.11
@ suncoolsu Jeśli chodzi o mój komentarz na temat oszacowań ML i OLS, tak miałem na myśli „przyjęcie rozkładu gaussowskiego” dla (tj. w modelach liniowych). Twój komentarz jest mile widziany. εi
chl
25

To może być nieco jaśniejsze, jeśli pomyślimy o idealnym modelu z tyloma parametrami, co obserwacjami, które wyjaśniają wszystkie wariancje odpowiedzi. To jest model nasycony. Odchylenie po prostu mierzy różnicę w „dopasowaniu” modelu kandydującego i modelu nasyconego.

W drzewie regresji nasyconym modelem byłby taki, który miałby tyle węzłów końcowych (liści), co obserwacje, więc idealnie pasowałby do odpowiedzi. Odchylenie prostszego modelu można obliczyć jako resztkowe sumy kwadratów w węźle, zsumowane we wszystkich węzłach. Innymi słowy, suma kwadratów różnic między przewidywanymi a obserwowanymi wartościami. Jest to ten sam rodzaj błędu (lub dewiacji), jaki zastosowano w regresji metodą najmniejszych kwadratów.

W przypadku drzewa klasyfikacji resztkowe sumy kwadratów nie są najwłaściwszą miarą braku dopasowania. Zamiast tego istnieje alternatywna miara dewiacji, a drzewa można budować, minimalizując miarę entropii lub indeks Gini. Ta ostatnia jest domyślna w rpart. Indeks Gini jest obliczany jako:

Di=1k=1Kpik2

gdzie jest zaobserwowanym udziałem klasy w węźle . Miara ta jest sumowana dla wszystkich końcowych węzłów w drzewie, aby uzyskać odchylenie dla dopasowanego modelu drzewa.pikkii

Przywróć Monikę - G. Simpson
źródło
(+1) Przepraszamy, mój post przyszedł później i nie zauważyłem twojego. Ponieważ uważam, że nie nakładają się one zbytnio, opuszczę moje, jeśli nie masz nic przeciwko.
chl
Więc dewiacja jest miarą dobroci dopasowania, prawda? AFAIK, w regresji mamy pewne statystyki (takie jak RSS, ) do mierzenia dobrych dopasowania; a w klasyfikacji możemy użyć wskaźnika błędnej klasyfikacji. Czy mam rację? R2
awokado
11

Odchylenie jest statystyką ilorazu wiarygodności do testowania hipotezy zerowej, że model utrzymuje ponownie ogólną alternatywę (tj. Model nasycony). W przypadku niektórych GLM Poissona i dwumianowych liczba obserwacji pozostaje stała, gdy poszczególne liczby rosną. Następnie dewiacja ma asymptotyczny rozkład zerowy chi-kwadrat . Stopnie swobody = N - p, gdzie p jest liczbą parametrów modelu; tzn. jest równa liczbie wolnych parametrów w modelach nasyconych i nienasyconych. Odchylenie zapewnia następnie test dopasowania modelu.N

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

Jednak w większości przypadków chcesz przetestować, czy musisz upuścić niektóre zmienne. Powiedzieć, że są dwa modele i z i parametrów, odpowiednio, i trzeba do testu, który z tych dwóch jest lepszy. Załóżmy, że jest szczególnym przypadkiem tj. Modeli zagnieżdżonych. M1M2p1p2M1M2

W takim przypadku przyjmuje się różnicę dewiacji:

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

Zauważ, że prawdopodobieństwo dziennika nasyconego modelu anuluje się, a stopień swobody zmienia się na . Tego najczęściej używamy, gdy musimy sprawdzić, czy niektóre parametry są równe 0 czy nie. Ale kiedy zmieścić w wyjściu dewiacji jest dla nasyconej modelu vs obecnego modelu.p 2 - P 1ΔDeviancep2p1glmR

Jeśli chcesz przeczytać bardziej szczegółowo: patrz: Analiza danych kategorycznych Alana Agresti, s. 118.

suncoolsu
źródło
@Tal, nie korzystam rparti pozostawię odpowiedź bardziej doświadczonym członkom tego forum.
suncoolsu
Chyba mam pomysł ... Ale drukuje rpart dewiacji nawet dla drzew regresji Oo
deps_stats
@deps_stats, że odchylenie to węzłowe resztkowe sumy kwadratów zsumowane nad końcowymi węzłami drzewa.
Przywróć Monikę - G. Simpson