Desviación y GLM
Formalmente, uno puede ver la desviación como una especie de distancia entre dos modelos probabilísticos; en el contexto GLM, equivale a dos veces la relación logarítmica de probabilidades entre dos modelos anidados ℓ1/ ℓ0 0 donde ℓ0 0 es el modelo "más pequeño"; es decir, una restricción lineal en los parámetros del modelo (véase el lema de Neyman-Pearson ), como dijo @suncoolsu. Como tal, se puede utilizar para realizar la comparación del modelo . También puede verse como una generalización del RSS utilizado en la estimación de OLS (ANOVA, regresión), ya que proporciona una medida de bondad de ajuste del modelo que se evalúa en comparación con el modelo nulo (solo intercepción). Funciona también con LM:
> x <- rnorm(100)
> y <- 0.8*x+rnorm(100)
> lm.res <- lm(y ~ x)
ε^tε^
> t(residuals(lm.res))%*%residuals(lm.res)
[,1]
[1,] 98.66754
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
R2= 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
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 de OLS y ML coinciden en tal caso).
Desviación y CARRITO
nipiknikpikD
Di=−2∑kniklog(pik),
D+α#(T)#(T)TD1−∑kp2ik
j
Di=∑j(yj−μi)2,
N(μi,σ2)DDirpart
residuals()
función para rpart
objeto, donde los "residuos de desviación" se calculan como la raíz cuadrada de menos dos veces el logaritmo del modelo ajustado.
Una introducción a la partición recursiva utilizando las rutinas rpart, de Atkinson y Therneau, también es un buen comienzo. Para una revisión más general (incluido el embolsado), recomendaría
lm.fit
en su ejemplo, ya que este es el nombre del caballo de batalla detráslm
.Podría ser un poco más claro si pensamos en un modelo perfecto con tantos parámetros como observaciones de modo que explique toda la variación en la respuesta. Este es el modelo saturado. La desviación simplemente mide la diferencia en el "ajuste" de un modelo candidato y el del modelo saturado.
En un árbol de regresión, el modelo saturado sería uno que tuviera tantos nodos terminales (hojas) como observaciones, por lo que encajaría perfectamente en la respuesta. La desviación de un modelo más simple puede calcularse como las sumas residuales de cuadrados del nodo, sumadas sobre todos los nodos. En otras palabras, la suma de las diferencias al cuadrado entre los valores pronosticados y observados. Este es el mismo tipo de error (o desviación) utilizado en la regresión de mínimos cuadrados.
Para un árbol de clasificación, las sumas residuales de cuadrados no son la medida más apropiada de falta de ajuste. En cambio, hay una medida alternativa de desviación, además de que se pueden construir árboles minimizando una medida de entropía o el índice de Gini. Este último es el predeterminado en
rpart
. El índice de Gini se calcula como:fuente
En ese caso, se toma la diferencia de desviación:
glm
R
Si desea leer en mayor detalle: cf: Análisis de datos categóricos por Alan Agresti, pp 118.
fuente
rpart
y dejaré la respuesta a los miembros más experimentados de este foro.