Jak przewidzieć kategorię odpowiedzi na podstawie modelu regresji logistycznej porządkowej?

13

Chcę przewidzieć problem zdrowotny. Mam 3 kategorie wyników, które są uporządkowane: „normalna”, „łagodna” i „ciężka”. Chcę to przewidzieć na podstawie dwóch zmiennych predykcyjnych, wyniku testu (zmienna ciągła, zmienna interwałowa) i historii rodziny z tym problemem (tak lub nie). W mojej próbie prawdopodobieństwo wynosi 55% (normalne), 35% (łagodne) i 10% (ciężkie). W tym sensie zawsze mogłem po prostu przewidzieć „normalny” i mieć rację przez 55% czasu, chociaż nie dałoby mi to żadnych informacji na temat poszczególnych pacjentów. Pasuję do następującego modelu:

the cut point for (y1)^=2.18the cut point for (y2)^=4.27β^test=0.60β^family history=1.05

Załóżmy, że nie ma interakcji i wszystko jest w porządku z modelem. Zgodność c wynosi 60,5%, co rozumiem jako maksymalną dokładność predykcyjną, jaką zapewnia model.

Spotykam dwóch nowych pacjentów z następującymi danymi: 1. test = 3,26, rodzina = 0; 2. test = 2,85, rodzina = 1. Chcę przewidzieć ich rokowanie. Korzystając ze wzoru: (a następnie biorąc różnice między skumulowane prawdopodobieństwa), mogę obliczyć rozkład prawdopodobieństwa dla kategorii odpowiedzi zależnie od modelu. Kod R (nb, z powodu problemów z zaokrąglaniem dane wyjściowe nie są idealnie dopasowane):

exp(XβcutPoint)(1+exp(XβcutPoint))
cut1 <- -2.18
cut2 <- -4.27
beta <- c(0.6, 1.05)
X    <- rbind(c(3.26, 0), c(2.85, 1))

pred_cat1      <- exp(-1*(X%*%beta)-cut1)/(1+exp(-1*(X%*%beta)-cut1))
pred_cat2.temp <- exp(-1*(X%*%beta)-cut2)/(1+exp(-1*(X%*%beta)-cut2))
pred_cat3      <- 1-pred_cat2.temp
pred_cat2      <- pred_cat2.temp-pred_cat1

predicted_distribution <- cbind(pred_cat1, pred_cat2, pred_cat3)

Mianowicie: 1,0 = 55,1%, 1 = 35,8%, 2 = 9,1%; i 2,0 = 35,6%, 1 = 46,2%, 2 = 18,2%. Moje pytanie brzmi: jak przejść od rozkładu prawdopodobieństwa do przewidywanej kategorii odpowiedzi?

Wypróbowałem kilka możliwości, korzystając z przykładowych danych, z których wynik jest znany. Jeśli tylko wybiorę maksimum (prawdopodobieństwa), dokładność wynosi 57%, niewielka poprawa w stosunku do zera, ale poniżej zgodności. Co więcej, w próbie to podejście nigdy nie wybiera „surowego”, co naprawdę chcę wiedzieć. Wypróbowałem podejście bayesowskie, przeliczając prawdopodobieństwa zerowe i modelowe na szanse, a następnie wybierając maksimum (iloraz szans). Czasami powoduje to „poważne”, ale daje gorszą dokładność 49,5%. Próbowałem także sumy kategorii ważonych prawdopodobieństwami i zaokrąglaniem. To znowu nigdy nie wybiera „poważnego” i ma niską celność 51,5%.

Jakie równanie bierze powyższe informacje i zapewnia optymalną dokładność (60,5%)?

gung - Przywróć Monikę
źródło

Odpowiedzi:

11

Robisz skok, który musisz sklasyfikować prognozowane wartości. Fakt, że twoja metoda nigdy nie wybiera kategorii „poważny”, jest konsekwencją dyskretnej natury problemu i że „poważny” jest rzadki. W modelach reakcji porządkowej możesz po prostu użyć własnych prawdopodobieństw przekroczenia (dla wszystkich kategorii oprócz jednej) lub po prostu podać poszczególne prawdopodobieństwa. Jeśli jest z grubsza skalowane w odstępach, możesz również użyć przewidywanej średniej. Wszystkie są dostępne w pakiecie R i powiązanej funkcji . Wiele osób zakłada, że ​​klasyfikacja jest celem, podczas gdy w rzeczywistości prognozowanie ryzyka jest celem podstawowym.Yrmslrmpredict.lrm

