Я оценил надежную линейную модель R
с весами ММ, используя rlm()
пакет MASS. `R`` не предоставляет значение для модели, но я хотел бы иметь его, если это значимое количество. Мне также интересно знать, есть ли смысл иметь значение которое взвешивает общую и остаточную дисперсию так же, как взвешивания наблюдений в устойчивой регрессии. Мое общее мнение состоит в том, что, если для целей регрессии мы по существу имеем веса, дающие некоторым оценкам меньшее влияние, поскольку они в некотором смысле являются выбросами, то, возможно, для целей вычисления мы должны также дать те же оценки меньше влияют?
Я написал две простые функции для и взвешенного , они ниже. Я также включил результаты запуска этих функций для моей модели, которая называется HI9. РЕДАКТИРОВАТЬ: Я нашел веб-страницу Адель Костер из UNSW, которая дает формулу для этого, включает вектор весов при расчете обоих и так же, как я сделал, и попросил ее для более формальной ссылки: http: //web.maths. unsw.edu.au/~adelle/Garvan/Assays/GoodnessOfFit.html (по-прежнему требуется помощь от Cross Validated о том, как интерпретировать это взвешенное значение )R2
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
Спасибо всем, кто тратит время, отвечая на это. Пожалуйста, примите мои извинения, если уже есть какая-то очень хорошая ссылка по этому вопросу, которую я пропустил, или если мой код выше трудно прочитать (я не программист).