Interpretasi output R untuk regresi binomial

38

Saya cukup baru dalam hal ini dengan tes data binomial, tetapi perlu melakukan satu dan sekarang saya tidak yakin bagaimana menafsirkan hasilnya. Variabel y, variabel respons, adalah binomial dan faktor penjelasnya adalah kontinu. Inilah yang saya dapatkan ketika merangkum hasilnya:

glm(formula = leaves.presence ~ Area, family = binomial, data = n)

Deviance Residuals: 
Min      1Q  Median      3Q     Max  
-1.213  -1.044  -1.023   1.312   1.344  

Coefficients:
                        Estimate Std. Error z value Pr(>|z|) 
(Intercept)           -0.3877697  0.0282178 -13.742  < 2e-16 ***
leaves.presence        0.0008166  0.0002472   3.303 0.000956 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1   1 
(Dispersion parameter for binomial family taken to be 1)

Null deviance: 16662  on 12237  degrees of freedom
Residual deviance: 16651  on 12236  degrees of freedom
(314 observations deleted due to missingness)
AIC: 16655
Number of Fisher Scoring iterations: 4

Ada beberapa hal yang tidak saya dapatkan di sini, apa yang sebenarnya dikatakan:

                        Estimate Std. Error z value Pr(>|z|) 
(Intercept)           -0.3877697  0.0282178 -13.742  < 2e-16 ***
leaves.presence        0.0008166  0.0002472   3.303 0.000956 ***

Dan apa artinya iterasi AIC dan Number of Fisher Scoring?

> fit
Call:  glm(formula = Lövförekomst ~ Areal, family = binomial, data = n)

Coefficients:
(Intercept)        Areal  
-0.3877697    0.0008166  

Degrees of Freedom: 12237 Total (i.e. Null);  12236 Residual
(314 observations deleted due to missingness)
Null Deviance:      16660 
Residual Deviance: 16650        AIC: 16650

Dan di sini apa artinya ini:

Coefficients:
(Intercept)        Areal  
-0.3877697    0.0008166 
pengguna40116
sumber
6
Karena pertanyaan Anda sangat luas - "bagaimana seseorang mengartikan regresi binomial?" - Saya sarankan mengambil teks pengantar tentang topik tersebut. Agresti's An Introduction to Categorical Data Analysis sangat mudah didekati.
Sycorax berkata Reinstate Monica
2
Ini mungkin terlalu luas untuk dijawab di sini; seperti kata @ user777, berkonsultasi dengan teks yang bagus mungkin berurutan. Agresti baik, saya setuju. Hosmer & Lemeshow juga bagus. Jika Anda menginginkan sesuatu yang singkat dan gratis (self plug alert) lihat pengantar saya untuk regresi logistik tetapi mungkin terlalu mendasar untuk kebutuhan Anda.
Peter Flom - Reinstate Monica
Ok, terima kasih atas jawaban cepat Anda, saya akan mencoba Agresti dan melihat apakah itu membantu :)
user40116
4
Saya pikir pertanyaan ini tidak terlalu luas untuk dijawab. Tampaknya bagi saya itu pada dasarnya adalah versi regresi logistik interpretasi-rs-lm-output , yang secara konsisten telah dipertimbangkan pada topik.
gung - Reinstate Monica
1
Saya dengan @gung yang satu ini, jika pertanyaannya adalah tentang menafsirkan apa yang R menyemprotkan ke layar. Di mana ada ambiguitas apa yang dimaksud dengan "jahat"? Jika OP senang diberi tahu bahwa koefisien adalah nilai estimasi model dengan nilai pada skala peluang log, maka Q ini OK. Jika OP tidak puas dengan ini dan membutuhkan penjelasan tentang artinya dalam hal data, model dll, maka itu akan menjadi pertanyaan yang terlalu luas mengingat ini hanyalah salah satu dari beberapa pertanyaan yang diajukan.
Pasang kembali Monica - G. Simpson

Jawaban:

74

Apa yang telah Anda lakukan adalah regresi logistik . Hal ini pada dasarnya dapat dilakukan dalam perangkat lunak statistik apa pun, dan hasilnya akan sama (setidaknya dalam konten, walaupun presentasi mungkin berbeda). Ada panduan untuk regresi logistik dengan R di situs web bantuan statistik UCLA yang sangat baik. Jika Anda tidak terbiasa dengan hal ini, jawaban saya di sini: perbedaan antara model logit dan probit , dapat membantu Anda memahami apa itu LR (walaupun ditulis dalam konteks yang berbeda).

