Попробуем резюмировать.
Для подгонки модели МНК, используем код
Код:
> fit <- lm(lnZ ~ x + y, data=myData)
> summary(fit)
Call:
lm(formula = lnZ ~ x + y, data = myData)
Residuals:
Min 1Q Median 3Q Max
-0.61700 -0.30351 -0.03218 0.19850 0.81873
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.5939071 0.3067107 -1.936 0.0678 .
x 0.0016541 0.0012529 1.320 0.2025
y 0.0029021 0.0002526 11.488 5.4e-10 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 0.4538 on 19 degrees of freedom
Multiple R-squared: 0.889, Adjusted R-squared: 0.8773
F-statistic: 76.08 on 2 and 19 DF, p-value: 8.53e-10
Также можно вызвать следующие функции
Код:
> coefficients(fit) # коэффициенты модели
(Intercept) x y
-0.593907127 0.001654092 0.002902143
> confint(fit, level=0.95) # доверительные интервалы для параметров модели
2.5 % 97.5 %
(Intercept) -1.2358599183 0.048045664
x -0.0009683542 0.004276538
y 0.0023733723 0.003430914
> fitted(fit) [COLOR="rgb(46, 139, 87)"]# вычисленные значения[/COLOR]
1 2 3 4 5 6 7 8
0.6184535 1.3439892 2.4322929 3.8833645 1.0225736 0.7011581 2.8777654 1.8308140
9 10 11 12 13 14 15 16
3.2818856 2.0898271 4.0487737 0.8252150 2.6390544 3.0431746 1.9962232 3.4472948
17 18 19 20 21 22
4.1728306 3.8514150 0.9906242 2.2965886 4.2555352 3.5299994
> residuals(fit) # остатки модели
1 2 3 4 5 6 7
-0.24551154 -0.03430598 0.50459127 0.03730105 -0.35167208 0.11950244 0.81873492
8 9 10 11 12 13 14
-0.61649494 0.58275224 -0.59378185 -0.03005108 0.13451833 -0.43331068 -0.31506039
15 16 17 18 19 20 21
0.02651567 -0.14198445 -0.07559024 -0.26886877 0.21982761 0.81652665 -0.61700212
22
0.46336392
> anova(fit) [COLOR="rgb(46, 139, 87)"]# дисперсионный анализ[/COLOR]
Analysis of Variance Table
Response: lnZ
Df Sum Sq Mean Sq F value Pr(>F)
x 1 4.1589 4.1589 20.192 0.0002488 ***
y 1 27.1795 27.1795 131.963 5.395e-10 ***
Residuals 19 3.9133 0.2060
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
> vcov(fit) # ковариационная матрица для параметров модели
(Intercept) x y
(Intercept) 9.407143e-02 -2.162456e-04 -4.568268e-05
x -2.162456e-04 1.569874e-06 -8.310037e-08
y -4.568268e-05 -8.310037e-08 6.382438e-08
> influence(fit) # анализ регрессионной модели
$hat
1 2 3 4 5 6 7
0.19665640 0.14809675 0.14788589 0.28317818 0.13829845 0.15275498 0.09302145
8 9 10 11 12 13 14
0.06408668 0.09164807 0.05113364 0.14270474 0.15836003 0.04654710 0.05902938
15 16 17 18 19 20 21
0.09846547 0.08567971 0.13738973 0.12649809 0.29922020 0.15799923 0.18148452
22
0.13986129
$coefficients
(Intercept) x y
1 -0.090100375 1.924032e-04 4.151880e-05
2 -0.009639360 2.941447e-05 2.351114e-06
3 0.092492681 -5.221326e-04 3.423996e-05
4 0.002356970 -5.638034e-05 1.107148e-05
5 -0.098292644 1.997504e-04 4.375226e-05
6 0.034179275 -3.504510e-05 -2.200750e-05
7 0.068581503 -4.974500e-04 6.895179e-05
8 -0.087542609 1.378093e-04 3.287562e-05
9 0.014114197 -2.636425e-04 6.738312e-05
10 -0.056330941 3.061248e-05 2.300041e-05
11 0.002092611 1.126132e-05 -6.043748e-06
12 0.026144651 5.165601e-05 -2.977428e-05
13 -0.011340740 -3.227886e-05 -3.357501e-06
14 0.009716284 -7.069650e-05 -1.206585e-05
15 0.000820820 1.626464e-05 -2.654591e-06
16 0.012887806 -5.454754e-05 -1.004487e-05
17 0.012131630 -2.194206e-05 -1.245702e-05
18 0.042158631 -1.512501e-04 -2.872849e-05
19 0.018378098 3.404810e-04 -7.109334e-05
20 -0.039976009 8.764986e-04 -8.455088e-05
21 0.143930409 -4.760290e-04 -9.195059e-05
22 -0.072988620 3.945329e-04 2.397855e-05
$sigma
1 2 3 4 5 6 7 8
0.4617764 0.4661857 0.4481136 0.4661523 0.4576378 0.4652627 0.4199357 0.4414127
9 10 11 12 13 14 15 16
0.4434361 0.4435794 0.4662052 0.4649853 0.4543848 0.4599405 0.4662215 0.4649526
17 18 19 20 21 22
0.4658732 0.4613113 0.4621416 0.4164320 0.4376836 0.4511520
$wt.res
1 2 3 4 5 6 7
-0.24551154 -0.03430598 0.50459127 0.03730105 -0.35167208 0.11950244 0.81873492
8 9 10 11 12 13 14
-0.61649494 0.58275224 -0.59378185 -0.03005108 0.13451833 -0.43331068 -0.31506039
15 16 17 18 19 20 21
0.02651567 -0.14198445 -0.07559024 -0.26886877 0.21982761 0.81652665 -0.61700212
22
0.46336392
Сравнение двух моделей
Код:
> fit1 <- lm(lnZ ~ y, data=myData)
> anova(fit,fit1)
Analysis of Variance Table
Model 1: lnZ ~ x + y
Model 2: lnZ ~ y
Res.Df RSS Df Sum of Sq F Pr(>F)
1 19 3.9133
2 20 4.2723 -1 -0.35896 1.7428 0.2025
Остановлюсь на этом месте поподробнее. Когда мы добавляем или убавляем регрессоры, мы должны быть уверены, что принципиально это на дисперсию остатков не влияет. В данном случае используется нулевая гипотеза, что коэффициенты регрессоров равны между собой. Примерно то же самое мы делаем, когда проверяем саму модель на значимость(см. ниже), но в таком случаем сравниваем её с уравнением, где все регрессоры имеют коэффициенты 0. Аналогично описанному ниже, если Pr(>F) превышает 0.05, то гипотеза принимается. Т.е. в приведенном выше примере Pr(>F)=0.2025, отсюда разница между Model 1: lnZ ~ x + y и Model 2: lnZ ~ y является статистически незначимой.
Автоматическая подгонка модели посредством исключения незначимых членов.
Код:
> library(MASS)
> step <- stepAIC(fit, direction="both")
Start: AIC=-31.99
lnZ ~ x + y
Df Sum of Sq RSS AIC
- x 1 0.359 4.2723 -32.056
<none> 3.9133 -31.987
- y 1 27.180 31.0928 11.611
Step: AIC=-32.06
lnZ ~ y
Df Sum of Sq RSS AIC
<none> 4.272 -32.056
+ x 1 0.359 3.913 -31.987
- y 1 30.979 35.252 12.372
> step$anova # отображаем результаты
Stepwise Model Path
Analysis of Deviance Table
Initial Model:
lnZ ~ x + y
Final Model:
lnZ ~ y
Step Df Deviance Resid. Df Resid. Dev AIC
1 19 3.913305 -31.98653
2 - x 1 0.3589588 20 4.272264 -32.05577
Прочую красоту
смотреть вот здесь. А подробно проверка регрессионной модели
описана вот тут.