• Nie Znaleziono Wyników

Lepiej zapobiegać niż leczyć Diagnostyka regresji

N/A
N/A
Protected

Academic year: 2021

Share "Lepiej zapobiegać niż leczyć Diagnostyka regresji"

Copied!
12
0
0

Pełen tekst

(1)

Lepiej zapobiegać niż leczyć

Diagnostyka regresji

Anceps remedium melius quam nullum

Na tych zajęciach nauczymy się identyfikować zagrożenia dla naszej analizy regresji. Jednym elementem jest oczywiście niespełnienie założeń. Nie wszystkie założenia są równie istotne i mają równie dramatyczny wpływ na wyniki. Drugim jest fakt, że dane mogą być źle sformatowane, zapisane w złej skali lub po prostu błędne.

Model liniowy:

y ∼ Xβ + 

Główne założenie jaki robimy to IID o resztach. Diagnostyka będzie się zatem opierać na badaniu, na ile to założenie jest spełnione w naszym modelu.

Anscombe’s quartet

Dane spreparowane przez Franka Anscombe w 1973 roku.

#### Attaching package: 'dplyr'

## The following objects are masked from 'package:stats':

#### filter, lag

## The following objects are masked from 'package:base':

#### intersect, setdiff, setequal, union

## # A tibble: 4 x 6

## group mean(x) sd(x) mean(y) sd(y) cor(x, y)

## <fctr> <dbl> <dbl> <dbl> <dbl> <dbl>

## 1 1 9 3.316625 7.500909 2.031568 0.8164205

## 2 2 9 3.316625 7.500909 2.031657 0.8162365

## 3 3 9 3.316625 7.500000 2.030424 0.8162867

## 4 4 9 3.316625 7.500909 2.030579 0.8165214

Podstawowe statystyki dla każdego zbioru są takie same. Co więcej, podobnie ma się sprawa ze współczyn- nikami regresji liniowej.

for(i in 1:4){

print(i)

print(summary(lm(y~x, anscombe.data, anscombe.data$group==i))$coeff) }

## [1] 1

## Estimate Std. Error t value Pr(>|t|)

## (Intercept) 3.0000909 1.1247468 2.667348 0.025734051

## x 0.5000909 0.1179055 4.241455 0.002169629

(2)

## (Intercept) 3.0024545 1.1244812 2.670080 0.025619109

## x 0.4997273 0.1178777 4.239372 0.002176305

## [1] 4

## Estimate Std. Error t value Pr(>|t|)

## (Intercept) 3.0017273 1.1239211 2.670763 0.025590425

## x 0.4999091 0.1178189 4.243028 0.002164602

Okazuje się jednak, że każdy z tych zbiorów jest zupełnie inny. W dodatku tylko jeden z nich „nadaje" się do dopasowania modelu liniowego

ggplot(anscombe.data, aes(x,y)) + geom_point() + facet_grid(.~group) +

stat_smooth(method = "lm", col = "red", se = F, fullrange = T)

1 2 3 4

5.0 7.5 10.0 12.5

5 10 15 5 10 15 5 10 15 5 10 15

x

y

W tym wypadku jesteśmy w stanie organoleptycznie stwierdzić, że coś jest nie tak. Przy większej liczbie wymiarów mogłoby to być niemożliwe. Z oczywistych względów zależy nam na tym, żeby sprawdzić czy dopasowany model ma sens. Pomoże nam w tym diagnostyka regresji.

Funkcje z pakietu base

lmAnscombe1=lm(y~x, anscombe.data, anscombe.data$group==1) par(mfrow=c(2,3)) # Change the panel layout to 2 x 2 plot(lmAnscombe1, 1:6)

(3)

5 6 7 8 9 10

−2−1012

Fitted values

Residuals

Residuals vs Fitted

3 9

10

−1.5 −0.5 0.5 1.5

−1012

Theoretical Quantiles

Standardized residuals

Normal Q−Q

3

9

10

5 6 7 8 9 10

0.00.40.81.2

Fitted values Standardized residuals

Scale−Location

9 3 10

2 4 6 8 10

0.00.20.4

Obs. number

Cook's distance

Cook's distance

3

9

10

0.00 0.10 0.20 0.30

−2−1012

Leverage

Standardized residuals

Cook's distance

1 0.5 0.5 1

Residuals vs Leverage

3 9

10

0.00.20.4

Leverage hii

Cook's distance

0.05 0.15 0.25 0 0.5 1 1.5

2

Cook's dist vs Leverage h

ii