Anda tampaknya memiliki dua model yang disajikan, saya terutama akan fokus pada yang teratas. Selain itu, tampaknya ada kesalahan dalam menyalin dan menempelkan model atau output, jadi saya akan menukar leaves.presencedengan Areaoutput untuk membuatnya konsisten dengan model. Berikut adalah model yang saya maksudkan (perhatikan bahwa saya menambahkan (link="logit"), yang tersirat oleh family=binomial; lihat ? Glm dan ? Keluarga ):

glm(formula = leaves.presence ~ Area, family = binomial(link="logit"), data = n)

Mari kita berjalan melalui output ini (perhatikan bahwa saya mengubah nama variabel di baris kedua di bawah Coefficients):

Deviance Residuals: 
   Min      1Q  Median      3Q     Max  
-1.213  -1.044  -1.023   1.312   1.344  

Coefficients:
                        Estimate Std. Error z value Pr(>|z|) 
(Intercept)           -0.3877697  0.0282178 -13.742  < 2e-16 ***
Area                   0.0008166  0.0002472   3.303 0.000956 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1   1 
(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 16662  on 12237  degrees of freedom
Residual deviance: 16651  on 12236  degrees of freedom
(314 observations deleted due to missingness)
AIC: 16655
Number of Fisher Scoring iterations: 4

Sama seperti ada residu dalam regresi linier (OLS), ada juga residu dalam regresi logistik dan model linier umum lainnya. Mereka lebih rumit ketika variabel respon tidak kontinu. GLiM dapat memiliki lima jenis residu yang berbeda, tetapi yang muncul standar adalah residu penyimpangan. ( Penyimpangan dan residu penyimpangan lebih maju, jadi saya akan singkat di sini; jika diskusi ini agak sulit untuk diikuti, saya tidak akan terlalu khawatir, Anda dapat melewatkannya):

Deviance Residuals: 
   Min      1Q  Median      3Q     Max  
-1.213  -1.044  -1.023   1.312   1.344  

Untuk setiap titik data yang digunakan dalam model Anda, penyimpangan yang terkait dengan titik itu dihitung. Setelah melakukan ini untuk setiap titik, Anda memiliki satu set residu seperti itu, dan output di atas hanyalah deskripsi non-parametrik distribusi mereka.


Selanjutnya kita melihat informasi tentang kovariat, yang biasanya menjadi tujuan utama orang:

Coefficients:
                        Estimate Std. Error z value Pr(>|z|) 
(Intercept)           -0.3877697  0.0282178 -13.742  < 2e-16 ***
Area                   0.0008166  0.0002472   3.303 0.000956 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1   1 

Untuk model regresi logistik sederhana seperti ini, hanya ada satu kovariat (di Areasini) dan intersep (juga kadang-kadang disebut 'konstan'). Jika Anda memiliki regresi logistik berganda, akan ada kovariat tambahan yang tercantum di bawah ini, tetapi interpretasi hasilnya akan sama. Di bawah Estimatedi baris kedua adalah koefisien yang terkait dengan variabel yang tercantum di sebelah kiri. Ini adalah jumlah perkiraan dimana peluang log leaves.presenceakan meningkat jika Areasatu unit lebih tinggi. Peluang log leaves.presencewhen Areais .) Di kolom berikutnya, kita melihat kesalahan standar0terkait dengan estimasi ini. Artinya, mereka adalah perkiraan berapa banyak, rata-rata, perkiraan ini akan melambung jika studi dijalankan kembali secara identik, tetapi dengan data baru, berulang-ulang. (Jika Anda tidak terlalu terbiasa dengan gagasan tentang kesalahan standar, mungkin membantu Anda untuk membaca jawaban saya di sini: bagaimana menafsirkan koefisien kesalahan standar dalam regresi linier .) Jika kami membagi perkiraan dengan kesalahan standar, kami akan dapatkan hasil bagi yang diasumsikan terdistribusi normal dengan sampel yang cukup besar. Nilai ini tercantum di bawah z value. Di bawah Pr(>|z|)ini tercantum nilai- p dua sisiyang sesuai dengan nilai-z tersebut dalam distribusi normal standar. Terakhir, ada bintang signifikansi tradisional (dan catat kunci di bawah tabel koefisien).


The Dispersiongaris dicetak secara default dengan Glims, tetapi tidak menambahkan banyak informasi di sini (itu lebih penting dengan model count, misalnya). Kita bisa mengabaikan ini.


