• Nie Znaleziono Wyników

Analiza regresji. Analiza korelacji.

N/A
N/A
Protected

Academic year: 2021

Share "Analiza regresji. Analiza korelacji."

Copied!
93
0
0

Pełen tekst

(1)

Analiza regresji. Analiza korelacji.

(2)
(3)
(4)
(5)
(6)

Levels Storage name 77 integer mfr 7 integer type 2 integer calories integer protein integer fat integer sodium integer fiber double carbo double sugars integer potass integer vitamins integer shelf integer weight double

cups double

rating double

(7)
(8)
(9)

name

n missing unique 77 0 77

lowest : 100%_Bran 100%_Natural_Bran All-Bran All-Bran_with_Extra_Fiber Almond_Delight

highest: Triples Trix Wheat_Chex

Wheaties Wheaties_Honey_Gold

--- mfr

n missing unique 77 0 7

A G K N P Q R Frequency 1 22 23 6 9 8 8

% 1 29 30 8 12 10 10

--- type

n missing unique

77 0 2 C (74, 96%), H (3, 4%)

(10)

--- calories

n missing unique Mean .05 .10 .25 .50 .75 .90 .95

77 0 11 106.9 70 90 100 110 110 124 140

50 70 80 90 100 110 120 130 140 150 160 Frequency 3 2 1 7 17 29 10 2 3 2 1

% 4 3 1 9 22 38 13 3 4 3 1

--- protein

n missing unique Mean 77 0 6 2.545

1 2 3 4 5 6 Frequency 13 25 28 8 1 2

% 17 32 36 10 1 3

(11)

carbo

n missing unique Mean .05 .10 .25 .50 .75 .90 .95 77 0 22 14.60 8.0 10.3 12.0 14.0 17.0 21.0 21.0 lowest : -1 5 7 8 9, highest: 19 20 21 22 23

--- sugars

n missing unique Mean .05 .10 .25 .50 .75 .90 .95 77 0 17 6.922 0.0 0.6 3.0 7.0 11.0 13.0 14.0

-1 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Frequency 1 7 1 3 13 1 5 7 4 5 4 5 5 7 4 3 2

% 1 9 1 4 17 1 6 9 5 6 5 6 6 9 5 4 3

--- potass

n missing unique Mean .05 .10 .25 .50 .75 .90 .95 77 0 36 96.08 24 28 40 90 120 190 244 lowest : -1 15 20 25 30, highest: 240 260 280 320 330

(12)

vitamins

n missing unique Mean 77 0 3 28.25

0 (8, 10%), 25 (63, 82%), 100 (6, 8%)

--- shelf

n missing unique Mean 77 0 3 2.208

1 (20, 26%), 2 (21, 27%), 3 (36, 47%)

--- weight

n missing unique Mean 77 0 7 1.030

0.5 0.83 1 1.25 1.3 1.33 1.5 Frequency 2 1 64 2 1 5 2

% 3 1 83 3 1 6 3

---

(13)

fat

n missing unique Mean 77 0 5 1.013

0 1 2 3 5 Frequency 27 30 14 5 1

% 35 39 18 6 1 sodium

n missing unique Mean .05 .10 .25 .50 .75 .90 .95 77 0 27 159.7 0 0 130 180 210 254 282 lowest : 0 15 45 70 75, highest: 250 260 280 290 320

--- fiber

n missing unique Mean .05 .10 .25 .50 .75 .90 .95 77 0 13 2.152 0.0 0.0 1.0 2.0 3.0 4.4 5.2

0 1 1.5 2 2.5 2.7 3 4 5 6 9 10 14 Frequency 19 16 3 10 1 1 15 4 4 1 1 1 1

% 25 21 4 13 1 1 19 5 5 1 1 1 1

(14)

cups

n missing unique Mean .05 .10 .25 .50 .75 .90 .95 77 0 12 0.821 0.466 0.500 0.670 0.750 1.000 1.000 1.026

0.25 0.33 0.5 0.67 0.75 0.8 0.88 1 1.13 1.25 1.33 1.5 Frequency 1 3 7 13 16 1 2 30 1 1 1 1

% 1 4 9 17 21 1 3 39 1 1 1 1 --- rating

