Estimei um modelo linear robusto R
com pesos MM, usando o rlm()
pacote MASS. `R`` não fornece um valor de para o modelo, mas eu gostaria de ter um se for uma quantidade significativa. Também estou interessado em saber se existe algum significado em ter um valor que pesa a variação total e residual da mesma maneira que as observações foram ponderadas na regressão robusta. Meu pensamento geral é que, se, para os propósitos da regressão, estivermos essencialmente com os pesos, dando a algumas das estimativas menos influência, porque são de alguma maneira discrepantes, então talvez, com o objetivo de calcular , também devamos dar essas mesmas estimativas menos influência?R 2 r 2
Eu escrevi duas funções simples para o e o ponderado , eles estão abaixo. Também incluí os resultados da execução dessas funções para o meu modelo, chamado HI9. EDIT: Encontrei a página da web de Adelle Coster da UNSW que fornece uma fórmula que inclui o vetor de pesos no cálculo do cálculo de ambos e da mesma forma que eu fiz, e solicitei uma referência mais formal: http: //web.maths. unsw.edu.au/~adelle/Garvan/Assays/GoodnessOfFit.html (ainda está procurando ajuda da Cross Validated sobre como interpretar esse ponderado ).R 2 r 2R2
SSe
SSt
#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
Obrigado a quem gasta tempo respondendo a isso. Aceite minhas desculpas se já houver alguma referência muito boa sobre isso que eu tenha perdido, ou se meu código acima for difícil de ler (eu não sou um cara de código).