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/ ℓ0ℓ0
> 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=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
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=−2∑kniklog(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)TDD1−∑kp2ik (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)DDirpart
residuals()
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