n missing unique Mean .05 .10 .25 .50 .75 .90 .95 77 0 77 42.67 22.67 27.92 33.17 40.40 50.83 60.09 68.27 lowest : 18.04 19.82 21.87 22.40 22.74, highest: 68.24 68.40 72.80 74.47 93.70

(15)
(16)
(17)
(18)
(19)
(20)
(21)
(22)
(23)
(24)
(25)
(26)

Kompletnie nieczytelny !!!

(27)
(28)

Korelacja

(29)

Korelacja Pearsona w excelu

(30)

0 20 40 60 80 100

-5 0 5 10 15 20

rating

sugars

sugars

Korelacja Pearsona w excelu

(31)

Korelacja Spearmana w excelu

(32)

The Spearman correlation, called Spearman’s rho, is a special case

of the Pearson correlation

computed on ranked data.

(33)
(34)
(35)
(36)
(37)
(38)
(39)
(40)

Porównanie miar korelacji Pearsona i

Spearmana

(41)

Porównanie miar korelacji Pearsona i

Spearmana

(42)

Analiza regresji

•Analiza regresji jest bardzo popularną i chętnie stosowaną techniką statystyczną pozwalającą opisywad związki zachodzące pomiędzy zmiennymi wejściowymi (objaśniającymi) a wyjściowymi (objaśnianymi).

•Innymi słowy dokonujemy estymacji jednych danych korzystając z innych.

•Istnieje wiele różnych technik regresji.

(43)

Regresja liniowa

•Metoda zakłada, że pomiędzy zmiennymi objaśniającymi i objaśnianymi istnieje mniej lub bardziej wyrazista zależnośd liniowa.

•Mając zatem zbiór danych do analizy, informacje opisujące te dane możemy podzielid na objaśniane i objaśniające. Wtedy też wartości tych pierwszych będziemy mogli zgadywad znając wartości tych drugich.

• Oczywiście tak się dzieje tylko w sytuacji, gdy faktycznie między tymi zmiennymi istnieje zależnośd liniowa.

•Przewidywanie wartości zmiennych objaśnianych (y) na podstawie wartości zmiennych objaśniających (x) jest możliwe dzięki znalezieniu tzw. modelu regresji.

•W praktyce polega to na podaniu równania prostej, zwanej prostą regresji o postaci:

y = b_0 + b_1 x

gdzie: y - jest zmienną objaśnianą, zaś x - objaśniającą. W równaniu tym bardzo istotną rolę odgrywają współczynniki b_0 i b_1, gdzie b_1 jest nachyleniem linii regresji, zaś b_0 punktem przecięcia linii regresji z osią x (wyrazem wolnym) a więc przewidywaną wartością zmiennej objaśnianej gdy zmienna objaśniająca jest równa 0.

(44)

0 10 20 30 40 50 60 70 80 90 100

-2 0 2 4 6 8 10 12 14 16

rating

sugars

sugars

(45)

0 10 20 30 40 50 60 70 80 90 100

-2 0 2 4 6 8 10 12 14 16

rating

sugars

sugars

Liniowy (sugars)

(46)
(47)

Jak to czytad ?

x b b

y

0

1

sugars rating

 59 . 4  2 . 42 *

A więc:

b

0

 59 . 4 b

1

  2 . 42

„Oszacowana wartość odżywcza płatków (rating) jest równa 59.4 i 2.42 razy waga cukrów (sugars) w gramach”

Czyli linia regresji jest liniowym przybliżeniem relacji między zmiennymi x (objaśniającymi, niezależnymi) a y (objaśnianą, zależną) – w tym przypadku między zawartością cukrów a wartością odżywczą.

Możemy zatem dzięki regresji: SZACOWAD, PRZEWIDYWAD…

(48)

Po co przewidywad ?

• Gdy np. chcemy oszacowad wartości odżywcze nowego rodzaju płatków (nieuwzględnionych dotąd w tej próbie 77 różnym badanych

płatków śniadaniowych), które zawierają x=1 gram cukrów.

• Wówczas za pomocą oszacowanego równania regresji możemy wyestymowad wartośd

odżywczą płatków śniadaniowych zawierającym 1 gram cukrów:

98 . 56 1

* 42 . 2 4 .

59  

y

(49)

