Wykład 1 Prosta regresja liniowa - model i estymacja parametrów. Regresja z wieloma zmiennymi - analiza, diagnostyka i interpretacja wyników.
Literatura pomocnicza J. Koronacki i J. Ćwik Statystyczne systemy uczące się. Wydawnictwo Naukowo- Techniczne, 2005. J. Koronacki i J. Mielniczuk Statystyka dla studentów kierunków technicznych i przyrodniczych. Wydawnictwo Naukowo-Techniczne, 2006. P. Biecek Przewodnik po pakiecie R. http://cran.r-project.org/doc/contrib/biecek-r-basics.pdf
Prosta regresja liniowa Pytanie : Mając próbę zawierającą wartości zmiennych dla badanych obiektów, na przykład X i oraz Y i, pytamy czy istnieje związek pomiędzy tymi wartościami? Szukamy związku liniowego gdzie β 0 i β 1 są współczynnikami. Na przykład pytamy : y = β 0 + β 1 x Czy istnieje związek pomiędzy liczbą wypalanych papierosów a zachorowalnością na raka płuc? Co możemy powiedzieć o związkach pomiędzy wiekiem drzewa a jego wysokością? Czy śmiertelność noworodków wzrasta wraz ze spadkiem wysokości dochodów na osobę? Czy możemy stwierdzić że im więcej lat edukacji tym dłuższa oczekiwana długość życia?
Przykład 1.1 Dane DANE1.txt 1 data1 <- read. table (" DANE1. txt ", header = TRUE ) 2 hist ( data1 $X) Histogram of data1$x Frequency 0 1 2 3 4 5 6 7 0 20 40 60 80 100 data1$x Rysunek: Histogram - DANE1
Przykład 1.1(cd) 1 plot ( data1 $X, data1 $Y) Rysunek: DANE1
Prosty model regresji liniowej Dla i = 1, 2..., n Y i zmienna objaśniana X i zmienna objaśniająca Model Y i = β 0 + β 1 X i + ε i Y i wartość zmiennej objaśnianej dla i-tego osobnika β 0 - wyraz wolny β 1 - współczynnik nachylenia X i - wartość zmiennej objaśniającej dla i-tego osobnika ε i - błąd losowy o rozkładzie normalnym, ze średnią 0 i wariancją σ 2.
Własności prostego modelu regresji liniowej Y i = β 0 + β 1 X i + ε i E(Y i X i ) = β 0 + β 1 X i Var(Y i X i ) = σ 2. Interpretacja prostego modelu regresji liniowej W zależności od znaku i wartości współczynnika β 1, możemy interpretować model na trzy sposoby Gdy X rośnie, wartości Y rosną, maleją lub pozostają bez zmiany
Estymacja współczynników modelu Dopasowane równanie regresji Ŷ i = b 0 + b 1 X i Reszty modelu e i = Y i Ŷ i e i = Y i (b 0 + b 1 X i ) Metoda najmniejszych kwadratów (MNK): Wyznaczenie b 0 i b 1 minimalizujących (Y i (b 0 + b 1 X i )) 2 = i i e 2 i
Współczynniki modelu wyznaczone metodą MNK Minimalizacja wyrażenia i (Y i (b 0 + b 1 X i )) 2 prowadzi do : b 1 = i (X i X )(Y i Y ) i (X i X ) 2 b 0 = Y b 1 X Są to też estymatory największej wiarogodności
Przykład 1.1 - Dopasowanie modelu liniowego 1 X <- data1 $X 2 Y <- data1 $Y 3 lm(y ~ X) 4 5 lm. linear <- lm(y ~ X) 6 lm. linear Wynik Call: lm(formula = Y ~ X) Coefficients: (Intercept) X 5.4226 0.2526
Przykład 1.1- Podsumowanie wyników modelu 1 summary (lm. linear ) Call: lm(formula = Y ~ X) Residuals: Min 1Q Median 3Q Max -13.3153-5.0549-0.3794 4.5765 17.5913 Powierzchowna informacja o rozkładzie reszt. Średnia reszt jest z definicji równa zero, a więc mediana powinna być bliska zeru Minimum i maximum powinny być z grubsza równe co do wartości bezwzględnej
Przykład 1.1- Podsumowanie wyników modelu Coefficients: Estimate Std. Error t value Pr(> t ) (Intercept) 5.42265 2.46541 2.199 0.034 * X 0.25259 0.03832 6.592 8.81e-08 *** Współczynniki regresji Błędy standardowe Wartości statystyki t i p-wartości Signif.codes:0 *** 0.001 ** 0.01 * 0.05. 0.1 1 *** oznacza 0 < p < 0.001 ** oznacza 0.001 < p < 0.01 * oznacza 0.01 < p < 0.05 itd.
Przykład 1.1- Podsumowanie wyników modelu Residual standard error: 7.537 on 38 degrees of freedom Błąd standardowy reszt - opisuje wahania obserwacji wokół prostej regresji przy wyestymowanych współczynnikach modelu. Multiple R-squared: 0.5335, Adjusted R-squared: 0.5212 Pierwsza wartość to współczynnik korelacji Pearsona Druga wartość to skorygowana wartość R 2 - jeśli przemnożymy ją przez 100%, może być interpretowana jako % redukcji wariancji
Przykład 1.1 - Podsumowanie wyników modelu F-statistic: 43.45 on 1 and 38 DF, p-value: 8.811e-08 Wartość statystyki F dla testowania hipotezy o tym, że współczynnik regresji β 1 jest równy 0. Daje ten sam wynik, co test t dla hipotezy β 1 = 0 - test F jest równy kwadratowi testu t: 43.45 = (6.592) 2. Jest tak dla każdego modelu z jednym stopniem swobody.
Przykład 1.1 - Rysunek prostej regresji 1 plot ( data1 $X, data1 $Y) 2 abline (lm. linear )
Przykład 1.1 - Histogram reszt modelu 1 residuals ( lm. linear ) 2 lm. linear. resids <- residuals ( lm. linear ) 3 hist (lm. linear. resids )
Przykład 1.1 - Wartości dopasowane 1 fitted (lm. linear ) Funkcja fitted zwraca jako wynik wartości dopasowane przez model - wartości Y które uzyskalibyśmy przy najlepiej dopasowanej prostej regresji, przy danych obserwacjach X w naszym przykładzie : 5.42265 + 0.25259 X
Przykład 1.1 - Wartości dopasowane 1 plot (X,Y) 2 lines (X, fitted ( lm. linear ))
Przykład 1.1 - Wartości dopasowane a reszty 1 plot (X,Y) 2 lines (X, fitted ( lm. linear )) 3 segments (X, fitted (lm. linear ),X,Y)
Przykład 1.1 - Wartości dopasowane a reszty 1 plot ( fitted (lm. linear ),resid (lm. linear ))
Przykład 1.1 - Wykres kwantyl-kwantyl 1 qqnorm ( resid (lm. linear )) Układ punktów na przekątnej sugeruje, że reszty pochodzą z rozkładu normalnego.
Przedziały ufności i przedziały predykcyjne Przedziały ufności Wyrażają niepewność co do wyznaczonej prostej regresji; dokładność z jaką ta prosta jest znana Wąskie przedziały ufności oznaczają dobrze dopasowaną prostą regresji Zazwyczaj są wyznaczone przez łukowate krzywe - prosta regresji jest lepiej wyznaczona w obszarze zagęszczenia obserwacji Przedziały predykcyjne Szersze niż przedziały ufności Wyrażają niepewność na temat przyszłych obserwacji Pomiędzy ich liniami znajduje się znaczna większość obserwacji Wykorzystują założenie o normalności rozkładu błędów
Przedziały ufności i przedziały predykcyjne 1 pred. frame <- data. frame (X =4:100) 2 pp <- predict ( lm. linear, int="p", newdata =pred. frame ) 3 pc <- predict ( lm. linear, int="c", newdata =pred. frame ) 4 plot (X,Y, ylim=range (Y, pp, na. rm=t)) 5 pred.x <- pred. frame $X 6 matlines ( pred.x, pc, lty=c (1,2,2), col=" red ") 7 matlines ( pred.x, pp, lty=c (1,3,3), col=" blue ") Tworzymy nowy zakres danych X dla których chcemy wyznaczyć przedziały predykcyjne pp i pc - przedziały predykcyjne i ufności dla nowo wybranych danych Zapewniamy obszar potrzebny na przedziały: ylim=range(y, pp, na.rm=t) Dodajemy linie używając wybranych wartości X
Przedziały ufności i przedziały predykcyjne
Wartości dopasowane wraz z przedziałami 1 predict ( lm. linear, int="c") 2 predict ( lm. linear, int="p") fit lwr upr 1 15.021216 12.2211095 17.82132 2 7.948586 3.6204244 12.27675 3 20.578283 18.1490349 23.00753 4 28.156101 24.6003242 31.71188... fit - wartości oczekiwane (równe wartościom dopasowanym) lwr i upr oznaczają dolne i górne ograniczenia przedziału dla wartości oczekiwanych
Korelacja Współczynnik korelacji Symetryczna i niezależna od skali miara związku pomiędzy dwoma zmiennymi losowymi Przyjmuje wartości od 1 do +1, gdzie + 1 oznacza idealną korelację, 0 oznacza brak korelacji. Znak ujemny gdy duże wartości jednej zmiennej są związane z małymi wartościami drugiej zmiennej. Znak dodatni gdy obie zmienne rozsną lub maleją jednocześnie.
Korelacja Współczynnik korelacji Pearsona r = i (X i X )(Y i Y ) i (X i X ) 2 i (Y i Y ) 2 r jest mniejsza od 1, chyba że istnieje idealna liniowa zależność pomiędzy X i a Y i. Nazywany współczynnikiem korelacji liniowej 1 cor (X,Y, use=" complete. obs ") 2 cor ( data1, use =" complete. obs ") X Y X 1.0000000 0.7304003 Y 0.7304003 1.0000000
Testowanie istotności wpółczynnika korelacji Pearsona Testowanie hipotezy o tym, czy współczynnik korelacji jest istotnie różny od zera 1 cor. test (X,Y) Pearson s product-moment correlation data: X and Y t = 6.592, df = 38, p-value = 8.811e-08 alternative hypothesis: true correlation is not equal to 0 95 percent confidence interval: 0.5422723 0.8487879 sample estimates: cor 0.7304003 Otrzymujemy również 95% przedział ufności dla prawdziwej wartości korelacji
Rangowy współczynnik korelacji Spearmana Zastąpienie obserwacji ich rangami (indeksem w porządku rosnącym) Nie wymaga założenia o rozkładzie normalnym. 1 cor. test (X,Y, method =" spearman ") Spearman s rank correlation rho data: X and Y S = 2553.857, p-value = 1.249e-08 alternative hypothesis: true rho is not equal to 0 sample estimates: rho 0.7604261 Warning message: In cor.test.default(x, Y, method = "spearman") : Cannot compute exact p-values with ties
Współczynnik korelacji τ Kendala Bazuje na zliczaniu liczby uporządkowanych par obserwacji pary (X1, Y 1) i (X 2, Y 2) są uporządkowane jeśli X 1 X 2 > 0 i Y 1 Y 2 > 0 lub X 1 X 2 < 0 i Y 1 Y 2 < 0 Przy hipotezie zerowej o niezależności powinno być tyle samo par uporządkowanych co nieuporządkowanych
Współczynnik korelacji τ Kendala 1 cor. test (X,Y, method =" kendall ") Kendall s rank correlation tau data: X and Y z = 5.2001, p-value = 1.992e-07 alternative hypothesis: true tau is not equal to 0 sample estimates: tau 0.5828973
Regresja z wieloma zmiennymi
Regresja z wieloma zmiennymi Większa liczba zmiennych objaśniających Podstawowy model Y i = β 0 + β 1 X i,1 + + β k X i,k + ε i, gdzie X 1, X 2,..., X k są zmiennymi objaśniającymi, X i,j - i-ta obserwacja j-tej zmiennej objaśniającej Parametry β 0, β 1,..., β k estymowane metodą MNK
Przykład 1.2 Dane przykładowe: pakiet ISwR, dane cystfibr Dane dotyczą funckjonowania płuc u osób chorych na mukowiscydozę Jak uzyskać dane? Instalacja pakietu ISwR (Packages -> Install Packages) Packages ->Load Package -> ISwR data(cystfibr) Edycja danych: Edit -> Data editor -> cystfibr Przydatne komendy dla zbiorów danych w R 1 data () # lista wszystkich dostępnych zbiorów danych 2 try ( data ( package = " ISwR ") )# lista zbiorów danych w pakiecie ISwR 3 data ( cystfibr ) # załaduj zbiór danych 4 help ( cystfibr ) # informacje o zbiorze danych cystfibr
Przykład 1.2 Dane przykładowe: pakiet ISwR, dane cystfibr Dane dotyczą funckjonowania płuc u osób chorych na mukowiscydozę age Wiek w latach sex Płeć 0: mężczyzna, 1:kobieta. height Wzrost (cm). weight Waga (kg). bmp Indeks masy ciała. fev1 Wymuszona objętość oddechowa. rv Pozostała objętość. frc Funkcjonalna pojemność. tlc Całkowita pojemność płuc. pemax Maksymalne ciśnienie oddechowe.
Przykład 1.2 - Wykresy zależności parami 1 par ( mex =0.5) 2 pairs ( cystfibr, gap=0, cex. labels =0.9) Argumenty gap i cex.labels usuwają przestrzeń pomiędzy rysunkami i zmniejszają czcionkę. mex zmniejsza odległość między liniami w marginesach Rysunek daje (pobieżny) obraz zależności między zmiennymi
Przykład 1.2 - Wykresy zależności parami
Przykład 1.2 - Specyfikacja modelu 1 attach ( cystfibr ) 2 lm( pemax~age+sex+ height + weight +bmp+fev1+rv+frc+tlc ) 3 summary ( lm( pemax~age+sex+ height + weight +bmp+fev1+rv+frc+tlc )) Call: lm(formula = pemax ~ age + sex + height + weight + bmp + fev1 + rv + frc + tlc) Residuals: Min 1Q Median 3Q Max -37.338-11.532 1.081 13.386 33.405
Przykład 1.2 - Specyfikacja modelu Coefficients: Estimate Std. Error t value Pr(> t ) (Intercept) 176.0582 225.8912 0.779 0.448 age -2.5420 4.8017-0.529 0.604 sex -3.7368 15.4598-0.242 0.812 height -0.4463 0.9034-0.494 0.628 weight 2.9928 2.0080 1.490 0.157 bmp -1.7449 1.1552-1.510 0.152 fev1 1.0807 1.0809 1.000 0.333 rv 0.1970 0.1962 1.004 0.331 frc -0.3084 0.4924-0.626 0.540 tlc 0.1886 0.4997 0.377 0.711 Residual standard error: 25.47 on 15 degrees of freedom Multiple R-squared: 0.6373, Adjusted R-squared: 0.4197 F-statistic: 2.929 on 9 and 15 DF, p-value: 0.03195
Przykład 1.2 - Krokowy wybór modelu Chcemy uzyskać model zawierający tylko istotne zmienne (p- wartość poniżej poziomu istotności 0.05) Przeprowadzamy ręczną krokową eliminację zmiennych, na przykład Rozważamy najpierw cechy związane z funkcją płuc (bmp, fev1,rv, frc,tlc) spośród nich wyrzucamy cechę o największej p-wartości powtarzamy do momentu aż wszystkie pozostałe w modelu zmienne związane z funkcją płuc będą miały p-wartość<0.05 może się zdarzyć, że wyeliminujemy wszystkie Następnie rozważamy cechy uwzględniające stan pacjenta, jego wygląd fizyczny ( age, sex, weight, height) postępujemy analogicznie jak wyżej.
Przykład 1.2 - Krokowy wybór modelu 1 summary ( lm( pemax~age+sex+ height + weight +bmp+fev1+rv+frc+tlc )) Coefficients: Estimate Std. Error t value Pr(> t ) (Intercept) 176.0582 225.8912 0.779 0.448 age -2.5420 4.8017-0.529 0.604 sex -3.7368 15.4598-0.242 0.812 height -0.4463 0.9034-0.494 0.628 weight 2.9928 2.0080 1.490 0.157 bmp -1.7449 1.1552-1.510 0.152 fev1 1.0807 1.0809 1.000 0.333 rv 0.1970 0.1962 1.004 0.331 frc -0.3084 0.4924-0.626 0.540 tlc 0.1886 0.4997 0.377 0.711 wyrzucamy zmienną tlc
Przykład 1.2 - Krokowy wybór modelu 1 summary ( lm( pemax~age+sex+ height + weight +bmp+fev1+rv+frc )) Coefficients: Estimate Std. Error t value Pr(> t ) (Intercept) 221.8055 185.4350 1.196 0.2491 age -3.1346 4.4144-0.710 0.4879 sex -4.6933 14.8363-0.316 0.7558 height -0.5428 0.8428-0.644 0.5286 weight 3.3157 1.7672 1.876 0.0790. bmp -1.9403 1.0047-1.931 0.0714. fev1 1.0183 1.0392 0.980 0.3417 rv 0.1857 0.1887 0.984 0.3396 frc -0.2605 0.4628-0.563 0.5813 wyrzucamy zmienną frc
Przykład 1.2 - Krokowy wybór modelu 1 summary ( lm( pemax~age+sex+ height + weight +bmp+fev1+rv)) Coefficients: Estimate Std. Error t value Pr(> t ) (Intercept) 166.71822 154.31294 1.080 0.2951 age -1.81783 3.66773-0.496 0.6265 sex 0.10239 11.89990 0.009 0.9932 height -0.40981 0.79257-0.517 0.6118 weight 2.87386 1.55120 1.853 0.0814. bmp -1.94971 0.98415-1.981 0.0640. fev1 1.41526 0.74788 1.892 0.0756. rv 0.09567 0.09798 0.976 0.3425 wyrzucamy zmienną rv
Przykład 1.2 - Krokowy wybór modelu 1 summary ( lm( pemax~age+sex+ height + weight +bmp+fev1 )) Coefficients: Estimate Std. Error t value Pr(> t ) (Intercept) 260.6313 120.5215 2.163 0.0443 * age -2.9062 3.4898-0.833 0.4159 sex -1.2115 11.8083-0.103 0.9194 height -0.6067 0.7655-0.793 0.4384 weight 3.3463 1.4719 2.273 0.0355 * bmp -2.3042 0.9136-2.522 0.0213 * fev1 1.0274 0.6329 1.623 0.1219 wyrzucamy zmienną fev1
Przykład 1.2 - Krokowy wybór modelu 1 summary ( lm( pemax~age+sex+ height + weight +bmp )) Coefficients: Estimate Std. Error t value Pr(> t ) (Intercept) 280.4482 124.9556 2.244 0.0369 * age -3.0750 3.6352-0.846 0.4081 sex -11.5281 10.3720-1.111 0.2802 height -0.6853 0.7962-0.861 0.4001 weight 3.5546 1.5281 2.326 0.0312 * bmp -1.9613 0.9263-2.117 0.0476 * pozostałe w modelu zmienne związane z funkcją płuc (bmp) mają p-wartość<0.05 przechodzimmy do analizy cech uwzględniających stan pacjenta, jego wygląd fizyczny (age, sex, weight, height) wyrzucamy zmienną age
Przykład 1.2 - Krokowy wybór modelu 1 summary ( lm( pemax~sex+ height + weight +bmp )) Coefficients: Estimate Std. Error t value Pr(> t ) (Intercept) 251.3973 119.2859 2.108 0.0479 * sex -11.5458 10.2979-1.121 0.2755 height -0.8128 0.7762-1.047 0.3075 weight 2.6947 1.1329 2.379 0.0275 * bmp -1.4881 0.7330-2.030 0.0558. wyrzucamy zmienną height
Przykład 1.2 - Krokowy wybór modelu 1 summary ( lm( pemax~sex+ weight +bmp )) Coefficients: Estimate Std. Error t value Pr(> t ) (Intercept) 132.9306 37.9132 3.506 0.002101 ** sex -11.7140 10.3203-1.135 0.269147 weight 1.5810 0.3910 4.044 0.000585 *** bmp -1.0140 0.5777-1.755 0.093826. wyrzucamy zmienną sex
Przykład 1.2 - Krokowy wybór modelu 1 summary ( lm( pemax~ weight +bmp )) Coefficients: Estimate Std. Error t value Pr(> t ) (Intercept) 124.8297 37.4786 3.331 0.003033 ** weight 1.6403 0.3900 4.206 0.000365 *** bmp -1.0054 0.5814-1.729 0.097797. wyrzucamy zmienną bmp
Przykład 1.2 - Krokowy wybór modelu 1 summary ( lm( pemax~ weight )) Coefficients: Estimate Std. Error t value Pr(> t ) (Intercept) 63.5456 12.7016 5.003 4.63e-05 *** weight 1.1867 0.3009 3.944 0.000646 *** Zmienna pozostała w modelu jest istotna Ostateczny model pemax = 63.5456 + 1.1867 weight
Przykład 1.2 - Krokowy wybór modelu Startujemy z modelu uwzględniającego tylko zmienne age, height, weight, które są silnie skorelowane 1 summary ( lm( pemax~age+ height + weight )) Coefficients: Estimate Std. Error t value Pr(> t ) (Intercept) 64.65555 82.40935 0.785 0.441 age 1.56755 3.14363 0.499 0.623 height -0.07608 0.80278-0.095 0.925 weight 0.86949 0.85922 1.012 0.323 Wyrzucamy zmienną weight (sami o tym decydując, bez względu na p-wartości)
Przykład 1.2 - Krokowy wybór modelu 1 summary ( lm( pemax~age+ height )) Coefficients: Estimate Std. Error t value Pr(> t ) (Intercept) 17.8600 68.2493 0.262 0.796 age 2.7178 2.9325 0.927 0.364 height 0.3397 0.6900 0.492 0.627 Wyrzucamy zmienną height
Przykład 1.2 - Krokowy wybór modelu 1 summary ( lm( pemax~age )) Coefficients: Estimate Std. Error t value Pr(> t ) (Intercept) 50.408 16.657 3.026 0.00601 ** age 4.055 1.088 3.726 0.00111 ** Zmienna pozostała w modelu jest istotna Ostateczny model pemax = 50.408 + 4.055 age
Przykład 1.2 - Krokowy wybór modelu 1 summary ( lm( pemax~ height )) Coefficients: Estimate Std. Error t value Pr(> t ) (Intercept) -33.2757 40.0445-0.831 0.41453 height 0.9319 0.2596 3.590 0.00155 ** Zmienna pozostała w modelu jest istotna Ostateczny model pemax = 33.2757 + 0.9319 height
Przykład 1.2 - Krokowy wybór modelu Wnioski Końcowy model silnie zależny od procedury eliminacji Prawdopodobnie istnieje związek pomiędzy cechami fizycznymi pacjentów, który może być opisany za pomocą zmiennych age, height lub weight. Wybór zależny od badacza Decyzja nie może być oparta o dane, a raczej o rozważania teoretyczne oparte na wcześniejszych badaniach