182 Wybrane procedury statystyczne
Zarówno analiza wariancji jak i regresja liniowa mogły być stosowane jedynie, gdy cecha Y była zmienną ilościową (przyjmującą wartości liczbowe). Dodatkowo zakla-daliśmy, że wartość tej cechy przedstawić można jako sumę wartości oczekiwanej zmiennej Y i gaussowskiego zakłócenia.
Jeżeli zmienna Y (objaśniana) jest zmienną binarną, to nie możemy używać regresji liniowej ale możemy zastosować regresje logistyczną. Można podać wiele przykładów praktycznych analiz dotyczących zmiennych binarnych. W medycynie typową zmienną, która wymaga takiego traktowania będzie stan pacjenta określany w skali zdrowy/chory. W analizie kredytowej taką zmienną będzie ocena klienta dobry/zly klient. Na studiach taką zmienna będzie wynik studenta w skali zdal/nie zdał. Odwołując się do ogólnej postaci modelu przedstawionej równaniem (3.4) model regresji logistycznej ma następującą postać:
(3.12):
Y ~B(l,p).
p = E(Y\X) = exp(A'd)/(l + cxp (X/3)),
gdzie B(.,.) oznacza rozkład dwumianowy z prawdopodobieństwem sukcesu p zależnym od wartości zmiennych objaśniających X. W regresji liniowej modelowana jest oczekiwana wartość zmiennej Y pod warunkiem zmiennych X. W przypadku regresji logistycznej modelowane jest prawdopodobieństwo wystąpienia sukcesu p modelowa-ne jako funkcja zmiennych -V. Ponieważ p może przyjmować wartości z przedziału [0,1] modeluje się nie bezpośrednio tę wartość, ale tzw. funkcję logit, odpowia- . dającą logaryt.mowi z ilorazu szans (ang. odds mtio). Model regresji wygląda więc następująco
logit(p) = ln
1 -p
= X,3,
(3.13)
gdzie X(j to liniowa kombinacja zmiennych objaśniających. Graficzna reprezentacja , funkcji logit przedstawiona jest na rysunku 3.29.
W R do budowy modelu regresji logistycznej wykorzystamy funkcję glm(stats) (glm to skrót od ang. gencnilized linear model). Analizę z użyciem regresji logi- i stycznej można również wykonać z użyciem funkcji lrm(Design) tej implementacji jednak nie będziemy poniżej omawiać.
Przedstawimy to na prostym przykładzie z użyciem danych dotyczących pacjen- .; tek z oddziału onkologii. W tym badaniu interesować będzie nas zmienna binarna Niepowodzenia, określająca, czy doszło do wznowienia się choroby (tak zwanej wznowy). Zacznijmy od wczytania danych.
daneO « read.tablef "http://wu.biecek.p1/R/daU8/dane0.csv", sep-";", h“T):;.ż
\ : ' 9:
• y, lii
Zamieszczony przykład analizy nowotworów należy traktować wyłącz-/ nie jako ćwiczenie regresji logistycznej. Bez specjalistycznej wiedzy eksperckiej nie możnu wniosków otrzymanych na podstawie 97 pacjentek' uogólniać na całą populację chorych pacjentek!!!
Poniżej zamieszczamy przykład konstrukcji modelu z dwoma predyktorami (zmielo nymi objaśniającymi). Wywołanie funkcji glm O jest podobne do wywołania funkcji
P
Rysunek 3.29: Wykres funkcji logit(p)
lm(). Różnica polega na wskazaniu dodatkowo argumentu family określającego rodzinę rozkładów dla zmiennej Y oraz parametru link określającego użytą funkcję wiążącą (ang. link function). Dlapararnet.ru f amily="gaussian" uogólniony model liniowy sprowadza się do zwykłego, gaussowskiego modelu liniowego. Dla parametru family="binomial" oraz funkcji wiążącej link=logit uogólniony model liniowy sprowadza się do modelu regresji logistycznej. Parametr family przyjmować może również inne wartości, kilka słów na ten temat znajdzie się w podrozdziale 3.4.5.1. Opis uogólnionych modeli liniowych wykracza poza zakres t.ej książki, ale zainteresowanym polecam przejrzeć plik pomocy dla funkcji family(stats).
> # konstruujemy model regresji logistycznej z dwoma zmiennymi zależnymi
> modelNV= glm(Niepowodzenia~Novotwor+log(VEGF) , daneO, family=e'binomial")
Wynikiem funkcji glm O jest obiekt klasy glm opisujący dopasowany model. Obiekty tej klasy zawierają wiele pól, ciekawsze z nich są przedstawione w tabeli 3.10. Dla kla-■ sy glm przeciążono funkcję summaryO tak, że jej wynikiem jest opis dopasowanego modelu oraz jakości dopasowania modelu. Wynik jest obiektem klasy summary. gira, którego wybrane pola zostały opisane w tabeli 3.9. Klasa summary.glm ma przecią-‘ żoną funkcję print() wyświetlającą podsumowanie uogólnionego modelu liniowego.
Lista innych funkcji przeciążonych dla obiektów klasy glm znajduje się w tabeli 3.11. : Przedstawmy przykładowe użycie funkcji summary. glm ( ).
> Ż funkcją summary. glmO wyświetlimy podsumowanie modelu regresji >; logistycznej
l > summary (modelNV)
Cali:
glm(formula=Niepowodzenia'Nowotwor+log(VEGF), family="binomial", d=daneO)