Po co przewidywad ?

• Gdy np. chcemy oszacowad wartości odżywcze nowego rodzaju płatków (nieuwzględnionych dotąd w tej próbie 77 różnym badanych

płatków śniadaniowych), które zawierają x=5 gram cukrów.

• Wówczas za pomocą oszacowanego równania regresji możemy wyestymowad wartośd

odżywczą płatków śniadaniowych zawierającym 5 gram cukrów:

3 . 47 5

* 42 . 2 4 .

59  

y

(50)

Jak widad, niestety oszacowanie zgodne z równaniem regresji jest nie do kooca zgodne z rzeczywistą wartością odżywczą płatków.

(51)

•Czyli każde płatki mające 1 gram cukru powinny mied wartośd odżywczą równą 56,98 ale jak widad tak nie jest.

•Płatki Cheerios mają wartośd odżywczą równą 50,765.

•Czyli nastąpiło PRZESACOWANIE wartości odżywczej płatków o 6,215.

•Graficznie tę odległośd widzimy jako odległośd punktu reprezentującego

te płatki od jego rzutu pionowego na linię regresji.

(52)

Co wówczas ?

•Odległośd ta mierzona jako:

•Nazywad będziemy błędem predykcji (błędem oszacowania, wartością resztową, rezyduum).

•Oczywiście powinno się dążyd do minimalizacji błędu oszacowania.

•Służy do tego metoda zwana metodą najmniejszych kwadratów. Metoda polega na tym, że wybieramy linię regresji która będzie minimalizowad sumę kwadratów reszt dla wszystkich punktów danych.

)

( y

y

(53)
(54)

Czy to równanie będzie spełnione dla innych płatów niż te z badanego zbioru ?

• Odpowiedź: pewnie NIE.

• Prawdziwą liniową zależnośd między wartością odżywczą a zawartością cukrów dla WSZYSTKICH rodzajów płatków reprezentuje równanie:

  

x

y 0 1

- Losowy błąd

(55)

Dla n obserwacji

• Linia najmniejszych kwadratów minimalizuje sumę kwadratów błędów SSE (population sum of squared errors):

i i

i x

y   0   1  

i=1,…,n

 

 

n

i

n

i

i i i

R

p y x

SSE

1 1

2 1

0 )

(  

(56)

Co dalej ?

1. Różniczkujemy to równanie by oszacowad  0 i  1 )

(

*

2

0 1

0 1

i n

i

i

p

y x

SSE  

 

) (

*

2

0 1

1 1

i n

i

i i

p

x y x

SSE  

 

2. Przyrównujemy wynik do zera:

0 )

(

0 1

1

 

i

n

i

i

b b x

y

0 )

