R
R2
R2=∑i(y^i−y¯)2∑i(yi−y¯)2=1−∑i(yi−y^i)2∑i(yi−y¯)2.
但是,如果模型中没有截距怎么办?
R
R20=∑iy^2i∑iy2i=1−∑i(yi−y^i)2∑iy2i.
R2R20
R2R20
但是,它们又有什么不同?何时?
y^y~
R2R20
R2=1−∥y−y^∥22∥y−y¯1∥22,
R20=1−∥y−y~∥22∥y∥22,
现在,由于,则当且仅当
∥y∥22=∥y−y¯1∥22+ny¯2R20>R2
∥y−y~∥22∥y−y^∥22<1+y¯21n∥y−y¯1∥22.
左手侧比之一,因为对应于模型更大嵌套内的。右边的第二项是响应的均方值除以仅截取模型的均方误差。因此,相对于其他变化,响应的平均值越大,我们拥有的“松弛”就越多,支配可能性就。y~y^R20R2
请注意,所有与模型相关的东西都在左侧,而与模型无关的东西都在右侧。
好的,我们如何减小左侧的比例?
回想
和,其中和是对应于子空间和投影矩阵,因此。y~=P0yy^=P1yP0P1S0S1S0⊂S1
因此,为了使比率接近于1,我们需要子空间
和非常相似。现在和区别仅在于是否是基向量,因此这意味着
最好是已经非常接近的子空间。S 1 S 0 S 1 1 S 0 1S0S1S0S11S01
从本质上讲,这意味着我们的预测变量最好具有较强的平均偏移量,并且该平均偏移量应主导预测变量的变化。
一个例子
在这里,我们尝试生成一个在模型中显式具有截距的示例,其行为与问题中的情况相近。下面是一些简单的R
代码来演示。
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)
这给出以下输出。我们开始与模型与拦截。
# 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
然后,看看当我们排除截距时会发生什么。
# 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
下面是数据的图,其中拦截模型为红色,拦截模型为蓝色。