Yo estima un robusto modelo lineal en R
con MM peso con el rlm()
en la MASA del paquete. `R` no ofrecen $R^2$ valor para el modelo, pero me gustaría tener uno, si es una cantidad significativa. También estoy interesado en saber si hay algún significado en tener un $R^2$ valor que pesa el total y la varianza residual de la misma manera que las observaciones fueron ponderados en la regresión robusta. Mi opinión general es que, si, a los efectos de la regresión, somos esencialmente con los pesos que dan algunas de las estimaciones de menor influencia, porque son valores atípicos en alguna manera, tal vez para el cálculo de $r^2$ también debemos dar esas mismas estimaciones menos influencia?
Escribí dos funciones simples para la $R^2$ y el promedio ponderado de $R^2$, están por debajo. Yo también se incluyen los resultados de la ejecución de estas funciones para mi modelo que se llama HI9. EDIT: he encontrado la página web de Adelle Coster de UNSW que da una fórmula para R2
que incluye el vector de pesos en el cálculo el cálculo de los dos SSe
y SSt
como lo hice yo, y le pidió más formal de referencia: http://web.maths.unsw.edu.au/~adelle/Garvan/Assays/GoodnessOfFit.html (todavía en busca de la ayuda de la Cruz Validado sobre cómo interpretar este ponderado $r^2$.)
#I used this function to calculate a basic r-squared from the robust linear model
r2 <- function(x){
+ SSe <- sum((x$resid)^2);
+ observed <- x$resid+x$fitted;
+ SSt <- sum((observed-mean(observed))^2);
+ value <- 1-SSe/SSt;
+ return(value);
+ }
r2(HI9)
[1] 0.2061147
#I used this function to calculate a weighted r-squared from the robust linear model
> r2ww <- function(x){
+ SSe <- sum((x$w*x$resid)^2); #the residual sum of squares is weighted
+ observed <- x$resid+x$fitted;
+ SSt <- sum((x$w*(observed-mean(observed)))^2); #the total sum of squares is weighted
+ value <- 1-SSe/SSt;
+ return(value);
+ }
> r2ww(HI9)
[1] 0.7716264
Gracias a cualquier persona que pasa tiempo en responder a esta. Por favor, acepte mis disculpas si ya hay algunas muy buenas referencias sobre esto que me falta, o si mi código de arriba es difícil de leer (yo no soy un código de tipo).