(

0 1

1

 

i

n

i

i

i

y b b x

x

(57)

Co dalej ?

3. Rozbijamy sumę:

4. Powstaje

0

1 1 0

1

 

n

i

i n

i

i

n b b x

y

0

1 2 1

1 0 1

  

n

i

i n

i

i n

i

i

i

y b x b x

x

n

i

i n

i

i

y

x b

nb

1 1

1 0

n

i

i i n

i

i n

i

i

b x x y

x b

1 1

2 1

1 0

(58)

Co dalej ?

5. Rozwiązując te równania otrzymujemy:

 

  

 

n x

x

n y

x y

b x

i i

i i

i i

/ ) (

/ ) )(

(

2 2 1

x b y

b

0

 

1

x

n – liczba obserwacji

- Średnia wartośd zmiennej objaśniającej

y

- Średnia wartośd zmiennej objaśnianej A sumy są od i=1 do n.

b

0 i

b

1 -estymatory najmniejszych kwadratów dla

Czyli wartości które minimalizują sumę kwadratów błędów.

1 0

i

(59)

Jak znaleźd wartości b 0 =59.4 i b 1 =-2.42 z tych równao?

1. Obliczamy wartości x i ,y i ,x i y i ,x i 2

(60)

xi=534

yi=3285.26

xiyi=19186.76

xi2=5190

1. Obliczamy wartości:

2. Podstawiamy do wzorów:

42 . 67 2

. 1486

79 . 3596 77

/ 534 5190

77 / 26 . 3285

* 534 76

. 19186

1 2

   

  b

4 . 59 935

. 6

* 42 . 2 6657 .

1

42

0

yb x   

b

(61)

Wnioski…

• Wyraz wolny b0 jest miejscem na osi y gdzie linia regresji przecina tę oś czyli jest to przewidywana wartośd zmiennej objaśnianej gdy objaśniająca równa się zeru.

• Współczynnik kierunkowy prostej regresji oznacza szacowaną zmianę wartośd y dla jednostkowego wzrostu x wartośd b

1

=-2.42 mówi, że jeśli zawartośd cukrów wzrośnie o 1 gram to wartośd odżywcza płatków zmniejszy się o 2.42 punktu.

• Czyli płatki A których zawartośd cukrów jest o 5 większa niż w płatkach B powinny

mied oszacowaną wartośd odżywczą o 5 razy 2.42 = 12.1 punktów mniejszą niż

płatki typu B.

(62)

Regresja wielokrotna

Omawiając regresję liniową (prostą) rozpatrywaliśmy dotąd 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 praktyce niezwykle często zmienna objaśniana zależna jest nie od jednej ale od kilku (wielu) zmiennych objaśniających.

Będziemy zatem rozważad ogólne równanie regresji postaci:

m m x b

x b x

b b

y     

2 ...

2 1

1 0

gdzie m oznacza liczbę (najczęściej kilku) zmiennych objaśniających.

(63)

W środowisku R…

W środowisku R procedura znajdowania równania

regresji dla podanego zbioru danych możliwa jest

dzięki wykorzystaniu funkcji lm . Komenda R postaci

lm(y ~ x) mówi, że chcemy znaleźd model

regresji liniowej dla zmiennej y w zależności od

zmiennej x .

(64)

równanie regresji, gdy zmienną objaśnianą będzie zmienna rating (wartośd

odżywcza płatków) zaś objaśniającą sugars (poziom cukrów), będzie następującej postaci:

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

>

rating = -2.4 * sugars+ 59.3

(65)

Teraz możemy przewidywad, że gdy poziom cukrów wynosi np 1 to wartośd odżywcza płatków będzie wynosid 56.9 zaś gdy poziom cukrów będzie wynosił 10 wówczas wartośd 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

(66)

Wykres rozrzutu dla zmiennej sugars

(67)

Wykres rozrzutu dla zmiennej fiber

(68)

Interpretacja

Widad z nich, że między zmienną objaśniającą sugars a zmienną objaśnianą fiber istnieje pewna zależnośd (w miarę wzrostu wartości sugars spada wartośd rating). Z kolei analizując rozrzut obserwacji ze względu na wartości zmiennej objaśniającej fiber oraz objaśnianej rating już tak silnej zależności nie dostrzegamy.

Sprawdźmy jak będzie się zachowywad rozrzut wartości zmiennych objaśnianych w oparciu o te dwie zmienne objaśniające razem.

(69)

> 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

W tym przypadku równanie regresji będzie wyglądad następująco:

Rating = - 2.1837 * sugars+ 2.8679 * fiber+ 51.6097

(70)

Uogólniając będziemy mówid, że dla m zmiennych objaśniających zachodzi reguła, zgodnie z którą: oszacowana zmiana wartości zmiennej odpowiedzi to} b

i

, jeśli wartość zmiennej x

i

rośnie o jednostkę i zakładając, że wszystkie pozostałe wartości zmiennych są stałe.

Rating = - 2.1837 * sugars+ 2.8679 * fiber+ 51.6097 Aby zinterpretowad współczynnik nachylenia prostej regresji:

b1 = -2.1837 wartośd odżywcza maleje o 2.1837 punktu, jeśli zawartośd cukru rośnie o jedną jednostkę. Zakładamy

przy tym, że zawartośd błonnika (fiber) jest stała.

b2 = 2.8679 wartośd odżywcza rośnie o 2.8679 punktu, jeśli zawartośd błonnika rośnie o jedną jednostkę a zawartośd cukru

(sugars) jest stała.

(71)

Błędy predykcji są mierzone przy użyciu reszt $y - \hat{y}$.

Uwaga: w prostej regresji liniowej reszty reprezentują odległośd (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śd między właściwym punktem danych a płaszczyzną lub hiperpłaszczyzną regresji.

Przykładowo płatki Spoon Size Shredded Wheat zawierają x1=0 gramów cukru i x2 = 3 gramy błonnika, a ich wartośd odżywcza jest równa 72.80 podczas gdy wartośd

oszacowana, podana za pomocą równania regresji:

Zatem dla tych konkretnych płatków reszta jest równa 60.21 - 72.80 = 12.59.

> predict(model, data.frame(sugars=0,fiber=3),level=0.95, interval="confidence")

fit lwr upr 1 60.21342 57.5805 62.84635

Zwródmy uwagę na to, że wyniki, które tutaj zwraca funkcja R: predict są bardzo 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).

(72)

Współczynnik determinacji r 2

• Pozwala stwierdzid czy oszacowane równanie regresji jest przydatne do przewidywania.

• Określa stopieo w jakim linia regresji najmniejszych kwadratów wyjaśnia zmiennośd obserwowanych danych.

y yy ( yy )

2

x y

(73)

y yy (yy)2

x

y

n

i

y y

SST

1

)

