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:
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):
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%)?
źródło
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
źródło
SAS PROC LOGIST
któ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.