Frank Harrell
źródło
1
Dzięki za pomoc. Podejrzewałem, że niska częstotliwość poważnych przypadków była częścią tego problemu. Myślę, że moje surowe Y, 0 1 2, jest niewystarczająco równe. Uważam, że mój cel jest błędny. Niestety, myślę, że chcę wiedzieć, do jakiej kategorii będzie należeć nowy pacjent / nie w pełni rozumiem, jaki powinien być mój cel . Czy można zapewnić nieco więcej wglądu? (Właściwie podejrzewam, że CV nie jest forum pełnej lekcji; alternatywnie, czy wiesz, gdzie mógłbym dowiedzieć się o tym problemie? Przeczytałem sekcje Intro Agresti, Logistyka Hosmer i Lemeshow, ale bezskutecznie.)
gung - Przywróć Monikę
1
Cel zależy od potrzebnej decyzji lub przedmiotu. Jeśli podasz ostateczny cel, mogę skomentować.
Frank Harrell,
Przepraszam za brak jasności, wydaje się, że był to także problem powyżej. Obecnie chcę być w stanie przewidzieć wynik dla nowych spraw. Na dłuższą metę chcę lepiej zrozumieć log log reg, np. Jak uzyskać resztki, jeśli nie przewidziałeś kategorii? Uważam, że możliwa jest nieco lepsza dokładność, ale nie wiem, jak ją zdobyć. Jestem pewien, że nie masz czasu, aby wszystko wyjaśnić, ale ani Agresti, ani H&L nie mówią nic o prognozach, pozostałościach itp. I nie mogłem znaleźć niczego w / google. Zapytałem więc o CV. Doceniam twoją stałą pomoc.
gung - Przywróć Monikę
Proszę wyjaśnić swoją potrzebę pozostałości. Nie są one nieodłączną częścią modelu. Pod względem sposobu określania prognoz przewidywanie prawdopodobieństwa, że dla różnych jest dobrym sposobem i nie wymaga żadnych arbitralnych decyzji. Patrząc na histogram przewidywanych prawdopodobieństw, można ocenić, jak użyteczny jest model, tj. Jak często zapewnia on bardziej ostateczne prawdopodobieństwa, które są bliższe 0 lub 1 niż 0,5. Yjj
Frank Harrell,
-1

Zgodność określa się poprzez sprawdzenie średniej oceny, a nie maksymalnej oceny.

Tak więc w twoich przykładach średnie wyniki dla 1 wynoszą 0 * 55,1% + 1 * 35,8% + 2 * 9,1% = 0,54, a 2 wynosi (poprzez podobne obliczenia) 0,826.

Jest to wartość, którą powinieneś porównać, aby uzyskać zgodność lub jakąkolwiek inną statystykę powiązania.

Ref - http://support.sas.com/documentation/cdl/en/statug/63347/HTML/default/viewer.htm#statug_logistic_sect042.htm

KalEl
źródło
3
Nie, zgodność jest obliczana przy użyciu surowej zmiennej i liniowego predyktora lub dowolnego z przewidywanych prawdopodobieństw (ponieważ wszystkie one są monotonicznie ze sobą powiązane, tj. Są tylko przesunięte w punkcie przecięcia przed obliczeniem wydatku). Współczynnik korelacji rang Somersa wykorzystuje tę miarę zgodności. X β D x yYXβDxy
Frank Harrell,
2
PS Należy zauważyć, że dokumentacja SAS, która jest ponownym zapisaniem mojej oryginalnej dokumentacji dla prekursora, SAS PROC LOGISTktórą napisałem wiele lat temu, jest teraz niepoprawna, a jej wzór na średnią jest niepoprawny, chyba że składa się z kolejnych liczb całkowitych. Y
Frank Harrell,