Devianza e GLM
Formalmente, si può vedere la devianza come una sorta di distanza tra due modelli probabilistici; nel contesto GLM, equivale a due volte il rapporto di log delle probabilità tra due modelli nidificati dove è il modello "più piccolo"; cioè una restrizione lineare sui parametri del modello (cfr. il lemma di Neyman-Pearson ), come diceva @suncoolsu. Come tale, può essere utilizzato per eseguire il confronto tra modelli . Può anche essere visto come una generalizzazione dell'RSS utilizzato nella stima OLS (ANOVA, regressione), in quanto fornisce una misura della bontà di adattamento del modello valutato rispetto al modello nullo (solo intercetta). Funziona anche con LM:ℓ1/ℓ0ℓ0
> x <- rnorm(100)
> y <- 0.8*x+rnorm(100)
> lm.res <- lm(y ~ x)
I residui SS (RSS) vengono calcolati come , che viene facilmente ottenuto come:ε^tε^
> t(residuals(lm.res))%*%residuals(lm.res)
[,1]
[1,] 98.66754
o dal (non aggiustato)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
poiché dove è la varianza totale. Si noti che è direttamente disponibile in una tabella ANOVA, comeR2=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
Ora guarda la devianza:
> deviance(lm.res)
[1] 98.66754
In effetti, per i modelli lineari la devianza è uguale all'RSS (si può ricordare che le stime OLS e ML coincidono in questo caso).
Devianza e CARRELLO
Possiamo vedere il CART come un modo per allocare individui già etichettati in classi arbitrarie (in un contesto di classificazione). Gli alberi possono essere considerati come un modello di probabilità per l'appartenenza alla classe individuale. Quindi, su ciascun nodo , abbiamo una distribuzione di probabilità sulle classi. Ciò che è importante qui è che le foglie dell'albero ci danno un campione casuale da una distribuzione multinomiale specificata da . Possiamo così definire la devianza di un albero, , come la somma di tutte le foglie dinipiknikpikD
Di=−2∑kniklog(pik),
seguendo le notazioni di Venables e Ripley ( MASS , Springer 2002, 4a ed.). Se hai accesso a questo riferimento essenziale per gli utenti R (IMHO), puoi verificare da solo come un tale approccio viene utilizzato per dividere i nodi e adattare un albero ai dati osservati (p. 255 ss.); Fondamentalmente, l'idea è di minimizzare, potando l'albero, dove è il numero di nodi dell'albero . Qui riconosciamo il compromesso tra costi e complessità . Qui, è equivalente al concetto di impurità del nodo (cioè l'eterogeneità della distribuzione in un dato nodo) che si basa su una misura di entropia o guadagno di informazioni, o sul noto indice Gini, definito comeD+α#(T)#(T)TD 1 - ∑ k p 2 i kD1−∑kp2ik (le proporzioni sconosciute sono stimate dalle proporzioni dei nodi).
Con un albero di regressione, l'idea è abbastanza simile, e possiamo concettualizzare la devianza come somma dei quadrati definiti per gli individui byj
Di=∑j(yj−μi)2,
sommato su tutte le foglie. Qui, il modello di probabilità che viene considerato all'interno di ogni foglia è un gaussiano . Citando Venables e Ripley (p. 256), " è la consueta deviazione in scala per un GLM gaussiano. Tuttavia, la distribuzione ai nodi interni dell'albero è quindi una miscela di distribuzioni normali, e quindi è appropriato solo alle foglie. Il processo di costruzione dell'albero deve essere visto come un raffinamento gerarchico di modelli di probabilità, molto simile alla selezione di variabili in avanti nella regressione . " La Sezione 9.2 fornisce ulteriori informazioni dettagliate sull'implementazione, ma è già possibile esaminare la funzione perN(μi,σ2)DDirpart
residuals()
rpart
oggetto, in cui i "residui di devianza" sono calcolati come radice quadrata di meno il doppio del logaritmo del modello montato.
Un'introduzione al partizionamento ricorsivo usando le routine rpart , di Atkinson e Therneau, è anche un buon inizio. Per una revisione più generale (incluso l'insacco), consiglierei