Terakhir, kami mendapatkan informasi tentang model dan kebaikannya:

    Null deviance: 16662  on 12237  degrees of freedom
Residual deviance: 16651  on 12236  degrees of freedom
(314 observations deleted due to missingness)
AIC: 16655
Number of Fisher Scoring iterations: 4

Garis tentang missingnesssering, um, hilang. Ini menunjukkan di sini karena Anda memiliki 314 pengamatan yang baik leaves.presence, Areaatau keduanya hilang. Pengamatan parsial tidak digunakan dalam pemasangan model.

Ini Residual devianceadalah ukuran dari kurangnya kesesuaian model Anda yang diambil secara keseluruhan, sedangkan itu Null devianceadalah ukuran untuk model yang dikurangi yang hanya mencakup intersep. Perhatikan bahwa derajat kebebasan yang terkait dengan keduanya berbeda hanya dengan satu. Karena model Anda hanya memiliki satu kovariat, hanya satu parameter tambahan yang telah diestimasi ( Estimateuntuk Area), dan dengan demikian hanya satu derajat tambahan kebebasan yang telah dikonsumsi. Kedua nilai ini dapat digunakan dalam melakukan pengujian model secara keseluruhan, yang akan dianalogikan dengan globalF uji- yang hadir dengan model regresi linier berganda. Karena Anda hanya memiliki satu kovariat, tes semacam itu tidak menarik untuk kasus ini.

The AIC adalah ukuran lain goodness of fit yang memperhitungkan kemampuan model agar sesuai dengan data. Ini sangat berguna ketika membandingkan dua model di mana seseorang mungkin lebih cocok tetapi mungkin hanya karena menjadi lebih fleksibel dan dengan demikian lebih mampu menyesuaikan data apa pun. Karena Anda hanya memiliki satu model, ini tidak informatif.

Referensi Fisher scoring iterationsberkaitan dengan bagaimana model diperkirakan. Model linier dapat disesuaikan dengan menyelesaikan persamaan bentuk tertutup. Sayangnya, itu tidak dapat dilakukan dengan sebagian besar GLiM termasuk regresi logistik. Alih-alih, pendekatan iteratif ( algoritma Newton-Raphson secara default) digunakan. Secara longgar, model ini sesuai berdasarkan pada perkiraan tentang perkiraannya. Algoritma kemudian melihat sekeliling untuk melihat apakah kecocokan akan ditingkatkan dengan menggunakan perkiraan yang berbeda sebagai gantinya. Jika demikian, ia bergerak ke arah itu (katakanlah, menggunakan nilai yang lebih tinggi untuk perkiraan) dan kemudian cocok dengan model itu lagi. Algoritma berhenti ketika tidak merasakan bahwa bergerak lagi akan menghasilkan banyak peningkatan tambahan. Baris ini memberi tahu Anda berapa banyak iterasi yang ada sebelum proses berhenti dan output hasilnya.



Mengenai model dan output kedua yang Anda daftarkan, ini hanya cara berbeda untuk menampilkan hasil. Secara khusus, ini

Coefficients:
(Intercept)       Areal  
-0.3877697    0.0008166

adalah jenis perkiraan yang sama yang dibahas di atas (meskipun dari model yang berbeda dan disajikan dengan informasi tambahan).

gung - Reinstate Monica
sumber
1

Panggil : Ini hanya panggilan yang Anda buat ke fungsi. Ini akan menjadi kode yang sama persis dengan yang Anda ketik di R. Ini dapat membantu untuk melihat apakah Anda membuat kesalahan ketik.

(Penyimpangan) Residual: Anda dapat mengabaikan ini untuk regresi logistik. Untuk Poisson atau regresi linier, Anda ingin ini menjadi lebih atau kurang terdistribusi secara normal (yang merupakan hal yang sama yang diperiksa dua plot diagnostik teratas). Anda dapat memeriksa ini dengan melihat apakah nilai absolut dari 1Q dan 3Q dekat (ish) satu sama lain, dan jika median mendekati 0. Rata-rata tidak ditampilkan karena selalu 0. Jika salah satu dari ini super off maka Anda mungkin memiliki beberapa kemiringan aneh dalam data Anda. (Ini juga akan muncul di plot diagnostik Anda!)

