Hat jemand Vorschläge oder Pakete, die den Koeffizienten der Teilbestimmung berechnen?
Der Teilbestimmungskoeffizient kann als Prozentsatz der Variation definiert werden, der in einem reduzierten Modell nicht erklärt werden kann, aber durch die in einem vollständigen (er) Modell angegebenen Prädiktoren erklärt werden kann. Dieser Koeffizient wird verwendet, um einen Einblick zu geben, ob ein oder mehrere zusätzliche Prädiktoren in einem vollständigeren Regressionsmodell nützlich sein können oder nicht.
Die Berechnung für das partielle r ^ 2 ist relativ einfach, nachdem Sie Ihre beiden Modelle geschätzt und die ANOVA-Tabellen für sie generiert haben. Die Berechnung für den Teil r ^ 2 lautet:
(SSEreduced - SSEfull) / SSEreduced
Ich habe diese relativ einfache Funktion geschrieben, die dies für ein multiples lineares Regressionsmodell berechnet. Ich bin mit anderen Modellstrukturen in R nicht vertraut, bei denen diese Funktion möglicherweise nicht so gut funktioniert:
partialR2 <- function(model.full, model.reduced){
anova.full <- anova(model.full)
anova.reduced <- anova(model.reduced)
sse.full <- tail(anova.full$"Sum Sq", 1)
sse.reduced <- tail(anova.reduced$"Sum Sq", 1)
pR2 <- (sse.reduced - sse.full) / sse.reduced
return(pR2)
}
Vorschläge oder Tipps zu robusteren Funktionen zur Erfüllung dieser Aufgabe und / oder zu effizienteren Implementierungen des obigen Codes sind sehr willkommen.
quelle
Antworten:
Nun, r ^ 2 ist wirklich nur eine Kovarianz im Quadrat über dem Produkt der Varianzen, also könnten Sie wahrscheinlich so etwas wie cov (Yfull, Ytrue) / var (Ytrue) var (Yfull) - cov (YReduced, Ytrue) / var (Ytrue) tun ) var (YRed) unabhängig vom Modelltyp; Überprüfen Sie, ob dies im Fall lm die gleiche Antwort liefert.
http://www.stator-afm.com/image-files/r-squared.gif
quelle