Перш за все, ми повинні зрозуміти, що R
робить програмне забезпечення, коли в модель не включено перехоплення. Нагадаємо, що звичайний обчислення
коли присутній перехоплення, є
Перша рівність виникає лише через включення перехоплення в модель, хоча це, мабуть, більш популярний із двох способів її написання. Друге рівність на насправді забезпечує більш загальну інтерпретацію! Цей пункт також стосується цього питання .R 2 = Σ я ( у я - ˉ у ) 2R2
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.
Це допомагає пригадати, що намагається виміряти. У першому випадку це порівняння вашої поточної моделі з еталонною
моделлю, що включає лише перехоплення (тобто постійний термін). У другому випадку перехоплення немає, тому мало сенсу порівнювати його з такою моделлю. Отже, замість цього обчислюється , який неявно використовує еталонну модель, відповідну лише шуму .R 2 0R2R20
У наступному нижче я зосереджуюсь на другому виразі і для і для оскільки цей вираз узагальнює інші контексти, і загалом природніше думати про речі з точки зору залишків.R 2 0R2R20
Але, чим вони відрізняються, і коли?
Давайте проведемо короткий відступ у деяку лінійну алгебру і подивимось, чи зможемо ми зрозуміти, що відбувається. Перш за все, назвемо пристосовані значення з моделі за допомогою перехоплення та встановлених значень від моделі без перехоплення . ~ у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
Таким чином, для того , щоб співвідношення , щоб бути близько до одиниці, ми повинні підпростору
і бути дуже схожі. Тепер і відрізняються тільки тим , є чи є базисним вектором чи ні, так що це означає , що
краще підпростір , що вже лежить дуже близько до .S0S1S0S11S01
По суті, це означає, що наш прогноктор мав би краще мати сильне середнє зміщення, і що це середнє зміщення повинно домінувати над варіантом прогноктора.
Приклад
Тут ми намагаємось створити приклад із перехопленням, явно вираженим у моделі, який веде себе близько до випадку у питанні. Нижче наведено простий 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
Нижче наведено графік даних із моделлю "із перехопленням" червоного кольору та моделлю "без перехоплення" синім кольором.