Quantile Regression

Post on 13-Apr-2017

322 views 0 download

Transcript of Quantile Regression

Regresja kwartylowa

2

Do czego służy statystyka?

Problem na dziś:Czy niebieskoocy zarabiają więcej niż

zielonoocy?

Czy kontakt z reklamą produktu wpływa na znajomość marki?

3

Do czego służy statystyka?

Próba versus populacja

PopulacjaPróba

Losowanie reprezentatywne

W jaki sposób badamy

Obserwacje dla próbyWnioski dla

populacji

4

Ale co z tym wynagrodzeniem?

5

Ale co z tym wynagrodzeniem?

6

Średnia, mediana, kwartyle, decyle i percentyle

kolor oczuilość obserwacji średnia mediana kwartyl 1 (25%) kwartyl 3 (75%)

kwartyl 4 (100%) - wartość maksymalna

niebieskie 120 110,10 108,00 80,00 140,00 220,00

zielone 125 102,30 104,00 72,00 128,00 208,00

kolor oczu percentyl 5% percentyl 95%

niebieskie 40,00 184,20

zielone 32,00 176,00

kolor oczu decyl 10% decyl 20% decyl 80% decyl 90%

niebieskie 52,00 72,00 152,80 168,00

zielone 45,60 68,00 136,00 150,40

7

Typy rozkładów• Normalny• Prawoskośny• Lewoskośny

8

Ale co z tym wynagrodzeniem?

kolor oczuilość obserwacji średnia

niebieskie 120 110,10

zielone 125 102,30

O co tak naprawdę pytamy?Gdyby kolor oczu nie wpływał na wysokość wynagrodzenia,

to…?

Średnie wynagrodzenie w obu grupach by było równe To będzie nasza hipoteza zerowa.

9

I ?

Poziom istotności p – im niższy tym lepiej :)

1. prawdopodobieństwo uzyskania takiego wyniku pod warunkiem, że hipoteza zerowa jest prawdziwa

2. prawdopodobieństwo popełnienia błędu pierwszego rodzaju, czyli: odrzucenia prawdziwej hipotezy zerowej

Za dobrą wartość graniczną zazwyczaj uznaje się 0,05 (p<0,05)

t = -1,4114, p-value = 0,1594

kolor oczuilość obserwacji średnia

niebieskie 120 110,10

zielone 125 102,30

10

I ?

Nie mamy podstaw do odrzucenia naszej hipotezy zerowej.

Świat statystyka nie jest symetryczny: p < 0,05 – odrzucamy hipotezę zerowąp >= 0,05 – nie mamy podstaw do odrzucenia hipotezy zerowej

t = -1,4114, p-value = 0,1594

kolor oczuilość obserwacji średnia

niebieskie 120 110,10

zielone 125 102,30

11

Na ile sposobów możemy coś popsuć?

nie odrzucamy hipotezy zerowej

odrzucamy hipotezę zerową

hipoteza zerowa prawdziwa OK

błąd pierwszego rodzaju

hipoteza zerowa fałszywa błąd drugiego rodzaju OK

Czy oba rodzaje błędów zawsze jednakowo bolą?• decyzja o przyznaniu kredytu• decyzja o dopuszczeniu na rynek nowego leku

12

To co z tą regresją?

13

To co z tą regresją?

sposób dopasowania modelu:

metoda najmniejszych kwadratów

14

Jeden predyktor

model=lm(reg$wynagrodzenie ~ reg$staz)summary(model)

plot(reg$wynagrodzenie ~ reg$staz, main="Wynagrodzenie vs staż pracy", ylab="wynagrodzenie", xlab="staż pracy")abline(lm(reg$wynagrodzenie ~ reg$staz), col="blue")

15

Jeden predyktor

Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) 73.5684 6.3993 11.496 < 2e-16 ***reg$staz 3.0500 0.5475 5.571 6.7e-08 ***---Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 40.84 on 243 degrees of freedomMultiple R-squared: 0.1133, Adjusted R-squared: 0.1096 F-statistic: 31.04 on 1 and 243 DF, p-value: 6.697e-08

Szukamy równania o postaci:Y= β0 + β1*X1

Czyli mamy: wynagrodzenie = 73,5684 + 3,05*stazA gdy staz = 0?

16

Nazewnictwo

Szukamy równania o postaci:Y= β0 + β1*X1+ β2*X2 + … + βn*Xn

Y – zmienna zależna, modelowanaX1 … Xn – zmienne niezależne, predyktory

Najważniejszy dla nas współczynnik, to:R-kwadrat

