Zunächst sollten wir verstehen, was die R
Software tut, wenn das Modell keinen Intercept enthält. Man erinnere sich, dass die übliche Berechnung von
wenn ein Abschnitt vorliegt,
Die erste Gleichheit tritt nur aufgrund der Einbeziehung des Abschnitts in das Modell auf , obwohl dies wahrscheinlich die beliebteste der beiden Schreibweisen ist. Die zweite Gleichheit liefert tatsächlich die allgemeinere Interpretation! Dieser Punkt wird auch in dieser verwandten Frage angesprochen .R 2 = Σ i ( y i - ˉ y ) 2R2
R2=∑i(y^i−y¯)2∑i(yi−y¯)2=1−∑i(yi−y^i)2∑i(yi−y¯)2.
Aber was passiert, wenn das Modell keinen Achsenabschnitt enthält?
Nun, in diesem Fall verwendet R
( stillschweigend! ) Die modifizierte Form
R20=∑iy^2i∑iy2i=1−∑i(yi−y^i)2∑iy2i.
Es hilft, sich daran zu erinnern, was zu messen versucht. Im ersten Fall wird Ihr aktuelles Modell mit dem Referenzmodell verglichen
, das nur einen Achsenabschnitt (dh einen konstanten Term) enthält. Im zweiten Fall gibt es keinen Intercept, weshalb es wenig sinnvoll ist, ihn mit einem solchen Modell zu vergleichen. Stattdessen wird also berechnet, das implizit ein Referenzmodell verwendet, das nur dem Rauschen entspricht .R 2 0R2R20
Im Folgenden konzentriere ich mich auf den zweiten Ausdruck für und da dieser Ausdruck auf andere Kontexte verallgemeinert wird und es im Allgemeinen natürlicher ist, über Dinge in Form von Residuen nachzudenken.R 2 0R2R20
Aber wie unterscheiden sie sich und wann?
Lassen Sie uns einen kurzen Exkurs in eine lineare Algebra machen und sehen, ob wir herausfinden können, was los ist. Rufen wir zunächst die angepassten Werte aus dem Modell mit intercept und den angepassten Werten auf aus dem Modell ohne Intercept . y^y~
Wir können die Ausdrücke für und als
und
.R2R20
R2=1−∥y−y^∥22∥y−y¯1∥22,
R20=1−∥y−y~∥22∥y∥22,
Nun, da , dann ist genau dann, wenn
∥y∥22=∥y−y¯1∥22+ny¯2R20>R2
∥y−y~∥22∥y−y^∥22<1+y¯21n∥y−y¯1∥22.
Die linke Seite ist größer als eins ist, da das Modell zu entsprechenden innerhalb der von verschachtelt ist . Der zweite Term auf der rechten Seite ist der quadratische Mittelwert der Antworten geteilt durch den mittleren quadratischen Fehler eines reinen Abfangmodells. Je größer der Mittelwert der Reaktion im Verhältnis zu der anderen Variation ist, desto mehr "Durchhang" haben wir und desto größer ist die Wahrscheinlichkeit, dass dominiert .y~y^R20R2
Beachten Sie, dass sich das gesamte modellabhängige Material auf der linken Seite und das nicht modellabhängige Material auf der rechten Seite befindet.
Ok, wie machen wir das Verhältnis auf der linken Seite klein?
erinnern dass
und wobei und Projektionsmatrizen sind, die den Teilräumen und so dass .y~=P0yy^=P1yP0P1S0S1S0⊂S1
Damit das Verhältnis nahe eins ist, müssen die Unterräume
und sehr ähnlich sein. Jetzt unterscheiden sich und nur darin, ob ein Basisvektor ist oder nicht, was bedeutet, dass
besser ein Unterraum ist, der bereits sehr nahe bei .S0S1S0S11S01
Im Wesentlichen bedeutet dies, dass unser Prädiktor selbst einen starken Mittelwert-Offset haben sollte und dass dieser Mittelwert-Offset die Variation des Prädiktors dominieren sollte.
Ein Beispiel
Hier versuchen wir, ein Beispiel mit einem Achsenabschnitt zu generieren, der explizit im Modell enthalten ist und der sich in der fraglichen Situation ähnlich verhält. Unten ist ein einfacher R
Code zum Demonstrieren.
set.seed(.Random.seed[1])
n <- 220
a <- 0.5
b <- 0.5
se <- 0.25
# Make sure x has a strong mean offset
x <- rnorm(n)/3 + a
y <- a + b*x + se*rnorm(x)
int.lm <- lm(y~x)
noint.lm <- lm(y~x+0) # Intercept be gone!
# For comparison to summary(.) output
rsq.int <- cor(y,x)^2
rsq.noint <- 1-mean((y-noint.lm$fit)^2) / mean(y^2)
Dies ergibt die folgende Ausgabe. Wir beginnen mit dem Modell mit Intercept.
# Include an intercept!
> summary(int.lm)
Call:
lm(formula = y ~ x)
Residuals:
Min 1Q Median 3Q Max
-0.656010 -0.161556 -0.005112 0.178008 0.621790
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 0.48521 0.02990 16.23 <2e-16 ***
x 0.54239 0.04929 11.00 <2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 0.2467 on 218 degrees of freedom
Multiple R-squared: 0.3571, Adjusted R-squared: 0.3541
F-statistic: 121.1 on 1 and 218 DF, p-value: < 2.2e-16
Dann sehen, was passiert , wenn wir ausschließen den Schnitt.
# No intercept!
> summary(noint.lm)
Call:
lm(formula = y ~ x + 0)
Residuals:
Min 1Q Median 3Q Max
-0.62108 -0.08006 0.16295 0.38258 1.02485
Coefficients:
Estimate Std. Error t value Pr(>|t|)
x 1.20712 0.04066 29.69 <2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 0.3658 on 219 degrees of freedom
Multiple R-squared: 0.801, Adjusted R-squared: 0.8001
F-statistic: 881.5 on 1 and 219 DF, p-value: < 2.2e-16
Unten sehen Sie eine grafische Darstellung der Daten mit dem Modell mit Schnittpunkt in Rot und dem Modell ohne Schnittpunkt in Blau.