2

Całkowita suma kwadratów…

(

n

i

y y SSR

1

)

2

Regresyjna suma kwadratów …

(

n

i

y y

SSE

1

)

2

(

Suma kwadratów błędów oszacowania:

SST r

2

SSR

Wówczas współczynnik determinacji r2:

(74)

SST r

2

SSR

Współczynnik determinacji r2:

Współczynnik determinacji r 2

Mierzy stopieo dopasowania regresji jako przybliżenia liniowej zależności pomiędzy zmienną celu a zmienną objaśniającą.

Jaka jest wartośd maksymalna współczynnika determinacji r2 ?

Jest ona osiągana wtedy, gdy regresja idealnie pasuje do danych, co ma miejsce wtedy gdy każdy z punktów danych leży dokładnie na oszacowanej linii regresji. Wówczas nie ma błędów oszacowania, a więc wartości resztowe (rezydua) wynoszą 0, a więc SSE=0 a wtedy SST = SSR a r2=1.

Jaka jest wartośd minimalna współczynnika determinacji r2 ?

Jest ona osiągana wtedy, gdy regresja nie wyjaśnia zmienności, wtedy SSR = 0, a więc r2=0.

Im większa wartość r

2

tym lepsze dopasowanie regresji do zbioru

danych.

(75)

Przykład analizy współczynnika R 2 dla wielu zmiennych objaśniających

Jak już wspomnieliśmy na początku, często w świecie rzeczywistym mamy do czynienia z zależnościami zmiennej objaśnianej nie od jednej ale raczej od wielu zmiennych objaśniających.

Wykonanie tego typu analiz w pakiecie R nie jest rzeczą trudną. Wręcz przeciwnie.

Nim przeprowadzimy analizę zależności zmiennej rating od wielu zmiennych objaśniających np.sugars oraz fiber przyjrzyjmy się wykresom rozrzutu dla tych zmiennych osobno. Wykres rozrzutu bowiem doskonale odzwierciedla zależności między pojedynczymi zmiennymi.

(76)

Wykres rozrzutu dla zmiennej sugars

(77)

Wykres rozrzutu dla zmiennej fiber

(78)

Interpretacja

Widad z nich, że między zmienną objaśniającą sugars a zmienną objaśnianą fiber istnieje pewna zależnośd (w miarę wzrostu wartości sugars spada wartośd rating). Z kolei analizując rozrzut obserwacji ze względu na wartości zmiennej objaśniającej fiber oraz objaśnianej rating już tak silnej zależności nie dostrzegamy.

Sprawdźmy jak będzie się zachowywad rozrzut wartości zmiennych objaśnianych w oparciu o te dwie zmienne objaśniające razem.

(79)

Współczynnik determinacji

gdzie SSR to regresyjna suma kwadratów zaś SST to całkowita suma kwadratów

Będziemy go interpetowad jako częśd zmienności zmiennej objaśnianej, która jest wyjaśniana przez liniową zależnośd ze zbiorem zmiennych objaśniających.

Im większa będzie liczba zmiennych objaśniających tym \textbf{nie mniejsza} będzie wartość współczynnika determinacji $R^2$.

Możemy wnioskowad, że gdy dodajemy nową zmienną objaśniającą do modelu, wartośd

$R^2$ będzie nie mniejsza niż przy modelu o mniejszej liczbie zmiennych. Oczywiście skala (wielkośd) tej różnicy jest bardzo istotna w 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ą).