przyjmuje wartości z zakresu 0-1jaki procent zmienności zmiennej zależnej wyjaśniają predyktory

17

Spróbujmy inaczej

18

Jeden predyktor

model=lm(reg$wynagrodzenie ~ reg$staz -1)summary(model)

plot(reg$wynagrodzenie ~ reg$staz, main="Wynagrodzenie vs staż pracy", ylab="wynagrodzenie", xlab="staż pracy")abline(lm(reg$wynagrodzenie ~ reg$staz), col="blue")abline(lm(reg$wynagrodzenie ~ reg$staz -1), col="red")

19

Jeden predyktor

Coefficients: Estimate Std. Error t value Pr(>|t|) reg$staz 8.7970 0.2768 31.79 <2e-16 ***---Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 50.64 on 244 degrees of freedomMultiple R-squared: 0.8055, Adjusted R-squared: 0.8047 F-statistic: 1010 on 1 and 244 DF, p-value: < 2.2e-16

Szukamy równania o postaci:Y= β0 + β1*X1

Czyli mamy: wynagrodzenie = 8,797*staz

20

Dwa predyktory

> model=lm(reg$wynagrodzenie ~ reg$wiek + reg$staz -1)> summary(model)

Coefficients: Estimate Std. Error t value Pr(>|t|) reg$wiek 1.0729 0.1472 7.290 4.35e-12 ***reg$staz 4.5681 0.6322 7.226 6.41e-12 ***---Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 45.96 on 243 degrees of freedomMultiple R-squared: 0.8404, Adjusted R-squared: 0.8391 F-statistic: 639.7 on 2 and 243 DF, p-value: < 2.2e-16

Czyli ostatecznie: wynagrodzenie = 1,0729*wiek + 4,5681*staz

21

Dwa predyktory – tak dla porządku

> model=lm(reg$wynagrodzenie ~ reg$wiek + reg$staz)> summary(model)

Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) 117.5809 12.8216 9.171 < 2e-16 ***reg$wiek -1.0284 0.2620 -3.925 0.000113 ***reg$staz 3.6652 0.5545 6.610 2.44e-10 ***---Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 39.68 on 242 degrees of freedomMultiple R-squared: 0.1663, Adjusted R-squared: 0.1594 F-statistic: 24.14 on 2 and 242 DF, p-value: 2.754e-10

22

Nasz model

wynagrodzenie = 1,0729*wiek + 4,5681*stazp = 0,8391

Kogo opisuje nasz model?

R2

gdzie y – średnia z wartości obserwowanych

23

Regresja kwartylowa

W zwykłej regresji:Y= β0 + β1*X1+ β2*X2 + … + βn*Xn

A gdyby tak to samo, ale dla poszczególnych kwartyli/decyli/percentyli?

24

Regresja kwartylowa

library(quantreg)

taus <- c(0.05, 0.1, 0.25, 0.75, 0.9, 0.95)

plot(reg$wynagrodzenie ~ reg$staz, main="Wynagrodzenie vs staz", ylab="wynagrodzenie", xlab="staż pracy")

for (i in 1:length(taus)) { abline(rq(reg$wynagrodzenie ~ reg$staz -1, tau = taus[i]), col = "gray")}

25

Regresja kwartylowa

26

Regresja kwartylowatau: [1] 0.05 Value Std. Error t value Pr(>|t|)reg$wiek -0.19556 0.11202 -1.74571 0.08212reg$staz 4.37333 0.79955 5.46974 0.00000

tau: [1] 0.25 Value Std. Error t value Pr(>|t|)reg$wiek 0.28571 0.17995 1.58770 0.11365 reg$staz 5.42857 0.70625 7.68651 0.00000

tau: [1] 0.5 Value Std. Error t value Pr(>|t|)reg$wiek 0.90040 0.20075 4.48509 0.00001 reg$staz 5.43426 0.76791 7.07673 0.00000

tau: [1] 0.75 Value Std. Error t value Pr(>|t|)reg$wiek 1.79420 0.19908 9.01253 0.00000 reg$staz 4.32190 0.74202 5.82452 0.00000

tau: [1] 0.95 Value Std. Error t value Pr(>|t|)reg$wiek 3.13835 0.78113 4.01773 0.00008 reg$staz 2.92820 3.15226 0.92892 0.35385

27

Warto przeczytać

Roger Koenker. Quantile Regression (Econometric Society Monographs). 2005.

http://www.econ.uiuc.edu/~roger/research/rq/vig.pdf

http://cran.r-project.org/web/packages/quantreg/quantreg.pdf

28

Dziękuję za uwagę

Radosław Kitaradoslaw.kita@alior.pl