Es un ponderada


19

Calculé un modelo lineal robusto Rcon pesos MM utilizando el rlm()paquete MASS. `R`` no proporciona un 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 valor R 2 que pese la varianza total y residual de la misma manera que las observaciones fueron ponderadas en la regresión robusta. Mi opinión general es que, si, a los efectos de la regresión, estamos esencialmente con los pesos dando menos influencia a algunas de las estimaciones porque son atípicas de alguna manera, entonces quizás con el propósito de calcular r 2 también deberíamos dar esas mismas estimaciones menos influencia?R2R2r2

Escribí dos funciones simples para el y el R 2 ponderado , están a continuación. También incluí los resultados de ejecutar estas funciones para mi modelo, que se llama HI9. EDITAR: Encontré la página web de Adelle Coster de UNSW que ofrece una fórmula que incluye el vector de pesos al calcular el cálculo de ambos y tal como lo hice, y le pedí una referencia más formal: http: //web.maths. unsw.edu.au/~adelle/Garvan/Assays/GoodnessOfFit.html (aún buscando ayuda de Cross Validated sobre cómo interpretar este r 2 ponderado ).R2R2R2SSeSStr2

#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 cualquiera que pase el tiempo respondiendo esto. Acepte mis disculpas si ya hay alguna referencia muy buena sobre esto que me perdí, o si mi código anterior es difícil de leer (no soy un tipo de código).


coloque los pesos dentro de lm () y tome el r-cuadrado desde allí (¿por qué reinventar la rueda?)
usuario603

1
gracias por el consejo sobre una forma de hacer lo que hice de manera más eficiente. ¿Alguien puede comentar sobre el significado del r-cuadrado ponderado que describí / propuse?
CraigMilligan

@ user603: ¿Cómo harías para poner los pesos dentro de lm ()?
histelheim

Solo por un cumplido, el mínimo cuadrado ponderado ajustado en R es minimizando la suma (w * e ^ 2), donde e es el residuo. Entonces, para su código de cálculo, todo el peso w debe tomarse como raíz cuadrada.
Yuanhao Lai

Quiero enfatizar que no debemos tomar una media ponderada, al menos creo que debido a que un programa que he escrito da un r-cuadrado cercano a 1 con: clásico r-cuadrado ponderado r-cuadrado pero NO con r ponderado al cuadrado donde también se pondera la media, creo que -6 es contraintuitivo incluso para mí, pero creo que la experiencia, sin embargo
Pierre

Respuestas:


22

La siguiente respuesta se basa en: (1) mi interpretación de Willett y Singer (1988) Otra nota de precaución sobre R-cuadrado: se utiliza en análisis de regresión de mínimos cuadrados ponderados. El estadístico estadounidense. 42 (3). pp236-238, y (2) la premisa de que la regresión lineal robusta es esencialmente una regresión de mínimos cuadrados ponderada con los pesos estimados por un proceso iterativo.

La fórmula que di en la pregunta para r2w necesita una pequeña corrección para corresponder a la ecuación 4 en Willet y Singer (1988) para r2wls: el cálculo de SSt también debe usar una media ponderada:

the correction is SSt <- sum((x$w*observed-mean(x$w*observed))^2)].

¿Cuál es el significado de este r-cuadrado ponderado (corregido)? Willett y Singer lo interpretan como: "el coeficiente de determinación en el conjunto de datos transformados [ponderados]. Es una medida de la proporción de la variación en Y ponderada que puede explicarse por X ponderada , y es la cantidad que se genera como R2 por los principales paquetes informáticos estadísticos cuando se realiza una regresión WLS ".

¿Tiene sentido como medida de bondad de ajuste? Esto depende de cómo se presente e interprete. Willett y Singer advierten que, por lo general, es bastante más alto que el r cuadrado obtenido en la regresión de mínimos cuadrados ordinarios, y el alto valor fomenta la visualización prominente ... pero esta visualización puede ser engañosa SI se interpreta en el sentido convencional de r cuadrado (como la proporción de no ponderadovariación explicada por un modelo). Willett y Singer proponen que una alternativa menos 'engañosa' es pseudoR2wls (su ecuación 7), que es equivalente a mi función r2 en la pregunta original. En general, Willett y Singer también advierten que no es bueno confiar en ningún r2 (incluso sus pseudor2wls) como única medida de bondad de ajuste. A pesar de estas advertencias, la premisa de una regresión robusta es que algunos casos se consideran "no tan buenos" y no cuentan tanto en el ajuste del modelo, y puede ser bueno reflejar esto en parte del proceso de evaluación del modelo. El r-cuadrado ponderado descrito puede ser una buena medida de la bondad del ajuste, siempre y cuando la interpretación correcta se dé claramente en la presentación y no se considere como la única evaluación de la bondad del ajuste.


1
(+1) Gracias por tomarse el tiempo para poner la respuesta.
usuario603

1

@CraigMilligan. No debería:

  • el peso estará fuera del paréntesis cuadrado
  • la media ponderada se calculará para lo que también podemos usarsum(x$w*observed)/sum(x$w)weighted.mean(observed,x$w)

Algo como esto:

r2ww <- function(x){
  SSe <- sum(x$w*(x$resid)^2)
  observed <- x$resid+x$fitted
  SSt <- sum(x$w*(observed-weighted.mean(observed,x$w))^2)
  value <- 1-SSe/SSt;
  return(value);
}
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.