Циљ просте линеарне регресије је описивање и квантификовање везе између два обележја \(X\) и \(Y\), где су:
- \(X\) - предиктор, односно независна променљива,
- \(Y\) - зависна променљива.
Случајеви са више од једног предиктора представљају вишеструку линеарну регресију.
Учитајмо базу којој се налазе подаци о интелигенцији особе, величини мозга, висини и тежини.
iqsize=read.table("iqsize.txt",header=TRUE)
head(iqsize)## PIQ Brain Height Weight
## 1 124 81.69 64.5 118
## 2 150 103.84 73.3 143
## 3 128 96.54 68.8 172
## 4 134 95.15 65.0 147
## 5 110 92.88 69.0 146
## 6 131 99.13 64.5 138
На почетку, проверићемо да ли постоји веза између величине мозга и висине. За дате податке, нацртаћемо тачкасти график (график распршења) како бисмо добили идеју о облику зависности.
attach(iqsize)
plot(Brain,Height)Можемо претпоставити да постоји линеарна веза између ова два обележја облика \[y=b_0+b_1x.\] Уочавамо позитивну корелацију, што значи да је \(b_1\) позитивно.
model=lm(Brain~Height,data=iqsize)
plot(Height,Brain)
abline(model, col="red")Уведимо прво потребне ознаке за дефинисање линерног модела:
\(y_i\) - вредност зависне променљиве \(i-\)те опсервације у узорку;
\(x_i\) - вредност предиктора (независне променљиве) \(i\)-те опсервације у узорку.
Подаци из узорка неће припадати тачно поменутој правој (веза није детерминистичка), али је довољно да буде близу са мањим одступањем. Дакле, модел просте линеране регресије је облика: \[y_i=b_0+b_1x_i+e_i.\] Параметар \(b_0\) се назива intercept, параметар \(b_1\) slope, а \(e_i\) представља грешку.
Приметимо да, иако се користе називи зависна и независна променљива, вредности \(x_i\) не сматрамо случајним у моделу. Случајан је низ грешака \(e_i\), па одатле и низ \(y_i\).
Са \(\widehat y_i\) ће бити означена предвиђена вредност зависне променљиве \(i-\)тог предиктора из узорка.
Низ грешака предвиђања - резидуала се може изразити и са \[e_i=y_i-\widehat y_i.\] Најбоља права је она са којом се прави најмања грешка и назива се регресиона права. Поставља се питање по ком критеријуму треба одредити најбољу праву (ону која најбоље описује везу) и како се добија њена једначина. Опште прихваћен метод апроксимације у математичкој статистици је метод најмањих квадрата. Најбоља апроксимација величине \(y_i\) је функција \(\widehat y_i\) за коју је укупна грешка предвиђања \(Q\)
\[\begin{equation}\begin{split}Q&=\sum_{i=1}^n(y_i-\widehat y_i)^2\\ &=\sum_{i=1}^n(y_i-b_0+b_1x_i)^2,\end{split}\end{equation}\]
која представља суму квадрата резидуала, најмања. Налажењем минимума функције \(Q(b_0,b_1)\) добијају се оценe параметара \(b_0\) и \(b_1\)
\[\begin{equation}\begin{split}\widehat b_0&=\overline y - \widehat b_1\overline x,\\ \widehat b_1&=\frac{\sum_{i=1}^n(x_i-\overline x)(y_i-\overline y)}{\sum_{i=1}^n(x_i-\overline x)^2}.\end{split}\end{equation}\] Из претходних израза се може приметити да тачка \((\overline x, \overline y)\) припада регресионој правој. Такође, приметимо да знак коефицијента правца регресионе праве зависи само од бројиоца, који има облик узорачке коваријације. Наиме, тачка \((\overline x, \overline y)\) дели раван на четири квадранта. Уколико је већина тачака у другом и четвртом квадранту, онда је већина производа облика \((x_i-\overline x)(y_i-\overline y)\) негативна, па ће и њихова сума бити негативна, као и коефицијент \(b_1.\) Уколико је већина тачака у првом и трећем квадранту, онда се добија позитивна вредност за \(b_1.\)
Илустроваћемо наведени поступак коришћењем функкција из већ познатог пакета ggplot2.
library(ggplot2)
mse <- function(beta) {
with(iqsize, {
mean((Brain - beta[1] - beta[2]*Height)^2)
})
}
beta_hat <- nlm(mse, c(0,0))$estimate
ggplot(iqsize, aes(x=Height, y=Brain)) +
geom_point() +
geom_smooth(method="lm", se = FALSE, color="red") +
geom_abline(intercept = beta_hat[1], slope = beta_hat[2])## `geom_smooth()` using formula = 'y ~ x'
Позивом geom_smooth(method="lm"), ggplot позива функцију
lm за прављење модела и о тој функцији ће бити речи у
наставку.
За низ грешака предвиђања важи \(\sum_i e_i=0\) (неће важити за \(b_0=0\)).
Треба још објаснити значење оцењених коефицијената. Вредност \(b_0\) представља просечну вредност зависне променљиве, ако је вредност предиктора 0 (ово нема смисла уколико вредност 0 није у опсегу предиктора). Вредност \(b_i\) представља промену зависне променљиве, ако се предиктор повећа за 1.
Регресиона права се увек може наћи, налажењем минимума функције Q. Међутим, некад линеарна веза није одговарајућа и постоје услови који треба да буду испуњени (услови Гаус-Маркова) да би оцене добијене методом најмањих квадрата биле добре:
\(Ee_i=0\), тј. \(Ey_i=b_0+b_1x_i\),
\(De_i\)=const,
\(E(e_ie_j)=0.\)
Главна функција за прављење и анализирање линеарних модела у R-у је
функција lm, која враћа објекат класе lm.
Генеричка функција summary примењена на тај објекат даје
све потребне информације о линеарном моделу.
model=lm(Brain~Height,data=iqsize)
summary(model)##
## Call:
## lm(formula = Brain ~ Height, data = iqsize)
##
## Residuals:
## Min 1Q Median 3Q Max
## -10.366 -4.411 -1.273 4.081 15.586
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 17.5338 16.7810 1.045 0.303052
## Height 1.0690 0.2449 4.366 0.000102 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 5.948 on 36 degrees of freedom
## Multiple R-squared: 0.3462, Adjusted R-squared: 0.328
## F-statistic: 19.06 on 1 and 36 DF, p-value: 0.0001023
На излазу прво добијамо информације о резидуалима. Вредности минимума, максимума и квартила тог низа. Следеће, добијамо информације о коефицијентима линеарног модела. Уочавамо четири колоне, где се сваки ред односи на коефицијент уз одговарајући предиктор (у нашем случају слободан члан \(b_0\) и коефицијент уз предиктор Height - \(b_1\)). Колоне се односе на:
Estimate- оцељена вредност коефицијента уз предиктор;Std. Error- стандардна грешка оцене коефицијента;t value- вредност t статистике, која се користи за тестирање значајности коефицијената;Pr(>|t|)p-вредност теста значајности одговрарајућег коефицијента;- звездице поред вредности означавају са којим нивоом значајности би се добио статистички значајан резултат (три звездице значе да се p-вредност налази у интервалу (0,0.001)).
За тестирање значајности коефицијената, односно за тестирање \[H_0: b_j=0 \\ H_1: b_j \neq 0,\] користи се тест статистика обилка \[t=\frac{\widehat b_j}{se(\widehat b_j)} \sim t_{n-p-1},\] где је p број предиктора (у случају просте регресије p=1).
Параметри модела су одабрани тако да је сума квадрата резидуала најмања. Једна мера која говори о томе колико је смањено средње квадратно одступање је коефицијент детерминације: \[R^{2}=\frac{\sum_{i=1}^{n}\left(\widehat{y}_{t}-\bar{y}\right)}{\sum_{i=1}^{n}\left(y_{t}-\bar{y}\right)^{2}}=1-\frac{\sum_{i=1}^{n}\left(y_{t}-\widehat{y}_{t}\right)}{\sum_{i=1}^{n}\left(y_{t}-\bar{y}\right)^{2}}.\]
Ако је \(R^2=1\) то значи да све тачке \(y_i\) припадају регресионој правој. Ако је \(R^2=0\), онда је оцењена линија хоризонтална, па предиктор не објашњава варијабилност у зависној променљивој ништа боље од средње вредности. Овако дефинисано \(R^2\) се користи када \(b_0 \neq 0\). У случају кад је \(b_0 = 0\) дефниција је другачија \[R^{2}=1-\frac{\sum_{i=1}^{n} e_{i}^{2}}{\sum_{i=1}^{n} y_{t}^{2}}.\]
Због другачије дефиниције и због тога што је именилац у првом случају доста мањи него у другом, не могу се, на основу \(R^2\), поредити модели који имају слободан члан, са онима који немају. Назив \(R^2\) потиче од тога што је овако дефинисана вредност једнака квадрату коефицијента корелације између \(y\) и \(\widehat y\). Може се доказати да \(R^2\) узима вредности у интервалу [0,1].
cor(iqsize$Brain, fitted(model))^2## [1] 0.3461755
На крају ћемо навести један пример примене вишеструке регресије. Нека је сада зависна променљива коефицијент интелигенције, а предиктори величина мозга, висина и тежина.
plot(iqsize)model=lm(PIQ~Brain+Height+Weight, data=iqsize)
summary(model)##
## Call:
## lm(formula = PIQ ~ Brain + Height + Weight, data = iqsize)
##
## Residuals:
## Min 1Q Median 3Q Max
## -32.74 -12.09 -3.84 14.17 51.69
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 1.114e+02 6.297e+01 1.768 0.085979 .
## Brain 2.060e+00 5.634e-01 3.657 0.000856 ***
## Height -2.732e+00 1.229e+00 -2.222 0.033034 *
## Weight 5.599e-04 1.971e-01 0.003 0.997750
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 19.79 on 34 degrees of freedom
## Multiple R-squared: 0.2949, Adjusted R-squared: 0.2327
## F-statistic: 4.741 on 3 and 34 DF, p-value: 0.007215
Слично као и код просте регресије, добили смо оцене (и особине оцена) параметара модела облика \[y_{i}=\left(b_{0}+b_{1} x_{i 1}+b_{2} x_{i 2}+b_{3} x_{i 3}\right)+e_{i}.\]
Више о вишеструкој регресији и начину избора предиктора чућете на курсу Линеарни статистички модели.