Desviación y GLM
Formalmente, se puede considerar la desviación como una especie de distancia entre dos modelos probabilísticos; en el contexto del MLG, equivale a dos veces la relación logarítmica de las probabilidades entre dos modelos anidados $\ell_1/\ell_0$ donde $\ell_0$ es el modelo "más pequeño"; es decir, una restricción lineal sobre los parámetros del modelo (véase el Lema de Neyman-Pearson ), como dijo @suncoolsu. Como tal, se puede utilizar para realizar comparación de modelos . También puede considerarse como una generalización del RSS utilizado en la estimación OLS (ANOVA, regresión), ya que proporciona una medida de bondad de ajuste del modelo que se está evaluando cuando se compara con el modelo nulo (sólo intercepción). También funciona con LM:
> x <- rnorm(100)
> y <- 0.8*x+rnorm(100)
> lm.res <- lm(y ~ x)
Los residuos SS (RSS) se calculan como $\hat\varepsilon^t\hat\varepsilon$ que se obtiene fácilmente como:
> t(residuals(lm.res))%*%residuals(lm.res)
[,1]
[1,] 98.66754
o del (no ajustado) $R^2$
> 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 $R^2=1-\text{RSS}/\text{TSS}$ donde $\text{TSS}$ es la varianza total. Tenga en cuenta que está disponible directamente en una tabla ANOVA, como
> 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
Ahora, mira la desviación:
> deviance(lm.res)
[1] 98.66754
De hecho, para los modelos lineales la desviación es igual al RSS (puede recordar que las estimaciones OLS y ML coinciden en tal caso).
Desviación y CART
Podemos ver el CART como una forma de asignar ya $n$ etiquetados en clases arbitrarias (en un contexto de clasificación). Los árboles pueden considerarse como un modelo de probabilidad para la pertenencia de los individuos a una clase. Así, en cada nodo $i$ tenemos una distribución de probabilidad $p_{ik}$ sobre las clases. Lo importante aquí es que las hojas del árbol nos dan una muestra aleatoria $n_{ik}$ de una distribución multinomial especificada por $p_{ik}$ . Así, podemos definir la desviación de un árbol, $D$ como la suma de todas las hojas de
$$D_i=-2\sum_kn_{ik}\log(p_{ik}),$$
siguiendo las anotaciones de Venables y Ripley ( MASS Springer 2002, 4ª ed.). Si tiene acceso a esta referencia esencial para los usuarios de R (IMHO), puede comprobar por sí mismo cómo se utiliza dicho enfoque para dividir los nodos y ajustar un árbol a los datos observados (p. 255 y siguientes); básicamente, la idea es minimizar, mediante la poda del árbol, $D+\alpha \#(T)$ donde $\#(T)$ es el número de nodos del árbol $T$ . Aquí reconocemos la compensación de costes y complejidad . Aquí, $D$ es equivalente al concepto de impureza del nodo (es decir, la heterogeneidad de la distribución en un nodo determinado) que se basan en una medida de entropía o ganancia de información, o el conocido índice de Gini, definido como $1-\sum_kp_{ik}^2$ (las proporciones desconocidas se estiman a partir de las proporciones de los nodos).
Con un árbol de regresión, la idea es bastante similar, y podemos conceptualizar la desviación como suma de cuadrados definida para los individuos $j$ por
$$D_i=\sum_j(y_j-\mu_i)^2,$$
sumando todas las hojas. Aquí, el modelo de probabilidad que se considera dentro de cada hoja es una gaussiana $\mathcal{N}(\mu_i,\sigma^2)$ . Citando a Venables y Ripley (p. 256), " $D$ es la desviación escalada habitual para un GLM gaussiano. Sin embargo, la distribución en los nodos internos del árbol es entonces una mezcla de distribuciones normales, por lo que $D_i$ sólo es apropiado en las hojas. El proceso de construcción del árbol debe considerarse como un refinamiento jerárquico de los modelos probabilísticos, muy similar a la selección de variables hacia adelante en la regresión ." La sección 9.2 ofrece información más detallada sobre rpart
pero ya se puede ver la implementación de residuals()
función para rpart
donde los "residuos de desviación" se calculan como la raíz cuadrada de menos dos veces el logaritmo del modelo ajustado.
Introducción al particionamiento recursivo mediante las rutinas rpart de Atkinson y Therneau, es también un buen comienzo. Para una revisión más general (incluyendo el embolsamiento), recomendaría