WYKRES
Transkrypt
WYKRES
„Bioinformatyka - rozwój oferty edukacyjnej Uniwersytetu Przyrodniczego we Wrocławiu” projekt realizowany w ramach Programu Operacyjnego Kapitał Ludzki współfinansowanego ze środków Europejskiego Funduszu Społecznego Wykład 5 Regresja liniowa - Diagnostyka • Diagnostyka – ocena prawidłowości założeń • Środki zaradcze – odpowiednie dostosowanie metod analizy • Model: Yi = β0 + β1Xi + ξi • Wartości przewidywane: Ŷi = b0 + b1Xi • Reszty: ei = Yi – Ŷi • ei powinno być bliskie ξi • Model zakłada, że ξi są iid N(0, σ2) Wykres Wykres Pytania na które szukamy odpowiedzi • • • • WYKRES Wykres Diagnostyka dla reszt Wykres Czy zależność jest liniowa ? Czy wariancja Y zależy od X? Czy są obserwacje odstające ? Czy reszty zależą od kolejności w zbiorze danych (_n_) • Czy zakłócenia mają rozkład normalny ? • Czy zakłócenia są niezależne ? Czy zależność jest liniowa ? • Rysujemy Y vs X • Rysujemy e vs X • Wykres e vs X podkreśla odstępstwa od liniowości proc reg data=a100; model y=x; output out=a2 r=resid; run; Data a100; do x=1 to 30; y=x*x-10*x+30+25*normal(0); output; end; run; Source DF Sum of Mean Squares Square Model Error C Tot 1032098 1032098 169048 6037 1201145 1 28 29 F Value 170.95 symbol1 v=circle i=rl; proc gplot data=a2; plot y*x; run; symbol1 v=circle i=sm60; proc gplot data=a2; plot y*x; proc gplot data=a2; plot resid*x/vref=0; run; Pr > F <.0001 Czy wariancja zależy od X? • Rysujemy Y vs X • Rysujemy e vs X • Wykres e vs X podkreśla odstępstwa od założenia o równej wariancji Data a100a; do x=1 to 100; y=100*x+30+10*x*normal(0); output; end; run; Czy zakłócenia pochodzą z rozkładu normalnego ? 35 30 • Naprawdę chodzi nam o to aby sprawdzić czy rozkład reszt na tyle różni się od normalnego, że przedziały ufności i testy istotności tracą swoje własności. • Oceniamy rozkład reszt za pomocą wykresu kwantylowego 25 P e r c e n t 20 15 10 5 0 -180 -140 -100 -60 -20 20 60 100 140 180 Residual Niezależność błędów • Zwykle odstępstwa od tego założenia można zaobserwować rysując reszty w funkcji czasu • Mogą pojawić się trendy lub zakłócenia okresowe Czy są obserwacje odstające ? • Wykres Y vs X • Wykres e vs X • Wykres e vs X powinien ułatwić identyfikację obserwacji odstającej Data a100b1; do x=1 to 100 by 5; y=30+50*x+200*normal(0); output; end; x=50; y=30+50*50 +10000; d='out'; output; run; proc reg data=a100b1; model y=x; where d ne 'out'; run; proc reg data=a100b1; model y=x; output out=a2 r=resid; run; Root MSE Root MSE Var Par Est Int -2.54 x 50.51 St Error 95.29 1.68 Int 432.20 979.57 x 51.37 17.45 t Pr>|t| 29.91 <.0001 2.94 .0083 217.77514 2250.22683 Różne rodzaje obserwacji odstających • Obserwacja odstająca w poprzednim przykładzie wpłynęła na estymator punktu przecięcia z osią Y • Ale nie na estymator nachylenia • Zwiększyła estymator odchylenia standardowego • W kolejnym przykładzie zademonstrujemy jak obserwacja odstająca może wpływać na estymator nachylenia Data a100c1; do x=1 to 100 by 5; y=30+50*x+200*normal(0); output; end; x=100; y=30+50*100 -10000; d='out'; output; run; Var Int x Par St Est Err 73.2 93.6 49.8 1.6 Int 903.9 899.3 x 24.1 15.1 t proc reg data=a100c1; model y=x; where d ne 'out'; run; proc reg data=a100c1; model y=x; output out=a2 r=resid; run; Pr>|t| 30.02 <.0001 1.59 0.1285 Inne wykresy • Można również wykonać • Wykres pudełkowy • Wykres reszt w funkcji czasu lub innych potencjalnych zmiennych wyjaśniających Testy normalności • H0: obserwacje w próbie prostej pochodzą z rozkładu normalnego • H1: obserwacje nie pochodzą z rozkładu normalnego Test (Shapiro-Wilk Kolmogorov-Smirnov Cramer-von Mises Anderson-Darling statistic (0.978 0.095 0.033 0.207 W ) D W-Sq A-Sq -----p Value-----Pr < W 0.8626) Pr > D >0.1500 Pr > W-Sq >0.2500 Pr > A-Sq >0.2500 Zależności nieliniowe (2) Testy normalności (2) • Moc testu wzrasta wraz z rozmiarem próby • Dla dużych rozmiarów prób test ``wyłapuje’’ odchylenia od normalności, które nie są niebezpieczne. Relacje nieliniowe • Do opisu wielu relacji nieliniowych można stosować regresję liniową. Zwykle wymaga to zamiany, a czasami zwiększenia liczby, zmiennych niezależnych Y = β0 + β1X + β2X2 + ξ –Y = β0 + β1log(X) + ξ Zależności nieliniowe (3) • Czasami można przekształcić zależność nieliniową w zależność liniową • • • • Np. jeżeli Y ≈ β0exp(β1X) To można rozważyć model liniowy log(Y) ≈ log(β0) + β1X Uwaga – zmieniają się założenia o błędzie losowym • Można analizować dane za pomocą regresji nieliniowej • SAS PROC NLIN Zmienność wariancji składnika losowego • Czasami można zamodelować w jaki sposób zmienia się wariancja błędu (np. może ona być liniowo związana z X) • Można użyć regresji ważonej • Używamy opcji weight w PROC REG Rozkład składnika losowego nie jest normalny • Można próbować transformacji • Można stosować procedury które radzą sobie z błędami z innych rozkładów • SAS PROC GENMOD GENMOD (2) GENMOD (1) • • • • • • • Możliwe rozkłady Y: Dwumianowy (dane binarne) Poissona Gamma (wykładniczy) Odwrotny Gaussowski Ujemny dwumianowy wielomianowy • Można wyspecyfikować funkcję g w równaniu • g(µ)=b0+ b1x1+ …+bkxk • gdzie µ=E(Y). Koło transformacji Transformacje potęgowe 1.5 p 1.0 Transformacja to xp X w dół, Y w górę Y X w górę, Y w górę 0.5 X 0.0 -0.5 -1.0 X w dół, X w górę, Y w dół Y w dół Ważne przypadki specjalne Transformacja Boxa-Coxa • Y’ = Yλ • albo Y’ = (Yλ - 1)/λ • λ=0 - naturalny logarytm • • • • • λ = 1, Y’ = Y1, brak transformacji λ = .5, Y’ = Y1/2 λ = -.5, Y’ = Y-1/2 λ = -1, Y’ = Y-1 = 1/Y λ = 0, Y’ = log(Y) Transformacja Boxa-Coxa (2) data a1; input age plasma @@; cards; • Można wyestymować λ włączając ten parametr do modelu • Yλ = β0 + β1X + ξ • i stosując metodę największej wiarogodności 0 13.44 0 12.84 0 11.91 0 20.09 0 15.60 1 10.11 1 11.38 1 10.28 1 8.96 1 8.59 2 9.83 2 9.00 2 8.65 2 7.85 2 8.88 3 7.94 3 6.01 3 5.14 3 6.90 3 6.77 4 4.86 4 5.10 4 5.67 4 5.75 4 6.23 ; PROC TRANSREG proc transreg data=a1; model Box(plasma)=identity(width) /alpha=0.05; run; • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • Lambda R-Square Log Like -3.00 -2.75 -2.50 -2.25 -2.00 -1.75 -1.50 -1.25 -1.00 -0.75 -0.50 -0.25 0.00 + 0.25 0.50 0.75 1.00 1.25 1.50 1.75 2.00 2.25 2.50 2.75 3.00 0.71 0.73 0.76 0.78 0.80 0.82 0.83 0.85 0.86 0.86 0.87 0.86 0.85 0.84 0.82 0.79 0.75 0.72 0.67 0.63 0.59 0.54 0.50 0.46 0.42 -21.8996 -19.4576 -17.0444 -14.6732 -12.3665 -10.1608 -8.1127 -6.3056 -4.8523 * -3.8891 * -3.5523 < -3.9399 * -5.0754 * -6.8988 -9.2925 -12.1209 -15.2625 -18.6233 -22.1378 -25.7629 -29.4720 -33.2490 -37.0844 -40.9728 -44.9109 < - Best Lambda * - Confidence Interval + - Convenient Lambda BOX-COX - Przykład data a2; set a1; ynew=1/sqrt(plasma); proc gplot data=a2; plot ynew*age; run;