Niezwykle istotna jest miara nazwana już wcześniej współczynnikiem determinacji R2 określana za pomocą wzoru:

SST

R

2

SSR

^

1

ˆ ) ( y ˆ y SST

n

i

 

^ 2ˆ 1

ˆ ) ( y ˆ y SSR

n

i

 

(80)

Jeśli takie reszty obliczymy dla każdej obserwacji to możliwe będzie wyznaczenie 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śniane przez liniową zależnośd pomiędzy zmienną wartośd odżywcza a zbiorem zmiennych objaśniających - zawartością cukrów i zawartością błonnika.

Jeśli popatrzymy jaka była wartośd tego współczynnika, gdy badaliśmy na początku zależnośd zmiennej objaśnianej tylko od jednej zmiennej objaśniającej (cukry) to wartośd ta wynosiła R2 = 57.71% . Dla dwóch zmiennych objaśniających ta wartości wyniosła 80.92 %. Czyli powiemy, że dodając nową zmienną objaśniającą (w tym przypadku błonnik) możemy wyjaśnid 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ę zmniejszad po dodaniu nowej zmiennej.

(81)

Ile zmiennych objaśniających w modelu regresji ?

gdzie p oznacza liczbę parametrów modelu (i jest to zazwyczaj liczba zmiennych objaśniających + 1) zaś n oznacza wielkośd próby. Zwykle wartośd R2adj będzie po prostu nieco mniejsza niż wartośd R2.

W środowisku R współczynnik determinacji R2wyznaczymy stosują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

Najprostszym sposobem na wybór optymalnej liczby zmiennych objaśniających jest współczynnik R2adj zwany skorygowanym. Wiedząc, że R2 = 1 – SSE/SST wartośd R2adj obliczymy jako:

1

2

1

 

n SST

p n

SSE

R

adj

(82)

> 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

Chcąc wyznaczyd wartości tych współczynników dla naszego testowego modelu z dwiema zmiennymi objaśniającymi sugars oraz fiber w środowisku R użyjemy odpowiednich komend, jak to pokazuje poniższy kod R wraz z wynikami:

Jak widzimy współczynnik R2 wynosi 0.809 zaś R2adjodpowiednio 0.804.

(83)

Obserwacje wpływowe

Obserwacja jest wpływowa (ang. influential), jeśli jej obecnośd wpływa na prostą regresji, w taki sposób, że zmienia się współczynnik kierunkowy tej prostej. Inaczej powiemy, że jeśli obserwacja jest wpływowa to inaczej wygląda prosta regresji w zależności od tego czy ta obserwacja została ujęta w zbiorze, czy też nie (gdyż została usunięta).

W praktyce, jeśli obserwowana wartośd leży w I-ym kwartylu rozkładu (czyli ma wartośd mniejszą niż 25 centyl), to mówimy, że ma ona mały wpływ na regresję. Obserwacje leżące między I a III kwartylem nazywamy wpływowymi.

Wykrycie obserwacji wpływowych umożliwia pomiar odległości Cooka, w której wykorzystujemy tzw. modyfikowane rezydua. Usuwając obserwację, którą chcemy uznad za wpływową ze zbioru obserwacji i obliczając różnicę (między tym jak wyglądają równania regresji z tą obserwacją i gdy jej nie ma) uznajemy obserwację za wpływową gdy ta różnica będzie wysoka.

Odległośd Cooka mierzy poziom wpływu obserwacji i jest obliczana jako:

jest wartością przewidywaną dla j-tej obserwacji obliczoną w modelu z usuniętą obserwacją i-tą

y

j ) (i

y

j jest wartością przewidywaną dla j-tej obserwacji w modelu, w którym nie usunięto i-tej obserwacji (potencjalnie wpływowej).

(84)

Wykres obserwacji wpływowych z zaznaczeniem odległości Cooka

Teraz jeśli chcemy poznad obserwacje wpływowe możemy użyd komendy:

> influencePlot(lm(b~a), main="Influence

Plot",sub="Rozmiar kółka jest proporcjonalny do odległości Cooka)

(85)

Jak widad, ostatnia kolumna wskazuje na obserwacje wpływowe zaznaczając przy nich symbol *.

Z naszych danych wynika, że w zbiorze 10 obserwacji mamy 2 wpływowe. Są to obserwacje 1 i 9.

Do wykrycia obserwacji wpływowych możemy także użyd funkcji.

> influence.measures(lm(b~a))

> influence.measures(lm(b~a)) Influence measures of

lm(formula = b ~ a) :

dfb.1_ dfb.a dffit cov.r cook.d hat inf 1 0.0000 0.00e+00 -1.14e-15 1.781 7.45e-31 0.267 * 2 0.5570 -4.52e-01 5.71e-01 1.399 1.65e-01 0.267 3 0.0000 0.00e+00 2.10e-16 1.581 2.52e-32 0.174 4 -0.2337 1.24e-01 -3.13e-01 1.215 5.08e-02 0.119 5 0.0000 0.00e+00 1.42e-16 1.482 1.15e-32 0.119 6 -0.1187 2.05e-18 -2.82e-01 1.195 4.12e-02 0.100 7 0.0217 2.99e-01 7.57e-01 0.573 2.03e-01 0.119 8 0.2719 -6.52e-01 -9.99e-01 0.563 3.40e-01 0.174 9 0.0000 0.00e+00 2.69e-16 1.781 4.13e-32 0.267 * 10 -0.4910 7.42e-01 8.58e-01 1.607 3.62e-01 0.396

>

której efekty będzie następujący

(86)

Wyznaczenie obserwacji odstających w modelu z wieloma zmiennymi

objaśniającymi

library(car)

> outlier.test(model)

max|rstudent| = 2.850639, degrees of freedom = 73, unadjusted p = 0.005668692, Bonferroni p = 0.4364893 Observation: Golden_Crisp

Obserwacje odstające będziemy wykrywad przy użyciu znanego już pakietu car i funkcji outlier.test w ramach tego pakietu.

Wykryliśmy jedną obserwację odstającą (płatki o nazwie Golden_Crisp).

(87)

Wyznaczenie obserwacji wpływowych w modelu z wieloma zmiennymi objaśniającymi

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 ...

Frosted_Flakes -0.000309 0.015791 -6.58e-03 0.02575 Frosted_Mini-Wheats 0.065331 0.017652 9.33e-02 0.27267 ...

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

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 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 * ...

Frosted_Flakes 1.068 2.24e-04 0.0257 Frosted_Mini-Wheats 0.867 2.35e-02 0.0147 * ...

Golden_Crisp 0.809 1.63e-01 0.0621 *

...

Post_Nat._Raisin_Bran 1.147 1.57e-04 0.0918 *

Wartości wpływowe będziemy wykrywad za pomocą fukcji influence.measures. Wyniki takiej analizy widzimy poniżej.

(88)

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 ...

Frosted_Flakes -0.000309 0.015791 -6.58e-03 0.02575 Frosted_Mini-Wheats 0.065331 0.017652 9.33e-02 0.27267 ...

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

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 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 * ...

Frosted_Flakes 1.068 2.24e-04 0.0257

Frosted_Mini-Wheats 0.867 2.35e-02 0.0147 * ...

Golden_Crisp 0.809 1.63e-01 0.0621 *

...

Post_Nat._Raisin_Bran 1.147 1.57e-04 0.0918 *

(89)

Za wpływowe uznamy 6 obserwacji:

100%_Bran All-Bran

All-Bran_with_Extra_Fiber Frosted_Mini-Wheats

Golden_Crisp (

które zresztą uznaliśmy za obserwację odstającą, outlier

) oraz

Post_Nat._Raisin_Bran.

(90)

Współliniowośd

Gdy zmienne objaśniające są wysoko skorelowane wyniki analizy regresji mogą byd

niestabilne. Szacowana wartośd zmiennej xi może zmienid wielkośd a nawet kierunek zależnie od pozostałych zmiennych objaśniających zawartych w tak testowanym modelu regresji. Taka zależnośd liniowa między zmiennymi objaśniającymi może zagrażad trafności wyników analizy regresji.

Do wskaźników oceniających współliniowośd należy, m.in. VIF (Variance Inflation Factor) zwany współczynnikiem podbicia (inflacji) wariancji. VIF pozwala wychwycid wzrost wariancji ze

względu na współliniowośd cechy.

Innymi słowy: wskazuje on o ile wariancje współczynników są zawyżone z powodu zależności liniowych w testowanym modelu. Niektóre pakiety statystyczne pozwalają także alternatywnie mierzyd tzw. współczynnik toleracji (TOL - ang. tolerance), który mierzy się jako: 1/VIF

dla modelu xi = f(x1, …., xi-1, xi+1, …, xp) gdzie zmienna xi będzie wyjaśniana przez wszystkie pozostałe zmienne.

Gdy VIF > 10 mówimy, że współliniowośd wystąpiła i chcąc się jej pozbyd z modelu, usuwamy te cechy, które są liniową kombinacją innych zmiennych niezależnych.

2 1

) 1

