Korzystam z dwumianowej regresji logistycznej, aby określić, czy narażenie has_x
lub ma has_y
wpływ na prawdopodobieństwo kliknięcia przez użytkownika. Mój model jest następujący:
fit = glm(formula = has_clicked ~ has_x + has_y,
data=df,
family = binomial())
To wynik z mojego modelu:
Call:
glm(formula = has_clicked ~ has_x + has_y,
family = binomial(), data = active_domains)
Deviance Residuals:
Min 1Q Median 3Q Max
-0.9869 -0.9719 -0.9500 1.3979 1.4233
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -0.504737 0.008847 -57.050 < 2e-16 ***
has_xTRUE -0.056986 0.010201 -5.586 2.32e-08 ***
has_yTRUE 0.038579 0.010202 3.781 0.000156 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 217119 on 164182 degrees of freedom
Residual deviance: 217074 on 164180 degrees of freedom
AIC: 217080
Number of Fisher Scoring iterations: 4
Ponieważ każdy współczynnik jest znaczący, za pomocą tego modelu jestem w stanie powiedzieć, jaka jest wartość dowolnej z tych kombinacji, stosując następujące podejście:
predict(fit, data.frame(has_x = T, has_y=T), type = "response")
Nie rozumiem, jak mogę raportować o Std. Błąd prognozy.
Czy muszę po prostu użyć ? Czy też muszę konwertować za pomocą opisanego tutaj podejścia ?S E
Jeśli chcę zrozumieć błąd standardowy dla obu zmiennych, jak bym to rozważyć?
W przeciwieństwie do tego pytania , jestem zainteresowany zrozumieniem, jakie są górne i dolne granice błędu. Na przykład moje przewidywania pokazują wartość 37% dla True,True
czy mogę obliczyć, że jest to dla ? (Wybrano 0,3%, aby zilustrować mój punkt widzenia)95 % C I
źródło
Odpowiedzi:
Twoje pytanie może wynikać z faktu, że masz do czynienia z ilorazem szans i prawdopodobieństwami, co na początku jest mylące. Ponieważ model logistyczny jest nieliniową transformacją obliczeń przedziały ufności nie są tak proste.βTx
tło
Przypomnijmy, że dla modelu regresji logistycznej
Prawdopodobieństwo z :p = e α + β 1 x 1 + β 2 x 2(Y=1) p=eα+β1x1+β2x21+eα+β1x1+β2x2
Szanse na :( str(Y=1) (p1−p)=eα+β1x1+β2x2
Log Szanse na :log ( str(Y=1) log(p1−p)=α+β1x1+β2x2
Rozważ przypadek, w którym masz wzrost o jedną jednostkę w zmiennej , tj. , wtedy nowe szanse sąx1 x1+1
Log Iloraz szans =β1
Ryzyko względne lub (współczynnik prawdopodobieństwa) =eα+β1x1+β1+β2x21+eα+β1x1+β1+β2x2eα+β1x1+β2x21+eα+β1x1+β2x2
Współczynniki interpretacyjne
Jak interpretowałbyś wartość współczynnika ? Zakładając, że wszystko inne pozostaje nieruchome:βj
Przedziały ufności dla jednego parametruβj
Ponieważ parametr jest szacowany za pomocą oszacowania wiarygodności Maxiumum, teoria MLE mówi nam, że jest asymptotycznie normalna, a zatem możemy użyć dużego przedziału ufności Walda, aby uzyskać zwykłeβj
Co daje przedział ufności w stosunku logarytmicznym. Użycie właściwości niezmienniczości MLE pozwala nam na wykładnik, aby uzyskać
który jest przedziałem ufności dla ilorazu szans. Pamiętaj, że te przedziały dotyczą tylko jednego parametru.
Jeśli podasz kilka parametrów, możesz użyć procedury Bonferroniego, w przeciwnym razie dla wszystkich parametrów możesz użyć przedziału ufności do oszacowania prawdopodobieństwa
Procedura Bonferroniego dla kilku parametrów
Jeżeli parametry mają być oszacowane przy współczynniku ufności rodziny wynoszącym około , wspólne granice ufności Bonferroniego wynosząg 1−α
Przedziały ufności dla oszacowań prawdopodobieństwa
Model logistyczny generuje oszacowanie prawdopodobieństwa zaobserwowania jednego, a naszym celem jest zbudowanie interwału częstości wokół rzeczywistego prawdopodobieństwa tak abyp Pr(pL≤p≤pU)=.95
Jedno podejście zwane transformacją punktu końcowego wykonuje następujące czynności:
Ponieważ jest monotoniczną transformacjąPr(xTβ)=F(xTβ) xTβ
Konkretnie oznacza to obliczenie a następnie zastosowanie transformacji logit do wyniku w celu uzyskania dolnej i górnej granicy:βTx±z∗SE(βTx)
Oszacowaną przybliżoną wariancję można obliczyć za pomocą macierzy kowariancji współczynników regresji za pomocąxTβ
Zaletą tej metody jest to, że granice nie mogą znajdować się poza zakresem(0,1)
Istnieje również kilka innych podejść, przy użyciu metody delta, ładowania początkowego itp., Które mają swoje własne założenia, zalety i ograniczenia.
Źródła i informacje
Moją ulubioną książką na ten temat jest „Zastosowane liniowe modele statystyczne” Kutnera, Neter, Li, rozdział 14
W przeciwnym razie oto kilka źródeł online:
źródło
Aby uzyskać 95% przedział ufności prognozy, możesz obliczyć na skali logit, a następnie przekonwertować je z powrotem na skalę prawdopodobieństwa 0-1. Oto przykład wykorzystujący tytaniczny zestaw danych.
Średni i niski / wysoki 95% CI.
I wynik z samego użycia
type='response'
, co daje tylko średniąźródło
predict(fit, data.frame(Sex='male', Pclass='First'), type='response', se.fit=TRUE)
będzie działać.