Koefisien : Ini adalah daging dari hasilnya.

  • Intercept : Untuk Poisson dan regresi linier, ini adalah output yang diprediksi ketika semua input kami adalah 0. Untuk regresi logistik, nilai ini akan semakin jauh dari 0 semakin besar perbedaan antara jumlah pengamatan di setiap kelas .. Kesalahan standar mewakili seberapa tidak pasti kita tentang ini (lebih rendah lebih baik). Dalam hal ini, karena intersep kami jauh dari 0 dan kesalahan standar kami jauh lebih kecil dari intersep, kami dapat yakin bahwa salah satu kelas kami (gagal atau tidak gagal) memiliki lebih banyak pengamatan di dalamnya. (Dalam hal ini "tidak gagal", untungnya!)

  • Berbagai input (setiap input akan berada pada jalur yang berbeda): Perkiraan ini menunjukkan seberapa banyak kita berpikir output akan berubah setiap kali kita menambah input ini dengan 1. Semakin besar estimasi, semakin besar pengaruh variabel input ini terhadap output. Kesalahan standar adalah seberapa yakin kita itu. Biasanya, kita bisa yakin bahwa input informatif adalah kesalahan standar adalah 1/10 dari estimasi. Jadi dalam hal ini kami cukup yakin bahwa intersepsi itu penting.

  • Signif. Kode : Ini adalah kunci signifikansi dari masing-masing: input dan intersep. Ini hanya benar jika Anda hanya memasukkan satu model ke data Anda. (Dengan kata lain, mereka bagus untuk data eksperimen jika Anda dari awal variabel mana yang Anda minati dan tidak informatif untuk analisis data atau pemilihan variabel.)

    Tunggu, mengapa kita tidak bisa menggunakan signifikansi statistik? Anda bisa, saya biasanya tidak merekomendasikannya. Dalam ilmu data Anda akan sering memasang beberapa model menggunakan dataset yang sama untuk mencoba dan memilih model terbaik. Jika Anda pernah menjalankan lebih dari satu tes untuk signifikansi statistik pada dataset yang sama, Anda perlu menyesuaikan nilai p Anda untuk menebusnya. Anda dapat memikirkannya dengan cara ini: jika Anda memutuskan bahwa Anda akan menerima hasil yang di bawah p = 0,05, Anda pada dasarnya mengatakan bahwa Anda baik-baik saja dengan salah satu dari dua puluh kali. Namun, jika Anda melakukan lima tes, dan untuk setiap tes ada peluang 1/20 bahwa Anda akan salah, Anda sekarang memiliki peluang 1/4 untuk salah pada setidaknya satu dari tes itu ... tetapi Anda tidak tahu yang mana Anda dapat memperbaikinya (dengan mengalikan nilai-p Anda akan menerima sebagai signifikan dengan jumlah tes yang akan Anda buat sebelumnya ) tetapi dalam praktiknya saya menemukan itu umumnya lebih mudah untuk menghindari menggunakan nilai-p sama sekali.

(Parameter dispersi untuk keluarga binomial dianggap 1): Anda hanya akan melihat ini untuk regresi Poisson dan binomial (logistik). Ini hanya memberi tahu Anda bahwa telah ada parameter penskalaan tambahan yang ditambahkan untuk membantu agar sesuai dengan model. Anda bisa mengabaikannya.

Penyimpangan kosong: Penyimpangan nol memberi tahu kita seberapa baik kita dapat memprediksi output hanya menggunakan intersep. Lebih kecil lebih baik.

Penyimpangan residual: Penyimpangan residual memberi tahu kami seberapa baik kami dapat memprediksi output menggunakan intersep dan input kami. Lebih kecil lebih baik. Semakin besar perbedaan antara deviance nol dan residual deviance, semakin bermanfaat variabel input kami untuk memprediksi variabel output.

AIC: AIC adalah "kriteria informasi Akaike" dan ini merupakan perkiraan seberapa baik model Anda menggambarkan pola dalam data Anda. Ini terutama digunakan untuk membandingkan model yang dilatih pada dataset yang sama. Jika Anda perlu memilih antara model, model dengan AIC yang lebih rendah melakukan pekerjaan yang lebih baik untuk menggambarkan varians dalam data.

Jumlah iterasi Skor Fisher: Ini hanya ukuran berapa lama yang dibutuhkan agar sesuai dengan model Anda. Anda dapat dengan aman mengabaikannya.

Saya sarankan toturial ini untuk belajar lebih banyak. https://www.kaggle.com/rtatman/regress-challenge-day-5

parvij
sumber