Wie berechnet man die R-Quadrat- Statistik ( ) in R für und / oder die Funktionsausgabe? Zum Beispiel für diese Daten:loess
predict
cars.lo <- loess(dist ~ speed, cars)
cars.lp <- predict(cars.lo, data.frame(speed = seq(5, 30, 1)), se = TRUE)
cars.lp
hat zwei Arrays fit
für Modell- und se.fit
für Standardfehler.
Antworten:
Mein erster Gedanke war, ein Pseudo-R2 Maß wie folgt zu berechnen :
Hier erhalten wir einen Wert von 0,6814984 ( ), ähnlich wie er von einem GAM erhalten würde :≈
cor(cars$dist, predict(cars.lo))^2
Dies scheint auch in Übereinstimmung mit dem zu sein, was die S-R2
loess
Funktion zurückgeben würde (ich habe kein S, kann es also nicht selbst überprüfen)Multiple R-squared
. Wenn ich zum Beispiel denairquality
R-Datensatz verwende, der aussieht wie dieair
Daten, die Chambers und Hastie im 'White Book' verwendet haben (das in der Online-Hilfe für referenziert wirdloess
; aber das ist nicht genau derselbe Datensatz), habe ich einen von 0,8101377 unter Verwendung der obigen Formel. Das stimmt ziemlich gut mit dem überein, was Chambers und Hastie berichtet haben.Ich sollte beachten, dass ich kein Papier gefunden habe, das sich speziell damit befasst (ok, das war nur ein kurzes Googeln), und William Cleveland spricht in seinem Papier nicht über ähnliche Maßnahmen .R2
Ich frage mich jedoch, ob die Freiheit, mit der Sie den Grad der Glättung (oder das FensterR2
span
) auswählen können, die Verwendung von basierten Maßen nicht ausschließt .quelle