O que é Deviance? (especificamente em CART / rpart)


45

O que é "desvio", como é calculado e quais são seus usos em diferentes campos nas estatísticas?

Em particular, estou pessoalmente interessado em seus usos no CART (e sua implementação no rpart no R).

Estou perguntando isso, já que o artigo wiki parece um pouco ausente e suas idéias serão muito bem-vindas.

Respostas:


48

Deviance e GLM

Formalmente, pode-se ver o desvio como uma espécie de distância entre dois modelos probabilísticos; no contexto do GLM, isso equivale a duas vezes a razão de log de probabilidades entre dois modelos aninhados que é o modelo "menor"; isto é, uma restrição linear aos parâmetros do modelo (cf. o lema Neyman – Pearson ), como disse @suncoolsu. Como tal, ele pode ser usado para realizar a comparação de modelos . Também pode ser visto como uma generalização do RSS usado na estimativa de OLS (ANOVA, regressão), pois fornece uma medida da qualidade do ajuste do modelo que está sendo avaliado quando comparado ao modelo nulo (somente interceptação). Também funciona com o LM:1/00

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

Os resíduos SS (RSS) são calculados como , que são facilmente obtidos como:ε^tε^

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

ou do (não ajustado)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 

desde que é a variação total. Observe que ele está disponível diretamente em uma tabela ANOVA, comoR2=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 

Agora, veja o desvio:

> deviance(lm.res)
[1] 98.66754

De fato, para modelos lineares, o desvio é igual ao RSS (você deve se lembrar que as estimativas de OLS e ML coincidem nesse caso).

Deviance e CART

Podemos ver CART como uma maneira de alocar já indivíduos rotulados em classes arbitrárias (em um contexto de classificação). As árvores podem ser vistas como um modelo de probabilidade para a associação de indivíduos. Portanto, em cada nó , temos uma distribuição de probabilidade sobre as classes. O importante aqui é que as folhas da árvore nos fornecem uma amostra aleatória de uma distribuição multinomial especificada por . Podemos assim definir o desvio de uma árvore, , como a soma de todas as folhas denipiknikpikD

Di=2kniklog(pik),

seguindo as notações de Venables e Ripley ( MASS , Springer 2002, 4ª ed.). Se você tiver acesso a essa referência essencial para usuários do R (IMHO), poderá verificar por si próprio como essa abordagem é usada para dividir nós e ajustar uma árvore aos dados observados (p. 255 ss.); Basicamente, a ideia consiste em minimizar, por poda a árvore, , onde é o número de nós na árvore . Aqui reconhecemos o compromisso da complexidade de custos . Aqui, é equivalente ao conceito de impureza do nó (ou seja, a heterogeneidade da distribuição em um determinado nó), que é baseado em uma medida de entropia ou ganho de informação, ou no conhecido índice de Gini, definido comoD+α#(T)#(T)TD 1 - Σ k p 2 i kD1kpik2 (as proporções desconhecidas são estimadas a partir das proporções dos nós).

Com uma árvore de regressão, a idéia é bastante semelhante, e podemos conceituar o desvio como soma dos quadrados definidos para os indivíduos porj

Di=j(yjμi)2,

resumido sobre todas as folhas. Aqui, o modelo de probabilidade que é considerado dentro de cada folha é um gaussiano . Citando Venables e Ripley (p. 256), " é o desvio em escala usual para um GLM gaussiano. No entanto, a distribuição nos nós internos da árvore é então uma mistura de distribuições normais e, portanto, é apropriado apenas nas folhas. O processo de construção de árvores deve ser visto como um refinamento hierárquico dos modelos de probabilidade, muito semelhante à seleção de variáveis ​​avançadas em regressão ". A Seção 9.2 fornece informações mais detalhadas sobre a implementação, mas você já pode ver a função paraN(μi,σ2)DDirpartresiduals()rpart objeto, onde "resíduos de desvio" são calculados como a raiz quadrada de menos duas vezes o logaritmo do modelo ajustado.

Uma introdução ao particionamento recursivo usando as rotinas rpart , de Atkinson e Therneau, também é um bom começo. Para uma revisão mais geral (incluindo ensacamento), eu recomendaria


1
+1 resposta legal chl, que, como você diz, complementa a minha, sem problemas. Muito bem colocado.
Reinstate Monica - G. Simpson;

Uma coisa menor - provavelmente não é melhor usar lm.fitno seu exemplo, pois esse é o nome do cavalo de trabalho por trás lm.
Reintegrar Monica - G. Simpson

@ Gavin Oh, sim, está certo. Thx para lembrar-me de que, muitas vezes cometem esse erro ...
chl

3
Apenas uma observação: para regressão linear, o desvio é igual ao RSS, porque a suposição de normalidade dos erros implica em RSS é o mesmo que a estatística de teste LR, que implica ainda que o desvio é normalmente distribuído, independentemente de assintóticos . Esta é apenas uma expansão do (eu acho) comentário conciso de chl.
suncoolsu

@suncoolsu Se for sobre o meu comentário sobre as estimativas de ML e OLS, sim, eu quis dizer "assumindo uma distribuição gaussiana" para o (ou seja, em modelos lineares). O seu comentário é bem-vindo. εi
chl 27/01

25

Pode ser um pouco mais claro se pensarmos em um modelo perfeito com tantos parâmetros quanto observações, para que ele explique toda a variação na resposta. Este é o modelo saturado. O desvio mede simplesmente a diferença de "ajuste" de um modelo candidato e do modelo saturado.

Em uma árvore de regressão, o modelo saturado seria aquele que tivesse tantos nós terminais (folhas) quanto observações para que se ajustasse perfeitamente à resposta. O desvio de um modelo mais simples pode ser calculado como a soma residual de quadrados do nó, somada a todos os nós. Em outras palavras, a soma das diferenças quadráticas entre os valores previstos e observados. Esse é o mesmo tipo de erro (ou desvio) usado na regressão de mínimos quadrados.

Para uma árvore de classificação, somas residuais de quadrados não é a medida mais apropriada de falta de ajuste. Em vez disso, há uma medida alternativa de desvio, além de árvores podem ser construídas minimizando uma medida de entropia ou o índice de Gini. O último é o padrão em rpart. O índice Gini é calculado como:

Di=1k=1Kpik2

pikkii


(+1) Desculpe, minha postagem chegou mais tarde e eu não percebi a sua. Como acho que eles não se sobrepõem muito, deixarei o meu se você não se importar.
chl 27/01

R2

11

N

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

M1M2p1p2M1M2

Nesse caso, a diferença de desvio é tomada:

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

ΔDeviancep2p1glmR

Se você quiser ler com mais detalhes: cf: Análise de Dados Categorizados por Alan Agresti, pp 118.


@ Tal, eu não uso rparte vou deixar a resposta para os membros mais experientes deste fórum.
suncoolsu

Eu acho que eu tenho a idéia ... Mas impressões rpart desvio mesmo para árvores de regressão Oo
deps_stats

@deps_stats esse desvio é a soma residual de quadrados do nó somada sobre os nós terminais da árvore.
Reinstate Monica - G. Simpson
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.