Ich habe ein robustes lineares Modell R
mit MM-Gewichten unter Verwendung des rlm()
im MASS-Paket enthaltenen Modells geschätzt . `R`` liefert keinen Wert für das Modell, aber ich hätte gerne einen, wenn es sich um eine aussagekräftige Größe handelt. Ich bin auch daran interessiert zu wissen, ob es eine Bedeutung hat, einen Wert zu haben, der die Gesamt- und Restvarianz auf die gleiche Weise wie Beobachtungen in der robusten Regression gewichtet. Mein allgemeiner Standpunkt ist, dass, wenn wir für die Zwecke der Regression im Wesentlichen die Gewichte verwenden, die einen Teil der Schätzungen weniger beeinflussen, weil sie in irgendeiner Weise Ausreißer sind, dann sollten wir möglicherweise auch für die Berechnung von angeben die gleichen Schätzungen weniger Einfluss?R 2 r 2
Ich habe zwei einfache Funktionen für das und das gewichtete , sie sind unten. Ich habe auch die Ergebnisse der Ausführung dieser Funktionen für mein Modell mit dem Namen HI9 angegeben. EDIT: Ich fand Webseite von Adelle Coster von UNSW , die eine Formel gibt für die die Vektor Gewichte enthält in die Berechnung sowohl die Berechnung und wie ich es tat, und bat sie , für eine formelle Referenz: http: //web.maths. unsw.edu.au/~adelle/Garvan/Assays/GoodnessOfFit.html (noch auf der Suche nach Hilfe von Cross Validated zur Interpretation dieses gewichteten )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
Vielen Dank an alle, die Zeit damit verbringen, dies zu beantworten. Bitte nehmen Sie meine Entschuldigung entgegen, wenn es bereits einen sehr guten Hinweis gibt, den ich verpasst habe, oder wenn mein Code oben schwer zu lesen ist (ich bin kein Code-Typ).