Zagadnienia regresji. Cz¦±¢ III Regresja wielokrotna
Konspekt do zaj¦¢: Statystyczne metody analizy danych
Agnieszka Nowak-Brzezi«ska 17 listopada 2009
1 Wprowadzenie
Niech ogólne równanie regresji ma posta¢:
ˆ
y = b0+ b1x1+ b2x2+ . . . + bmxm+ ²
W takim modelu mamy zatem m zmiennych obja±niaj¡cych. Omawiaj¡c do- t¡d regresj¦ liniow¡ (prost¡) rozpatrywali±my jedynie takie przypadki zale»no-
±ci mi¦dzy zmiennymi obja±niaj¡cymi a obja±nianymi gdzie zmienna obja±niana byªa zale»na tylko od jednej konkretnej zmiennej obja±niaj¡cej. Jednak w prak- tyce niezwykle cz¦sto zmienna obja±niana zale»na jest nie od jednej ale od kilku (wielu) zmiennych obja±niaj¡cych.
Pomiar wspóªczynnika determinacji dla jednej i wielu zmiennych obja±niaj¡cych, test t zale»no±ci mi¦dzy zmienn¡ obja±nian¡ a obja-
±niaj¡c¡ a tak»e test istotno±ci F caªego modelu regresji oraz zagad- nienie wspóªliniowo±ci s¡ tematem niniejszych zaj¦¢.
2 Przykªad analizy wspóªczynnika R
2dla jednej i wielu zmiennych obja±niaj¡cych
Przykªad wykonamy dla zbioru danych z pªatkami ±niadaniowymi. Pobierzemy go z adresu http://lib.stat.cmu.edu/DASL/Datafiles/Cereals.html. Zbiór zawiera dane 77 rodzajów pªatków ±niadaniowych, które opisane s¡ 14 atrybu- tami warunkowymi i jednym atrybutem decyzyjnym rating mówi¡cym o war- to±ci od»ywczej pªatków w oparciu o informacje typu: calories, sugars, fiber, sodium, vitamins czy weight (oraz inne).
2.1 Przykªad analizy wspóªczynnika R
2dla jednej zmien- nej obja±niaj¡cej
Procedura analizy wspóªczynnika determinacji R2dla jednej zmiennej obja±nia- j¡cej mo»e wygl¡da¢ nast¦puj¡co. Je±li zaªo»ymy, »e zmienn¡ obja±nian¡ ma by¢
warto±¢ od»ywcza pªatków (rating) za± zmienn¡ obja±niaj¡c¡ poziom cukrów (sugars) to komenda R wywoªuj¡c¡ badanie zale»no±ci mi¦dzy tymi zmiennymi b¦dzie nastepuj¡ca:
lm(rating~sugars, data=dane) Wówczas peªny zapis okna dialogu z R-em b¦dzie nast¦puj¡cy:
> dane<- read.table("C:\\Cereals.data", header = TRUE, row.names = 1)
> model<-lm(rating~sugars, data=dane)
> summary(model) Call:
lm(formula = rating ~ sugars, data = dane) Residuals:
Min 1Q Median 3Q Max
-17.853 -5.677 -1.439 5.160 34.421 Coefficients:
Estimate Std. Error t value Pr(>|t|) (Intercept) 59.2844 1.9485 30.43 < 2e-16 ***
sugars -2.4008 0.2373 -10.12 1.15e-15 ***
---Signif. codes: 0 `***' 0.001 `**' 0.01 `*' 0.05 `.' 0.1 ` ' 1
Residual standard error: 9.196 on 75 degrees of freedom Multiple R-squared: 0.5771, Adjusted R-squared: 0.5715 F-statistic: 102.3 on 1 and 75 DF, p-value: 1.153e-15
>
Widzimy zatem, »e równanie regresji, gdy zmienn¡ obja±nian¡ b¦dzie zmienna rating (warto±¢ od»ywcza pªatków) za± obja±niaj¡c¡ sugars (poziom cukrów), b¦dzie nast¦puj¡cej postaci:
rating = -2.4 * sugars + 59.3
Teraz mo»emy przewidywa¢, »e gdy poziom cukrów wynosi np 1 to warto±¢
od»ywcza pªatków b¦dzie wynosi¢ 56.9 za± gdy poziom cukrów b¦dzie wynosiª np 10 wówczas warto±¢ od»ywcza zmaleje do warto±ci 35.3 (patrz poni»ej).
> predict(model,data.frame(sugars=10), level = 0.9, interval = "confidence")
fit lwr upr
1 35.27617 33.14878 37.40356
> predict(model,data.frame(sugars=1), level = 0.9, interval = "confidence")
fit lwr upr
1 56.88355 53.96394 59.80316
2.2 Przykªad analizy wspóªczynnika R
2dla wielu zmien- nych obja±niaj¡cych
Jak ju» wspomnieli±my we wst¦pie, cz¦sto w ±wiecie rzeczywistym mamy do czy- nienia z zale»no±ciami zmiennej obja±niaj¡c¡ nie od jednej zmiennej obja±nianej ale raczej od wielu zmiennych obja±niaj¡cych. Wykonanie tego typu analiz w pakiecie R nie jest rzecz¡ trudn¡. Wr¦cz przeciwnie. Nim przeprowadzimy ana- liz¦ zale»no±ci zmiennej rating od wielu zmiennych obja±niaj¡cych np. sugars oraz ber przyjrzyjmy si¦ wykresom rozrzutu dla tych zmiennych osobno. Wy- kres rozrzutu bowiem doskonale odzwierciedla zale»no±ci mi¦dzy pojedynczymi zmiennymi.
20 40 60 80
051015
wykres rozrzutu
sugars
rating
Rysunek 1: Wykres rozrzutu dla zmiennej sugars
20 40 60 80
02468101214
wykres rozrzutu
fiber
rating
Rysunek 2: Wykres rozrzutu dla zmiennej fiber
Przykªad analizy zmiennej obja±nianej (a wi¦c warto±ci od»ywczej pªatków ze zbioru Cereals) od kilku zmiennych, np. sugars oraz ber (a wi¦c odpowiednio:
poziom cukrów oraz bªonnik) przedstawiamy poni»ej.
> model<-lm(rating~sugars+fiber, data=dane)
> summary(model)
Call:
lm(formula = rating ~ sugars + fiber, data = dane) Residuals:
Min 1Q Median 3Q Max
-12.133 -4.247 -1.031 2.620 16.398 Coefficients:
Estimate Std. Error t value Pr(>|t|) (Intercept) 51.6097 1.5463 33.376 < 2e-16 ***
sugars -2.1837 0.1621 -13.470 < 2e-16 ***
fiber 2.8679 0.3023 9.486 2.02e-14 ***
---Signif. codes: 0 `***' 0.001 `**' 0.01 `*' 0.05 `.' 0.1 ` ' 1
Residual standard error: 6.219 on 74 degrees of freedom Multiple R-squared: 0.8092, Adjusted R-squared: 0.804 F-statistic: 156.9 on 2 and 74 DF, p-value: < 2.2e-16
wtedy powiemy, »e równanie regresji b¦dzie wygl¡da¢ nast¦puj¡co:
rating = - 2.1837 * sugars + 2.8679 * fiber + 51.6097
Czyli, aby zinterpetowa¢ wspóªczynnik nachylenia prostej regresji b1= −2.1837 powiemy, »e warto±¢ od»ywcza maleje o 2.1837 punktu, je±li zawarto±¢ cukru ro-
±nie o jedn¡ jednostk¦. Zakªadamy przy tym, »e zawarto±¢ bªonnika (ber) jest staªa. Z kolei interpretacja wspóªczynnika b2= 2.8679jest taka, »e warto±¢ od-
»ywcza ro±nie o 2.8679 punktu, je±li zawarto±¢ bªonnika ro±nie o jedn¡ jednostk¦
a zawarto±¢ cukru (sugars) jest staªa. Uogólniaj¡c b¦dziemy mówi¢, »e dla m zmiennych obja±niaj¡cych zachodzi reguªa, zgodnie z któr¡ oszacowana zmiana warto±ci zmiennej odpowiedzi to bi, je±li warto±¢ zmiennej xiro±nie o jednostk¦
i zakªadaj¡c, »e wszystkie pozostaªe warto±ci zmiennych s¡ staªe. Bª¦dy predyk- cji s¡ mierzone przy u»yciu reszt y − ˆy.
Co wa»ne: w prostej regresji liniowej reszty reprezentuj¡ odlegªo±¢ (mierzon¡
wzdªu» osi pionowej) pomi¦dzy wªa±ciwym punktem danych a lini¡ regresji. Za±
w regresji wielokrotnej, reszta jest reprezentowana jako odlegªo±¢ mi¦dzy wªa±ci- wym punktem danych a pªaszczyzn¡ lub hiperpªaszczyzn¡ regresji.
Przykªadowo pªatki Spoon Size Shredded Wheat zawieraj¡ x1= 0gramów cu- kru i x2= 3gramy bªonnika, a ich warto±¢ od»ywcza jest równa 72.80 podczas gdy warto±¢ oszacowana, podana za pomoc¡ równania regresji:
> predict(model, data.frame(sugars=0,fiber=3),level=0.95, interval="confidence")
fit lwr upr
1 60.21342 57.5805 62.84635
>
Zatem dla tych konkretnych pªatków reszta jest równa 60.21−72.80 = 12.59 Zwró¢my uwag¦ na to, »e wyniki które tutaj zwraca fukcja R: predict s¡ bar- dzo istotne. Mianowicie, oprócz podanej (oszacowanej, przewidywanej) warto-
±ci zmiennej obja±niaj¡cej, otrzymujemy równie» przedziaª ufno±ci na zadanym poziomie ufno±ci równym 0.95, który to przedziaª mie±ci si¦ mi¦dzy warto±ci¡
57.5805(lwr) a 62.84635 (upr).
Pami¦tamy z poprzednich zaj¦¢, »e z poj¦ciem regresji wi¡»e si¦ poj¦cie wspóªczynnika determinacji R2.
R2=SSR SST
, gdzie SSR to regresyjna suma kwadratów (SSR =Pn
i=1(ˆy − ¯y)2) za± SST to caªkowita suma kwadratów (SST =Pn
i=1(y − ¯y)2). B¦dziemy go interpetowa¢
jako cz¦±¢ zmienno±ci zmiennej obja±nianej, która jest wyja±niana przez liniow¡
zale»no±¢ ze zbiorem zmiennych obja±niaj¡cych.
Co wa»ne:
Im wi¦ksza b¦dzie liczba zmiennych obja±niaj¡cych tym nie mniej- sza b¦dzie warto±¢ wspóªczynnika determinacji R2.
Mo»emy wnioskowa¢, »e gdy dodajemy now¡ zmienn¡ obja±niaj¡c¡ do modelu, warto±¢ R2 b¦dzie nie mniejsza ni» przy modelu o mniejszej liczbie zmiennych.
Oczywi±cie skala (wielko±¢) tej ró»nicy jest bardzo istotnaw zale»no±ci od tego czy dodamy t¦ zmienn¡ do modelu czy te» nie. Je±li wzrost jest du»y to uznamy t¦ zmienn¡ za znacz¡c¡ (przydatn¡).
Je±li takie reszty obliczymy dla ka»dej obserwacji to mo»liwe b¦dzie wyzna- czenie warto±ci wspóªczynnika determinacji R2. W naszym przypadku jest on równy 0.8092 czyli 80.92%. Oznacza to w naszej analizie, »e 80.92% zmienno±ci warto±ci od»ywczej jest wyja±niana przez liniow¡ zale»no±¢ (pªaszczyzn¦) po- mi¦dzy zmienn¡ warto±¢ od»ywcza a zbiorem zmiennych obja±niaj¡cych - zawar- to±ci¡ cukrów i zawarto±ci¡ bªonnika. Je±li popatrzymy jaka byªa warto±¢ tego wspóªczynnika, gdy badali±my na pocz¡tku zale»no±¢ zmiennej obja±nianej tylko od jednej zmiennej obja±niaj¡cej (cukry) to warto±¢ ta wynosiªa R2= 57.71%. Dla dwóch zmiennych obja±niaj¡cych ta warto±ci wyniosªa 80.92%. Czyli po- wiemy, »e dodaj¡c now¡ zmienn¡ obja±niaj¡c¡ (w tym przypadku bªonnik) mo-
»emy wyja±ni¢ dodatkowe 80.92−57.71 = 22.19% zmienno±ci warto±ci od»ywczej (rating) pªatków. Typowy bª¡d oszacowania jest tu obliczany jako standardowy bª¡d oszacowania s i wynosi 6.22 punktu. Oznacza to, »e estymacja warto±ci od»ywczej pªatków na podstawie zawarto±ci cukrów i bªonnika zwykle ró»ni si¦
od wªa±ciwej warto±ci o 6.22 punktu. Je±li nowa zmienna jest przydatna, to bª¡d ten powinien si¦ zmniejsza¢ po dodaniu nowej zmiennej.
Najprostszym sposobem na wybór optymalnej liczby zmiennych obja±niaj¡cych jest wspóªczynnik R2adj zwany uproszczonym wspóªczynnikiem.
Je±li zaªo»ymy, »e R2 = 1 − SSESST to wówczas warto±¢ R2adj obliczymy jako R2adj = 1 −SSE(n−p)SST (n−1) i zwykle ta warto±¢ b¦dzie po prostu nieco mniejsza ni»
warto±¢ R2. W ±rodowisku R wspóªczynnik determinacji R2 wyznaczymy sto- suj¡c bezpo±rednio komend¦: summary(model.liniowy)$r.square.
Z kolei wspóªczynnik determinacji ale ten tzw. skorygowany (ang. adjusted) za pomoc¡ komendy: summary(model.liniowy)$adj.r.squared. Chc¡c wy- znaczy¢ warto±ci tych wspóªczynników dla naszego testowego modelu w dwiema zmiennymi obja±niaj¡cymi sugars oraz fiber w ±rodowisku R u»yjemy odpo- wiednich komend, jak to pokazuje poni»szy kod R wraz z wynikami:
> dane<- read.table("C:\\Cereals.data", header = TRUE, row.names = 1)
> model<-lm(rating~sugars+fiber, data=dane)
> summary(model)$r.square [1] 0.8091568
> summary(model)$adj.r.squared [1] 0.8039988
Jak widzimy wspóªczynnik R2wynosi 0.809 za± R2adj odpowiednio 0.804.
Wyznaczenie obserwacji odstaj¡cych w modelu z wieloma zmiennymi obja±niaj¡cymi
Chc¡c przeprowadzi¢ test na obserwacje odstaj¡ce u»yjemy znanego ju» pakietu car i funkcji outlier.test w ramach tego pakietu.
library(car)
> outlier.test(model)
max|rstudent| = 2.850639, degrees of freedom = 73, unadjusted p = 0.005668692, Bonferroni p = 0.4364893 Observation: Golden_Crisp
Wykryto wi¦c jedn¡ obserwacj¦ odstaj¡c¡ (pªatki o nazwie Golden_Crisp).
Wyznaczenie obserwacji wpªywowych w modelu z wieloma zmiennymi obja±niaj¡cymi
Warto±ci wpªywowe b¦dziemy wykrywa¢ za pomoc¡ fukcji influence.measures.
Wyniki takiej analizy widzimy poni»ej.
influence.measures(model) Influence measures of
lm(formula = rating ~ sugars + fiber, data = dane) :
dfb.1_ dfb.sgrs dfb.fibr dffit
100\%_Bran -0.029606 0.006873 8.71e-02 0.09114
100\%_Natural_Bran -0.032678 -0.025977 3.28e-03 -0.11268
All-Bran 0.107395 0.004022 -4.24e-01 -0.45329
All-Bran_with_Extra_Fiber -0.051238 -0.047248 2.62e-01 0.28122 Almond_Delight -0.025365 -0.008612 2.22e-02 -0.05473 Apple_Cinnamon_Cheerios -0.004345 -0.056557 1.52e-02 -0.10481
Apple_Jacks -0.099970 0.278783 -4.73e-02 0.34314
Basic_4 -0.015662 -0.012450 1.57e-03 -0.05400
Bran_Chex -0.003377 0.001591 -1.21e-02 -0.02032
Bran_Flakes -0.005424 0.008667 -3.73e-02 -0.05130
Cap'n'Crunch -0.003755 -0.145109 1.06e-01 -0.23909
Cheerios -0.129768 0.113752 2.14e-02 -0.14116
Cinnamon_Toast_Crunch -0.131630 -0.080466 1.98e-01 -0.32467
Clusters -0.014643 -0.000265 1.91e-03 -0.03068
Cocoa_Puffs 0.001414 -0.011655 6.67e-03 -0.01709
Corn_Chex -0.112528 0.070321 7.15e-02 -0.11623
Corn_Flakes -0.128481 0.096017 5.22e-02 -0.13115
Corn_Pops -0.028018 0.155722 -4.67e-02 0.22224
Count_Chocula 0.002404 -0.019819 1.13e-02 -0.02905
Cracklin'_Oat_Bran -0.004390 -0.017814 -1.09e-01 -0.17588 Cream_of_Wheat_(Quick) 0.385202 -0.325052 -1.41e-01 0.39178
Crispix -0.027418 0.018665 1.19e-02 -0.02845
Crispy_Wheat_&_Raisins -0.000750 0.008608 4.29e-04 0.01511
Double_Chex 0.015193 -0.007292 -7.93e-03 0.01752
Froot_Loops -0.043863 0.154052 -3.44e-02 0.20138
Frosted_Flakes -0.000309 0.015791 -6.58e-03 0.02575 Frosted_Mini-Wheats 0.065331 0.017652 9.33e-02 0.27267 Fruit_&_Fibre_Dates,_Walnuts,_and_Oats 0.044397 -0.053242 -7.99e-02 -0.10900
Fruitful_Bran -0.026656 0.032621 3.37e-02 0.05029
Fruity_Pebbles 0.001325 0.051194 -3.74e-02 0.08435
Golden_Crisp -0.171769 0.576328 -2.20e-01 0.73321
Golden_Grahams -0.087125 -0.053260 1.31e-01 -0.21490 Grape_Nuts_Flakes 0.031668 -0.020034 1.55e-02 0.05831
Grape-Nuts -0.005289 0.004597 -1.28e-03 -0.00738
Great_Grains_Pecan -0.083995 0.065320 -2.83e-02 -0.12999 Honey_Graham_Ohs 0.002749 -0.140354 5.85e-02 -0.22886 Honey_Nut_Cheerios -0.002852 -0.037119 9.98e-03 -0.06879
Honey-comb 0.004474 0.017420 -1.71e-02 0.03409
Just_Right_Crunchy__Nuggets -0.079487 0.025289 4.70e-02 -0.10347 Just_Right_Fruit_&_Nut -0.002689 -0.010528 -5.18e-05 -0.02496
Kix -0.181848 0.113641 1.16e-01 -0.18783
Life 0.013169 -0.004405 -1.89e-03 0.02054
Lucky_Charms 0.000671 0.025942 -1.90e-02 0.04274
Maypo 0.309644 -0.193505 -1.97e-01 0.31984
Muesli_Raisins,_Dates,_&_Almonds -0.008184 0.017378 8.72e-03 0.02557 Muesli_Raisins,_Peaches,_&_Pecans 0.017813 -0.037825 -1.90e-02 -0.05566 Mueslix_Crispy_Blend 0.023633 -0.041414 -1.60e-02 -0.05144 Multi-Grain_Cheerios -0.050378 0.016853 7.24e-03 -0.07857 Nut&Honey_Crunch -0.021474 -0.013127 3.23e-02 -0.05297 Nutri-Grain_Almond-Raisin -0.020017 -0.005408 -2.86e-02 -0.08354 Nutri-grain_Wheat 0.082325 -0.076741 1.45e-02 0.10789 Oatmeal_Raisin_Crisp -0.003445 -0.044834 1.21e-02 -0.08309 Post_Nat._Raisin_Bran 0.013573 -0.015027 -1.52e-02 -0.02158
Product_19 -0.172077 0.117140 7.49e-02 -0.17857
Puffed_Rice 0.393316 -0.308803 -2.06e-01 0.39332
Puffed_Wheat 0.324905 -0.274171 -1.19e-01 0.33045
Quaker_Oat_Squares 0.064270 -0.021501 -9.24e-03 0.10023 Quaker_Oatmeal -0.370581 0.374872 4.65e-03 -0.43279
Raisin_Bran 0.010195 -0.012476 -1.29e-02 -0.01923
Raisin_Nut_Bran -0.005551 -0.007939 -5.44e-03 -0.03103 Raisin_Squares 0.137649 -0.046049 -1.98e-02 0.21467
Rice_Chex -0.182899 0.125990 1.08e-01 -0.18510
Rice_Krispies -0.140266 0.087656 8.92e-02 -0.14488
Shredded_Wheat 0.234009 -0.237121 2.14e-02 0.28852
Shredded_Wheat_'n'Bran 0.287978 -0.328880 1.26e-01 0.43414 Shredded_Wheat_spoon_size 0.373845 -0.378815 3.42e-02 0.46093
Smacks -0.137264 0.331991 -4.30e-02 0.39156
Special_K 0.139080 -0.094678 -6.05e-02 0.14433
Strawberry_Fruit_Wheats 0.116583 -0.073754 5.69e-02 0.21468 Total_Corn_Flakes -0.194567 0.121590 1.24e-01 -0.20097 Total_Raisin_Bran 0.093177 -0.131581 -7.73e-02 -0.16315 Total_Whole_Grain -0.128254 0.111475 -3.10e-02 -0.17892
Triples -0.186120 0.116311 1.18e-01 -0.19225
Trix 0.001187 0.045860 -3.35e-02 0.07556
Wheat_Chex -0.070525 0.061298 -1.70e-02 -0.09839
Wheaties -0.037606 0.032686 -9.08e-03 -0.05246
Wheaties_Honey_Gold -0.007926 -0.002691 6.93e-03 -0.01710
cov.r cook.d hat inf
100\%_Bran 1.233 2.80e-03 0.1565 *
100\%_Natural_Bran 1.018 4.24e-03 0.0138
All-Bran 1.116 6.80e-02 0.1216 *
All-Bran_with_Extra_Fiber 1.588 2.67e-02 0.3480 *
Almond_Delight 1.051 1.01e-03 0.0165
Apple_Cinnamon_Cheerios 1.039 3.68e-03 0.0197
Apple_Jacks 0.993 3.85e-02 0.0472
Basic_4 1.047 9.83e-04 0.0138
Bran_Chex 1.063 1.40e-04 0.0210
Bran_Flakes 1.073 8.88e-04 0.0327
Cap'n'Crunch 1.020 1.89e-02 0.0375
Cheerios 1.059 6.69e-03 0.0372
Cinnamon_Toast_Crunch 0.908 3.37e-02 0.0253
Clusters 1.052 3.18e-04 0.0130
Cocoa_Puffs 1.090 9.86e-05 0.0444
Corn_Chex 1.067 4.54e-03 0.0374
Corn_Flakes 1.058 5.77e-03 0.0346
Corn_Pops 1.011 1.63e-02 0.0316
Count_Chocula 1.089 2.85e-04 0.0444
Cracklin'_Oat_Bran 1.004 1.03e-02 0.0211 Cream_of_Wheat_(Quick) 0.980 4.99e-02 0.0515
Crispix 1.071 2.73e-04 0.0282
Crispy_Wheat_&_Raisins 1.062 7.71e-05 0.0193
Double_Chex 1.062 1.04e-04 0.0194
Froot_Loops 1.040 1.35e-02 0.0387
Frosted_Flakes 1.068 2.24e-04 0.0257
Frosted_Mini-Wheats 0.867 2.35e-02 0.0147 * Fruit_&_Fibre_Dates,_Walnuts,_and_Oats 1.075 4.00e-03 0.0417
Fruitful_Bran 1.100 8.54e-04 0.0549
Fruity_Pebbles 1.074 2.40e-03 0.0375
Golden_Crisp 0.809 1.63e-01 0.0621 *
Golden_Grahams 0.994 1.52e-02 0.0253
Grape_Nuts_Flakes 1.051 1.15e-03 0.0166
Grape-Nuts 1.067 1.84e-05 0.0239
Great_Grains_Pecan 1.026 5.64e-03 0.0196
Honey_Graham_Ohs 0.987 1.72e-02 0.0257
Honey_Nut_Cheerios 1.052 1.59e-03 0.0197
Honey-comb 1.075 3.93e-04 0.0321
Just_Right_Crunchy__Nuggets 1.033 3.59e-03 0.0171 Just_Right_Fruit_&_Nut 1.057 2.10e-04 0.0159
Kix 1.043 1.18e-02 0.0374
Life 1.055 1.42e-04 0.0137
Lucky_Charms 1.080 6.17e-04 0.0375
Maypo 0.973 3.34e-02 0.0374
Muesli_Raisins,_Dates,_&_Almonds 1.070 2.21e-04 0.0272 Muesli_Raisins,_Peaches,_&_Pecans 1.066 1.05e-03 0.0272 Mueslix_Crispy_Blend 1.084 8.94e-04 0.0416 Multi-Grain_Cheerios 1.037 2.07e-03 0.0137 Nut&Honey_Crunch 1.064 9.47e-04 0.0253 Nutri-Grain_Almond-Raisin 1.037 2.34e-03 0.0147 Nutri-grain_Wheat 1.057 3.91e-03 0.0297 Oatmeal_Raisin_Crisp 1.048 2.32e-03 0.0197 Post_Nat._Raisin_Bran 1.147 1.57e-04 0.0918 *
Product_19 1.025 1.06e-02 0.0282
Puffed_Rice 1.010 5.06e-02 0.0618
Puffed_Wheat 1.012 3.59e-02 0.0515
Quaker_Oat_Squares 1.025 3.36e-03 0.0137
Quaker_Oatmeal 0.968 6.06e-02 0.0548
Raisin_Bran 1.102 1.25e-04 0.0549
Raisin_Nut_Bran 1.054 3.25e-04 0.0142
Raisin_Squares 0.924 1.49e-02 0.0137
Rice_Chex 1.057 1.15e-02 0.0442
Rice_Krispies 1.058 7.04e-03 0.0374
Shredded_Wheat 1.016 2.75e-02 0.0451
Shredded_Wheat_'n'Bran 0.946 6.07e-02 0.0490 Shredded_Wheat_spoon_size 0.912 6.76e-02 0.0451
Smacks 0.997 5.01e-02 0.0571
Special_K 1.041 6.97e-03 0.0282
Strawberry_Fruit_Wheats 0.949 1.50e-02 0.0166 Total_Corn_Flakes 1.037 1.35e-02 0.0374 Total_Raisin_Bran 1.089 8.94e-03 0.0598 Total_Whole_Grain 1.012 1.06e-02 0.0239
Triples 1.041 1.23e-02 0.0374
Trix 1.076 1.93e-03 0.0375
Wheat_Chex 1.050 3.25e-03 0.0239
Wheaties 1.062 9.29e-04 0.0239
Wheaties_Honey_Gold 1.058 9.88e-05 0.0165
>
A wi¦c mamy zapewne 6 obserwacji wpªywowych. S¡ to kolejno pªatki:
100%_Bran,All-Bran, All-Bran_with_Extra_Fiber czy Frosted_Mini-Wheats, Golden_Crisp (które zreszt¡ uznali±my za obserwacj¦ odstaj¡c¡, outlier) oraz Post_Nat._Raisin_Bran.
3 Wspóªliniowo±¢
Gdy zmienne obja±niaj¡ce s¡ wysoko skorelowane wyniki analizy regresji mog¡
by¢ niestabilne. Szacowana warto±¢ zmiennej Xj mo»e zmieni¢ wielko±¢ a na- wet kierunek zale»nie od pozostaªych zmiennych obja±niaj¡cych zawartych w tak testowanym modelu regresji. Taka zale»no±¢ liniowa mi¦dzy zmiennymi ob- ja±niaj¡cymi mo»e zagra»a¢ trafno±ci wyników analizy regresji. Zagadnieniami, które uj¦to tak»e na wykªadzie byªo zagadnienie dotycz¡ce analizy wspóªliniowo-
±ci zmiennych (ang. collinearity). Do wska¹ników oceniaj¡cych wspóªlniowo±¢
nale»y, m.in VIF (Variance Ination Factor) zwany wspóªczynnikiem podbicia (inacji) wariancji. V IF pozwala wychwyci¢ wzrost wariancji ze wzgl¦du na wspóªliniowo±¢ cechy. Innymi sªowy: wskazuje on o ile wariancje wspóªczynni- ków s¡ zawy»one z powodu zale»no±ci liniowych w testowanym modelu. Niektóre pakiety statystyczne pozwalaj¡ tak»e alternatywnie mierzy¢ tzw. wspóªczynnik toleracji (TOL - ang. tolerance), który mierzy si¦ jako V IF1 .
V IFi = (1 − R2i)−1
dla modelu xi = f (x1, . . . , xi−1, xi+1, . . . , xp) gdzie zmienna xi b¦dzie wyja-
±niana przez wszystkie pozostaªe zmienne.
Gdy V IF > 10 mówimy, »e wspóªliniowo±¢ wyst¡piªa. Musimy j¡ usun¡¢.
Eliminacja wspoªliniowo±ci polega na usuni¦ciu z modelu cech, które s¡ liniow¡
kombinacj¡ innych zmiennych niezale»nych.
Rad¡ na wspóªliniowo±¢ jest wg niektórych prac zwi¦kszenie zbioru obser- wacji o nowe, tak, by zmienimalizowa¢ istniej¡ce zale»no±ci liniowe pomi¦dzy zmiennymi wyja±niaj¡cymi. Jednak wiadomym jest »e zwi¦kszenie liczby ob- serwacji nie gwarantuje poprawy - a wi¦c nie jest to dobry pomysª. Lepszym wydaje si¦ komponowanie zmiennych zale»nych w nowe zmienne (np. waga i wzrost, które s¡ skorelowane silnie, i zamiast nich tworzenie jednej zmiennej stosunek wzrostu do wagi). Tak¡ now¡ zmienn¡ nazywa si¦ w literaturze kompo- zytem. Cz¦sto - dla du»ej liczby zmiennych obja±niaj¡cych - stosuje sie metod¦
analizy skªadowych gªównych (ang. principal component analysis która b¦dzie tematem odr¦bnych zaj¦¢) dla redukcji liczby zmiennych do jednego lub kilku kompozytów niezale»nych.
3.1 Przykªad modelu ze wspóªliniowo±ci¡
Dla modelu postaci:
Yi= β0+ β1X1i+ β2X2i+ β3X3i+ ²1i
w którym X3i = 10 ∗ X1i− 2 ∗ X2i powiemy, »e zmienna x3 jest kombinacj¡
liniow¡ zmiennych x1 i x2.
Próba szacowania takiego modelu zwi¡zana jest ze ±wiadomym popeªnia- niem bª¦du, gdy» w modelu tym wyst¦puje dokªadna wspóªliniowo±¢ (jedna ze zmiennych obja±niaj¡cych jest kombinacj¡ liniow¡ pozostaªych).
W ±rodowisku R sprawdzanie wspóªliniowo±ci nie jest trudne. Wystarczy skorzysta¢ z funkcji vif której argumentem jest model regresji dla danego zbioru danych. Przykªad dotycz¡cy naszego zbioru pªatków zbo»owych przedstawiamy poni»ej:
> vif(lm(rating~sugars+fiber, data=dane)) sugars fiber
1.020345 1.020345
Inaczej sprawa wygl¡da dla 1 stopnia swobody a inaczej dla wi¦kszej liczby stopni swobody, gdy oblicza si¦ tzw. uogólniony wspoªoczynnik podbicia wa- riancji (GV IF(1/2Df )).
4 Jako±¢ utworzonego modelu regresji
Porównanie ró»nych modeli regresji jest niew¡tpliwie istotne, zwªaszcza gdy chcemy wybra¢ ten tzw. najlepszy model. Jedn¡ z metod oceniaj¡cych jako±¢
modelu na podstawie miar dopasowania modelu dla modelu regresji liniowej jest wspóªczynnik determinacji R2. Musimy jednak od razu zauwa»y¢, »e model taki mo»na ocenia¢ ale w odniesieniu do próby ucz¡cej. A co z nowo dodawanymi do modelu danymi ? Czy model wcze±niej okre±lony dla danych ucz¡cych jako poprawny i optymalny nadal takim musi by¢ dla danych testowych?
Ocen¦ klasykatorów dla prób ucz¡cych i testowych rozwi¡»¡ nam takie metody jak kroswalidacja, czy metoda bootstrap a tak»e wspóªczynniki czuªo±ci oraz specyczno±ci stosowane z tzw. krzywymi ROC. To zagadnienie b¦dzie przedmiotem odr¦bnych zaj¦¢.
4.1 Porównywanie modeli regresji
Zaªó»my, »e chcemy porówna¢ dwa modele regresji: lm(rating~sugarsber)+
oraz lm(rating~sugars).
> regresja<-lm(rating~sugars+fiber, data=dane)
> regresja1<-lm(rating~sugars, data=dane)
> anova(regresja, regresja1) Analysis of Variance Table Model 1: rating ~ sugars + fiber Model 2: rating ~ sugars
Res.Df RSS Df Sum of Sq F Pr(>F) 1 74 2862.0
2 75 6342.1 -1 -3480.0 89.978 2.023e-14 ***
---
Signif. codes: 0 `***' 0.001 `**' 0.01 `*' 0.05 `.' 0.1 ` ' 1
>
4.2 Kryterium Akaikego u»yteczn¡ miar¡ dopasowania mo- delu
U»yteczn¡ miar¡ dopasowania, szczególnie przy porównywaniu kilku konkuren- cyjnych modeli, jest tak»e warto±¢ kryterium Akaikego, która dla danego modelu jest okre±lona jako:
AIC = devω+ 2(p + 1)
gdzie p + 1 jest liczb¡ parametrów modelu za± devωb¦dziemy nazywa¢ odchyle- niem modelu (ang. model deviance i dla naszego przypadku analizy rezyduuów b¦dzie po prostu sum¡ kwadratów rezyduuów Pn
i=1yi− ˆyi dla i = 1, 2, . . . , n).
Czynnik 2(p + 1) odgrywa rol¦ kary pªaconej za doª¡czenie nowych zmiennych do modelu i ma na celu zrównowa»enie oczywistego zmniejszenia si¦ w takim przypadku odchylenia modelu. Maj¡c kilka modeli, wybierzemy ten, który ce- chuje si¦ minimaln¡ warto±ci¡ AIC i co wa»ne jest opisany mo»liwie maª¡ liczb¡
parametrów.
Mo»emy teraz wybra¢, który z utworzonych modeli jest lepszy. Pomocnym jest tutaj tzw. kryterium Akaikego. Wykorzystanie jego wªa±ciwo±ci w ±rodowi- sku R wygl¡da nast¦puj¡co:
> dane<- read.table("C:\\Cereals.data", header = TRUE, row.names = 1)
> model<-lm(rating~sugars, data=dane)
> model2<-lm(rating~sugars+fiber, data=dane)
> AIC(model) [1] 564.1754
> AIC(model2) [1] 504.9088
5 Bibliograa
Opracowanie przygotowano w oparciu o prace:
1. J. Koronacki i J. wik, Statystyczne systemy ucz¡ce si¦, wyd. II, Exit 2008 2. J. Koronacki i J. Mielniczuk, Statystyka dla studentów kierunków technicznych
i przyrodniczych, WNT 2006
3. Daniel T. Larose, Metody i modele eksploracji danych, Tytuª oryginalny: Data Mining Methods and Models, Wydawnictwo Naukowe PWN 2008
4. Redakcja naukowa: Marek Walesiak, Eugeniusz Gatnar, Statystyczna analiza danych z wykorzystaniem programu R, Wydawnictwo Naukowe PWN 2009