( 1

3

9

10

par(mfrow=c(1,1))

Na dzisiejszych zajęciach nauczymy się analizować powyższe wykresy.

Residuals vs Fitted

Residua poznaliśmy już na poprzednich zajęciach.

r = ˆ = y − ˆy = y − Hy = (I − H)y

Residua powinny oscylować wokół 0, ponieważ rozkład residuów ma średnią 0 (dlaczego?). W szczególności nie powinno być zależności residuów od ˆy.

Uwaga! Kiedy mamy więcej niż jedną zmienną objaśniającą warto jest porównać wizualnie reszty i wartości dla każdej ze zmiennych objaśniających. Co nam mówi zależność w tych danych? Jak sprawdzić czy taka zależność występuje?

Normal QQ

Zobaczmy coś, co nie działa

lmAnscombe3=lm(y~x, anscombe.data, anscombe.data$group==3) plot(lmAnscombe3, 2)

(4)

−1.5 −1.0 −0.5 0.0 0.5 1.0 1.5

−1 0 1 2 3

Theoretical Quantiles

Standardiz ed residuals

lm(y ~ x) Normal Q−Q

25

28

31

Czym są standardized residuals? Zauważmy, że:

r = ˆ = y − ˆy = y − Hy = (I − H)y = (I − H).

Ostatnia równość wynika wprost z definicji. Zatem

r ∼ N (0, σ2(I − H)T(I − H) = N (0, σ2(I − H)).

Ponieważ znamy macierz H, to możemy ustandaryzować r, tak żeby każde residuum miało wariancję równą 1

rstdi = ri

p ˆσ2(1 − hi)∼ N (0, 1)

Gdzie hi jest i-tym elementem na przekątnej macierzy H. Podkreślmy jeszcze raz, że reszty (także standary- zowane) NIE są niezleżne. Ich zalezność dana jest przez macierz H.

Ćwiczenie, z własności macierzy rzutu H 1. ∀i 1

n < hi< 1 2. P

ihi= p

Zatem możemy oczekiwać, żeby reszty standaryzowane układały się wzdłuż wykresu qqnorm. Obserwacje, które nie sprawiają, że mamy grubsze ogony niż rozkład normalny są obserwacjami odstającymi.

Co zrobić jeśli jesteśmy bardzo daleko od rozkładu normalnego?

Scale location

plot(lmAnscombe3, 3)

(5)

5 6 7 8 9 10

0.0 0.5 1.0 1.5

Fitted values

S ta n d a rd iz e d r e s id u a ls

lm(y ~ x) Scale−Location

25

28 31

Ważnym założeniem jakie czynimy w regresji liniowej jest jednorodność wariancji. W szczególności wariancja nie powinna zależeć funkcyjnie od wartości ˆyi.

Residuals vs Leverage

lmAnscombe2=lm(y~x, anscombe.data, anscombe.data$group==2) plot(lmAnscombe2, 5)

abline(v=2*ncol(anscombe.data)/nrow(anscombe), col="blue")

(6)

0.00 0.05 0.10 0.15 0.20 0.25 0.30

−2.0 −1.0 0.0 1.0

Leverage

Standardiz ed residuals

lm(y ~ x)

Cook's distance

1

0.5 0.5

Residuals vs Leverage

17 19 14

Przez dźwignię (ang. leverage) oznaczamy wartości hi. Skąd nazwa dźwignia i o czym ona mówi? hi mówi o wpływie jaki na ˆyi ma yi.

hi=∂ ˆyi

∂yi

Przeciętna wartość hi= pn (dlaczego?). W związku z tym, reguła kciuki mówi, że obserwacjami wpływowymi są te, dla których hi2pn. p to liczba kolumn macierzy X.

Na powyższym wykresie możemy zidentyfikować obserwacje wpływowe, a także sprawdzić czy wariancja residuów nie zależy od wpływowości obserwacji. Innymi słowy, chcemy, żeby nie było zależności.

Obserwacje o dużym leverage są potencjalnie obserwacjami wpływowymi, to znaczy mogą mieć duży wpływ na wyznaczenie parametrów w modelu i dopasowanie danych do modelu (R2).

Cook’s distance plot(lmAnscombe2, 4)

(7)

2 4 6 8 10

0.0 0.2 0.4 0.6 0.8

Obs. number

Cook's distance

lm(y ~ x) Cook's distance

17 19

14

Miara określająca jaki wpływ na dopasowane wartości ˆy ma obserwacja xi. Liczymy dopasowania dla modelu z pełnymi danymi, i z danymi bez i-tej obserwacji.

Di= Pn

j=1yj− ˆyj,−(i))2 pˆσ2

Dlaczego takie normowanie? pˆσ2 to RSS w naszym modelu. Odjęcie jednej obserwacji, nie powinno mieć większego wpływu. Stąd reguła kciuka mówi, że wpływowa jest obserwacja o mierze Cooka większej niż 1.

Cook’s dist vs Leverage plot(lmAnscombe2, 6)

(8)

0.0 0.2 0.4 0.6 0.8

Leverage h

ii

Cook's distance

0.05 0.1 0.15 0.2 0.25 0.3

lm(y ~ x)

0 0.5 1 1.5

2

Cook's dist vs Leverage h

ii

( 1 − h

ii

)

17 19

14

Zauważmy, że możemy przepisać z definicji miarę Cooka jako:

Di= ( ˆβ − ˆβ−(i))T(XTX)( ˆβ − ˆβ−(i))

pˆσ2 =1

p hi

1 − hi

ri2

czyli zależy od reszty i dźwigni. Obserwacja wpływowa nie musi być niedopasowana do modelu. Obserwacja o dużej reszcie nie musi być wpływowa.

Jak należy rozumieć linie na wykresie? To wartości standardized residuals. Widać w jakich zakresach należy się spodziewać danych residuuów, czyli można je automatycznie rozpoznać.

Dane o wzroście kobiet w USA

data(women) # Load a built-in data called ‘women’

ggplot(women, aes(x=height, y=weight)) + geom_point()

(9)

120 130 140 150 160

60 64 68 72

height

weight

Mogłoby się wydawać, że regresja powinna hulać, ale. . . fit = lm(weight ~ height, women)

par(mfrow=c(2,3)) plot(fit, 1:6)

(10)

120 140 160

−20123

Fitted values

Residuals

Residuals vs Fitted

15 1

8

−1 0 1

−1012

Theoretical Quantiles

Standardized residuals

Normal Q−Q

15 1

8

120 140 160

0.00.51.01.5

Fitted values Standardized residuals

Scale−Location

15 1

8

2 4 6 8 12

0.00.40.8

Obs. number

Cook's distance

Cook's distance

15

1

14

0.00 0.10 0.20

−1012

Leverage

Standardized residuals

Cook's distance

0.5 1

Residuals vs Leverage

15 1 14

0.00.40.8

Leverage hii

Cook's distance

0.05 0.15 0.2 00.5 1 1.5 2

2.5

Cook's dist vs Leverage h

ii

( 1

15

1

14

par(mfrow=c(1,1))

Testy diagnostyczne

Będziemy używać pakietu lmtest. Ma całkiem dobrą dokumentację library(lmtest)

vignette("lmtest-intro", package="lmtest")

Jednorodność wariancji

Najbardziej krytyczne założenie w regresji liniowej jest to dotyczące jednorodności wariancji. Uwaga, nie jest największym problemem rozkład y. Nie musi być normalny. Przy dużej liczbie obserwacji residua mają rozkład normalny z CTG. Natomiast w przypadku niejednorodnej wariancji nic nie działa na naszą korzyść. W jednym z wykresów statystycznych patrzyliśmy na zależność pomiedzy wariancja a dopasowanymi wartościami.

Test Breuscha-Pagana

H0: wariancja jest jednorodnna H1: wariancja zależy od zmiennych objaśniających bptest(weight~height, data = women)

#### studentized Breusch-Pagan test

#### data: weight ~ height

## BP = 1.0088, df = 1, p-value = 0.3152

(11)

Test niezależności reszt

H0: niezależność reszt H1: autokorelacja rzędzu 1 ze względu na daną zmienną objaśniającą dwtest(weight~height, order.by = ~height, data = women)

#### Durbin-Watson test

#### data: weight ~ height

## DW = 0.31538, p-value = 1.089e-07

## alternative hypothesis: true autocorrelation is greater than 0

Dlaczego to niedobrze? Ten wynik sugeruje, że jest w danych dodatkowa zależność, które nie zdołaliśmy ująć w modelu liniowym. Zobaczmy co się dzieje na wykresie

plot(residuals(fit)~height, data=women)

58 60 62 64 66 68 70 72

−1 0 1 2 3

height

residuals(fit)

Test Harveya-Colliera

Czy zależnosć pomiędzy zmiennymi jest liniowa?

harvtest(weight~height, order.by = ~height, data = women)

#### Harvey-Collier test

#### data: weight ~ height

## HC = 3.7176, df = 12, p-value = 0.00294

(12)

120 130 140 150 160

60 64 68 72

height

weight

Alternatywne pakiety

Bardzo dobry zestaw narzędzi do diagnostyki regresji znajduje się w pakiecie car.

Cytaty

Powiązane dokumenty

Z tego też powodu jako synonimu terminu wartość oczekiwana niejednokrotnie używa się określenia wartość średnia lub krótko: średnia.. Należy jednak zdecydowanie

(a) Gracz rzuca kostką do gry i otrzymuje 25 zł za liczbę oczek podzielną przez 3, a płaci 5 zł za każdy inny wynik. Ma on możliwość wykonania co najwyżej 5 rzutów,

Oddzielną sesję w tym roku poświęcono chorobom serca występującym u sportowców – powiedział Radiu Merkury przewodniczący komitetu organi- zacyjnego kongresu prof.. Jego

[r]

Wprowadź nowe, nieskorelowane zmienne (składowe główne ze zmien-

wierzchniami i właściwie przeszkolić służby utrzymania w zakresie wymaga- nych prac. Przed rozpoczęciem sezonu zimowego należy bezwzględnie spraw- dzić stan zanieczyszczenia

Dla próby danych wartością oczekiwaną jest średnia arytmetyczna... Zbadaj serie danych oraz zależności

porznąü a.. W artykule przedstawiono losy wariantów innowacyjnych, czyli takich, które poja- wiły się w normie skodyfikowanej jako element konkurencyjny wobec jedynej formy