( 

i

i

R

VIF

(91)

Radą na współliniowośd jest według niektórych prac zwiększenie zbioru obserwacji o nowe, tak, by zminimalizowad istniejące zależności liniowe pomiędzy zmiennymi objaśniającymi.

Oczywiście, zwiększenie liczby obserwacji nie gwarantuje poprawy -stąd takie rozwiązanie na pewno nie należy do najlepszych i jedynych. Lepszym wydaje się komponowanie

zmiennych zależnych w nowe zmienne (np. waga i wzrost są skorelowane silnie i zamiast nich stworzenie jednej zmiennej stosunek wzrostu do wagi. Taką nową zmienną nazywa się w literaturze kompozytem.

Często - dla dużej liczby zmiennych objaśniających - stosuje sie metodę analizy składowych głównych (ang. principal component analysis) dla redukcji liczby zmiennych do jednego lub kilku kompozytów niezależnych.

(92)

Przykład modelu ze współliniowością

Gdzie x3i = 10 * x1i - 2 * x2i .

Wtedy powiemy, że zmienna x3 jest kombinacją liniową zmiennych x1 i x2.

Próba szacowania takiego modelu związana jest ze świadomym popełnianiem błędu, gdyż w modelu tym występuje dokładna współliniowośd (jedna ze zmiennych objaśniających jest kombinacją liniową pozostałych).

Dla modelu postaci:

yi = b0 + b1 x1i + b2 x2i + b3 x3i + e1i

(93)

W środowisku R sprawdzanie współliniowości nie jest trudne. Wystarczy skorzystad z funkcjivif 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.

Wartości współczynnika $VIF$ nie są zbyt wysokie toteż uznajemy, że w modelu tym nie występuje zjawisko współliniowości.

Cytaty

Powiązane dokumenty

Dla danych z Arkusza2 pliku StatystOpis.xlsx oblicz podstawowe charakterystyki oraz współczynnik korelacji przedstawiający zależność ceny 1m 2 od powierzchni mieszkania..

Próba szacowania takiego modelu związana jest ze świadomym popełnianiem błędu, gdyż w modelu tym występuje dokładna współliniowość (jedna ze zmiennych

Im bardziej różni się wartość zmiennej (bądź zmiennych) objaśniającej dla i-tej obserwacji od wartości średniej, tym większa jest wartość tzw. dźwigni dla

Poniższe dane z dziesięciu poletek dotyczą efektywności nawożenia łąk azotem (w kg siana na 1 kg N) w zależności od poziomu nawożenia azotem:.. Zbadać, czy istnieje

• zakłada się, że rozważane zmienne zostały zmierzone co najmniej na skali porządkowej (rangowej), tzn. że indywidualne obserwacje mogą być zestawione

W celu sprawdzenia tego przypuszczenia wylosowano 10 gospodarstw domowych, dla których określono roczny dochód na głowę członka gospodarstwa domowego (zmienna X) oraz roczne

The experimental results were used as input to a mathematical model of the linearized lateral equations of motion of a typical STOL aircraft, yielding the

(32) gdzie oznacza wektor (p + 2×1) ocen parametrów struk­ turalnych modelu (31), Z jest macierzą (o wymiarach n—k×p+2) wyz­ naczonych wartości zmiennych objaśniających 18 , a