ANALIZA REGRESJI Urszula Smyczyńska
Plan wykładu Wprowadzenie Początki analizy regresji Regresja liniowa prosta Opis formalny, założenia Przykłady Regresja liniowa wieloraka Opis formalny Przykład Możliwe problemy Predykcja wzrostu dzieci leczonych GH regresja liniowa wieloraka model neuronowy
WPROWADZENIE Definicja Początki analizy regresji
Analiza regresji Regresja metoda statystyczna pozwalająca na badanie związku pomiędzy wielkościami danych i przewidywanie nieznanych wartości jednych wielkości na podstawie znanych wartości innych. Wikipedia
Analiza regresji Dane Założenia Dane testowe Konstruowanie modelu Testowanie modelu Nowe dane Użycie modelu
Francis Galton (1886). "Regression towards mediocrity in hereditary stature". The Journal of the Anthropological Institute of Great Britain and Ireland Początki analizy regresji Francis Galton badanie dziedziczności wzrostu i regresja w kierunku średniej (1885 r.). Galton zmierzył wzrosty 930 dorosłych i ich rodziców (205 par) w sumie 1340 osób. Analizował wpływ wzrostu rodziców na wzrost potomstwa. Wzrosty kobiet przeliczył na odpowiedniki męskie mnożąc przez 1,08. Francis Galton (1822-1911) źródło: Wikipedia
Początki analizy regresji
Początki analizy regresji
Średni wzrost dzieci [cale] Początki analizy regresji 73 72 71 70 69 średni wzrost rodziców 68 67 66 65 64 64 65 66 67 68 69 70 71 72 73 Średni wzrost rodziców [cale]
Średni wzrost dzieci [cale] Początki analizy regresji 73 72 71 70 69 68 y = 0,714 x + 19,444 67 66 65 64 65 66 67 68 69 70 71 72 73 Średni wzrost rodziców [cale]
REGRESJA LINIOWA PROSTA Opis formalny Przykład 1 konstrukcji modelu w Matlab ie Ocena jakości modelu Założenia i wymagania Przykład 2
Regresja liniowa prosta y i = b 0 + b 1 x i + e i zmienna zależna (objaśniana) w przykładzie wzrost dzieci zmienna niezależna (objaśniająca) w przykładzie wzrost rodziców
Regresja liniowa prosta y i = b 0 + b 1 x i + e i wyraz wolny w przykładzie 19,444 współczynnik regresji liniowej w przykładzie wzrost rodziców współczynniki regresji wyznaczane na podstawie danych
Regresja liniowa prosta y i = b 0 + b 1 x i + e i składnik losowy, reszta błąd modelu, zmienność, której model nie wyjaśnia
Oszacowanie parametrów y i = b 0 + b 1 x i e i = y i + e i Metoda najmniejszych kwadratów Minimalizacja następującego wyrażenia: n i=1 (y i y i ) 2 n = (y i b 1 x i b 0 ) 2 i=1 b 1 = n i=1 (x i x ) (y i y) n i=1 (x i x ) 2 b 0 = y b 1 x x, y - wartości średnie zmiennych x i y
Średni wzrost dzieci [cale] Jak to zrobić w Matlabie? % średnie wzrosty rodziców p=[64.50000 65.50000 66.50000 67.50000 68.50000 69.50000 70.50000 71.50000 72.58696]; % średnie wzrosty dzieci c=[65.39565 66.70758 67.05897 67.58863 68.01963 68.70546 69.59706 70.08372 72.06957]; 73 72 71 70 69 figure() plot(p,c,'or') xlabel('średni wzrost rodziców [cale]') ylabel('średni wzrost dzieci [cale]') 68 67 66 65 64 65 66 67 68 69 70 71 72 73 Średni wzrost rodziców [cale]
Jak to zrobić w Matlabie? mdl=fitlm(p,c); fitlm funkcja konstruująca model linowy na podstawie danych, posiada wiele różnych opcji, opisanych w pomocy mdl
Co otrzymujemy? oszacowanie współczynników modelu błąd oszacowania wyraz wolny ilość obserwacji zmiennych x i y
Co otrzymujemy? wartość testu badającego istotność współczynników prawdopodobieństwo testowe (p-wartość testu) Hipoteza zerowa (H 0 ) testu: wartość współczynnika wynosi 0 (współczynnik nieistotny). Hipoteza alternatywna (H 1 ) testu: wartość współczynnika jest różna od 0. H 1 przyjmujemy jeśli p jest mniejsze od przyjętego poziomu istotności α (np. 0,05).
Co otrzymujemy? błąd średniokwadratowy (RMSE) oszacowania y R 2 współczynnik determinacji statystyka oceniająca jakość całego modelu
Ocena jakości modelu Ocena istotności poszczególnych współczynników i całego modelu przy pomocy testów statystycznych. p<α Obliczenie błędu (najczęściej średniokwadratowego): RMSE = n i=1 (y i y i ) 2 n Obliczenie współczynnika determinancji R 2
Współczynnik determinacji Stosunek zmienności y wyjaśnionej przez model do zmienności całkowitej. n n (y i y) 2 = (y i y) 2 2 + e i i=1 i=1 i=1 n zmienność całkowita, całkowita suma kwadratów (CSK) zmienność niewyjaśniona, resztowa suma kwadratów (RSK) zmienność wyjaśniona, wyjaśniona suma kwadratów (WSK)
Współczynnik determinacji R 2 = WSK CSK Dla modelu liniowego R 2 = n i=1 n i=1 (y i y) 2 (y i y) 2 R 2 = 1 Ogólnie n i=1 n i=1 (y i y i ) 2 (y i y) 2 Źródło: http://home.agh.edu.pl/~bartus
y Ocena jakości modelu plot(mdl) 73 y vs. x1 72 71 70 69 68 67 66 Data Fit Confidence bounds 65 64 64 65 66 67 68 69 70 71 72 73 x1
Średni wzrost dzieci [cale] Ocena jakości modelu 73 72 Dziedziczność wzrostu wg. Galtona dane model przedziały ufności 71 70 69 68 y = 0,714 x + 19,444 67 66 65 64 64 65 66 67 68 69 70 71 72 73 Średni wzrost rodziców [cale]
Za: Andrzej Stanisz Przystępny kurs statystyki z zastosowaniem STATISTICA PL na przykładach z medycyny, Kraków, 2007 Założenia i wymagania modelu Model jest liniowy względem parametrów. Liczba obserwacji jest większa lub równa liczbie parametrów do wyznaczenia. Składnik losowy (e i ) ma wartość oczekiwaną (średnią) 0. Wariancja składnika losowego (e i ) jest taka sama dla wszystkich obserwacji. Składniki losowe są ze sobą nieskorelowane. Składniki losowe (reszty) mają rozkład normalny.
Analiza reszt Przykład z danymi Galtona 4 Histogram reszt 3.5 3 2.5 2 Rozkład normalny? Mała próba 9 punktów 1.5 1 0.5 0-0.5 0 0.5 1
Badanie rozkładu normalnego Testy statystyczne: testy Shapiro-Wilka (dla małych prób) test Kołmogorowa-Smirnowa test χ 2 Metody graficzne histogram q-q plot
Przykład Dane dotyczące zależności obwodu brzucha ciężarnej od zaawansowania ciąży. 610 pomiarów, 2 zmienne: zaawansowania ciąży w tygodniach i obwód brzucha w cm.
obwód brzucha [cm] Przykład 450 400 350 300 250 200 150 100 50 10 15 20 25 30 35 40 45 tydzień ciąży load pregnancy weeks=extractfield(data, 'gawks'); ab=extractfield(data, 'ac'); weeks=double(weeks); ab=double(ab); figure() plot(weeks, ab,'.') xlabel('tydzień ciąży') ylabel('obwód brzucha [cm]')
obwód brzucha [cm] obwód brzucha [cm] 450 400 350 Przykład - model dane model przedziały ufności mdl=fitlm(weeks, ab); figure() plot(mdl) xlabel('tydzień ciąży') ylabel('obwód brzucha [cm]') title('') legend('dane', 'model', 'przedziały ufności') 300 250 200 150 300 250 dane model przedziały ufności 100 y = 10,34 x 55,18 50 10 15 20 25 30 35 40 45 tydzień ciąży 200 150 25 26 27 28 29 30 tydzień ciąży
Przykład - model mdl
Przykład analiza reszt 0.04 0.035 0.03 0.025 0.02 0.015 0.01 Rozkład reszt % wartości z modelu b=98; figure() hist(error, b) title('histogram reszt') % testowanie rozkładu normalnego reszt chi2gof [h, p]=chi2gof(error, 'NBins', b) 0.005 0-100 -80-60 -40-20 0 20 40 60 80 100 Rozkład prawdopodobnie jest normalny, a średnia wynosi ok. 0. >> h=0 >> p=0.1205 % średnia reszta mean(error) >> 8.7781e-14
REGRESJA LINIOWA WIELORAKA Opis formalny Założenia Przykładowy model
Regresja wieloraka y i = β 0 + β 1 x 1i + β 2 x 2i +... +β ki x ki + ε i kilka (tu: k) zmiennych niezależnych jedna próbka z doświadczenia Y = X β + ε y 1 y n = 1 x 11 x k1 1 x 1n x kn β 0 β k + ε 1 ε n reszty współczynniki modelu
Za: Andrzej Stanisz Przystępny kurs statystyki z zastosowaniem STATISTICA PL na przykładach z medycyny, Kraków, 2007 Założenia Model jest liniowy względem parametrów. Liczba obserwacji jest większa lub równa liczbie parametrów do wyznaczenia. Składnik losowy (e i ) ma wartość oczekiwaną (średnią) 0. Wariancja składnika losowego (e i ) jest taka sama dla wszystkich obserwacji. Składniki losowe są ze sobą nieskorelowane. Składniki losowe (reszty) mają rozkład normalny. Żadna ze zmiennych niezależnych nie jest liniową kombinacją innych zmiennych niezależnych.
Przykład Badanie masy mózgu myszy w zależności od masy ciała i wielkości miotu. Zmienna zależna: masa mózgu. Zmienne niezależne: wielkość miotu, masa ciała. brainanatomy.tk
Przykład Współczynniki korelacji lsize bodywt brainwt lsize 1.00-0.95-0.62 bodywt -0.95 1.00 0.75 brainwt -0.62 0.75 1.00
Przykład pojedyncze zależności brainwt = 0.447 0.004033 lsize brainwt = 0.336 0.0105 bodywt
Przykład pełny model brainwt = 0.178247 + 0.024306 bodywt + 0.00669 lsize
Przykład pełny model
Przykład - analiza reszt Średnia: 1.051274 10 18 0 Test Shapiro-Wilka (H 0 : rozkład normalny): p value = 0.8416 Czyli rozkład jest normalny.
Przykład - analiza reszt
PROBLEMY Z REGRESJĄ LINIOWĄ
reszty reszty Co może się zdarzyć? (1) 2 2 35 Histogram reszt 1 1 30 0 0 25-1 -1 20 15-2 -2 10-3 -3 5-4 0 5 10 15 x -4 0 1 2 3 4 y z modelu 0-1 -0.5 0 0.5
Dlaczego? (1) 3 2.5 2 1.5 y = ln (x) 1 0.5 0 0 5 10 15
y Możliwe rozwiązania (1) Regresja nieliniowa g=fittype( @(a, x) a*log(x)); mdl2=fit(x',y',g) Linearyzacja x v (zmienna pomocnicza) v=log(x); 3 2.5 2 1.5 1 0.5 0-0.5 0 0.5 1 1.5 2 2.5 3 v=ln(x)
reszty reszty Co może się zdarzyć? (2) 6 6 60 Histogram reszt 4 4 50 2 2 40 30 0 0 20-2 -2 10-4 -2 0 2 4 6 8 x -4-2 0 2 4 6 8 y z modelu 0-4 -2 0 2 4
y Dlaczego? (2) 12 10 8 6 4 2 0-2 -4-2 0 2 4 6 8 x
Co może się zdarzyć? (3) Nieistotne współczynniki
Rozwiązywanie problemów Problem Rozwiązanie Nieistotne współczynniki Usunięcie z modelu nieistotnych zmiennych Reszty nie mają średniej 0 Reszty są zależne od którejś ze zmiennych Zmienna wariancja reszt Reszty nie mają rozkładu normalnego Zależności nieliniowe Poszukać nieuwzględnionych zależności Sprawdzić czy zależności w modelu są liniowe Inna metoda budowania modelu Przy niewielkim odstępstwie można używać modelu Linearyzacja Model nieliniowy
PRZYKŁAD PREDYKCJA WZROSTU
Badany problem Predykcja skuteczności leczenia dzieci niskorosłych (z somatotropinową niedoczynnością przysadki) hormonem wzrostu (GH, ang. growth hormone) Po co to robimy? leczenie jest uciążliwe - polega na robieniu codziennie zastrzyków przez kilka lat, leczenie jest drogie, chcemy lepiej wiedzieć, co wpływa na jego skuteczność.
Niedobór wzrostu Wzrost wyróżniająco niski. Może mieć różne przyczyny. Może utrudniać normalne funkcjonowanie. www.bumrungrad.com
Hormon wzrostu Przysadka mózgowa Hormon wzrostu białko 191 aminokwasów 22 124 Da www.fipapatients.org www.wikipedia.org www.wikipedia.org
Leczenie hormonem wzrostu Odbywa się w specjalistycznych ośrodkach. Wymaga dokładnej kwalifikacji pacjentów. Trwa zwykle kilka (czasem kilkanaście lat). Może być refundowane. www.omnitrope.com www.wikipedia.org
Predykcja skuteczności leczenia Model linowy Regresja wieloraka (MLR, ang. multiple linear regression) Model neuronowy perceptron wielowarstwowy (MLP, ang. multilayer perceptron)
Zmienne Zależna: wzrost dziecka (150 przypadków) po zakończeniu leczenia. Niezależne: wzrost dziecka wzrosty rodziców wiek metrykalny wiek kostny płeć stadium dojrzewania poziom hormonów wzrostu ze standardowych testów poziom insulinopodobnego czynnika wzrostowego (IGF-I) poziom białka wiążącego IGF-I (IGFBP-3) Co z tego ma znaczenie? Niektóre zmienne przed zastosowaniem zostały przekształcone
Regresja liniowa Użyta metoda: regresja krokowa wsteczna. Regresja krokowa metoda konstruowania modelu regresyjnego. Istnieją 2 wersje: regresja krokowa postępująca polega na pojedynczym dodawaniu do modelu kolejnych zmiennych wyjaśniających, aby poprawić jego działanie. Zaczyna się od modelu z 1 zmienną niezależną. regresja krokowa wsteczna polega na usuwaniu kolejnych najmniej ważnych zmiennych objaśniających. Zaczynamy od modelu ze wszystkimi możliwymi zmiennymi.
Regresja liniowa Pierwotny model: wszystkie zmienne niezależne. Dużo zmiennych nieistotnych statystycznie
Regresja liniowa Eliminacja zmiennych nieistotnych
Regresja liniowa - model Ostateczny model FHSDS = 0.683 + 0.529 hsds 0.286 IGF I SDS 0.152 HV+ + 0.146 hmsds + 0.163 hfsds Błąd (RMSE): 0.59 SD (3.5 cm) dla danych użytych do budowania modelu 0.63 SD (3.8 cm) dla danych testowych Współczynnik determinacji (R 2 ): 44% dla danych użytych do budowania modelu 36% dla danych testowych
Regresja liniowa analiza reszt Normal Probability Plot of Residuals 3 Include condition: v44='uczący' 2 Expected Normal Value 1 0-1 -2-3 -2,0-1,5-1,0-0,5 0,0 0,5 1,0 1,5 Residuals
Regresja liniowa
Model neuronowy Sieci MLP Dane przekształcone (jak w modelu liniowym) lub nieprzekształcone. Brak konieczności spełnienia założeń modelu liniowego.
Model neuronowy MLP 5:5-3-1:1 RMSE: 3,6 cm dla danych uczących 3,7 cm dla danych testowych R 2 : 43% dla danych uczących 40% dla danych testowych RMSE: MLP 14:14-8-1:1 3,2 cm dla danych uczących 3,4 cm dla danych testowych R 2 : 86% dla danych uczących 86% dla danych testowych
PODSUMOWANIE