Temukan persamaan dari output model linear umum

9

Katakanlah saya menghasilkan probabilitas hasil berdasarkan faktor tertentu dan plot kurva hasil itu. Apakah ada cara untuk mengekstrak persamaan untuk kurva itu dari R?

> mod = glm(winner~our_bid, data=mydat, family=binomial(link="logit"))
> summary(mod)

Call:
glm(formula = winner ~ our_bid, family = binomial(link = "logit"), 
    data = mydat)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-0.7443  -0.6083  -0.5329  -0.4702   2.3518  

Coefficients:
              Estimate Std. Error z value Pr(>|z|)    
(Intercept) -9.781e-01  2.836e-02  -34.49   <2e-16 ***
our_bid     -2.050e-03  7.576e-05  -27.07   <2e-16 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1   1 

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 42850  on 49971  degrees of freedom
Residual deviance: 42094  on 49970  degrees of freedom
AIC: 42098

Number of Fisher Scoring iterations: 4

> all.x <- expand.grid(winner=unique(winner), our_bid=unique(our_bid))
> all.x
> won = subset(all.x, winner == 1)
> y.hat.new <- predict(mod, newdata=won, type="response")
> options(max.print=5000000)
> y.hat.new
> plot(our_bid<-000:1000, predict(mod, newdata=data.frame(our_bid<-c(000:1000)),
       type="response"))

masukkan deskripsi gambar di sini

Bagaimana saya bisa beralih dari kurva probabilitas ini ke persamaan dalam R? Saya berharap untuk sesuatu seperti:

Probability = -0.08*bid3 + 0.0364*bid2 - 0.0281*bid + 4E-14
ATMathew
sumber
2
Tidak seperti contoh dalam kode Anda, yang memiliki satu variabel independen (tawaran) dan karenanya plot sebagai kurva dalam bidang (tawaran, probabilitas), contoh dalam edit Anda di akhir tidak akan plot sebagai kurva: itu akan menjadi tiga -Dimensi hipersurface diplot dalam empat dimensi (bid, bid2, bid3, probabilitas).
whuber

Jawaban:

15

Model linier umum ini mengandaikan hasil yang terkait dengan nilai independen sebesar x memiliki distribusi binomial yang peluang log ("logit") bervariasi secara linear x. Outputnya memberikan koefisien hubungan linier itu; yaitu, intersep diperkirakan sebagai -0.9781 dan kemiringan ("our_bid") sebagai -0.002050. Anda dapat melihatnya di Estimatekolom:

              Estimate Std. Error z value Pr(>|z|)    
(Intercept) -9.781e-01  2.836e-02  -34.49   <2e-16 ***
our_bid     -2.050e-03  7.576e-05  -27.07   <2e-16 ***

Probabilitas, yang ingin Anda plot, terkait dengan peluang log oleh

probability=11+exp(log odds).

R menyebutnya fungsi "inverse logit" inv.logit,.

Menyatukan ini memberikan persamaan

probability=11+exp([0.97810.00205x]).

Perintah R untuk merencanakannya

plot(inv.logit(-0.9781 - 0.00205*(0:1000)))

Keluaran plot

Secara umum, Anda harus mengekstrak koefisien ini dengan coefficientsperintah daripada menyalinnya (seperti yang saya lakukan di sini, karena saya tidak memiliki akses ke data Anda).

whuber
sumber
3
(+1) Dari catatan, Hmisc::latexfungsi ini memudahkan untuk mencetak di atas sebagaiLATEX, misalnya latex(fit.1)dapat menghasilkan output ini (menggunakan kode sampel di sini ).
chl