Data Analysis / R · 20/04/2025

Meringkas Dan Memvisualisasikan Model Regresi Dengan Plot_Summs Dan Plot_Coefs

Ketika tiba saatnya untuk membagikan temuan Anda, terutama dalam pembicaraan, tabel seringkali bukan cara terbaik untuk menarik perhatian orang dan menyampaikan hasilnya dengan cepat. Varian pada apa yang dikenal oleh beberapa orang sebagai “forest plots” telah mendapatkan popularitas karena menyajikan hasil regresi.

Untuk itu, jtools menyediakan plot_summs() dan plot_coefs(). plot_summs() memberi Anda antarmuka plot ke summ() dan memungkinkan Anda melakukannya dengan beberapa model secara bersamaan (dengan asumsi Anda ingin menerapkan argumen yang sama ke setiap model).

Berikut adalah kasus penggunaan model tunggal dasar.

plot_summs (fit)

Perhatikan bahwa intersep dihilangkan secara default karena sering mendistorsi skala dan umumnya tidak menarik secara teoretis. Anda dapat mengubah perilaku ini atau menghilangkan koefisien lain dengan  argumen omit.coefs.

Kita mungkin masih ingin menggunakan fitur lain dari summ(), seperti memiliki kesalahan standar yang kuat. Tidak ada masalah.

plot_summs(fit, robust = TRUE)

Perhatikan bahwa secara default lebar interval kepercayaan adalah 0,95, tetapi ini dapat diubah dengan  argumen ci_level. Anda juga dapat menambahkan pita yang lebih tebal untuk menyampaikan interval sempit menggunakan  argumen inner_ci_level:

plot_summs(fit, inner_ci_level = .9)

Plot Ketidakpastian Koefisien Sebagai Distribusi Normal

Sebagian besar model regresi yang umum kami gunakan membuat asumsi bahwa perkiraan koefisien didistribusikan secara normal secara asimtotik, yaitu bagaimana kami memperoleh interval kepercayaan, nilai p, dan sebagainya. Dengan menggunakan plot.distributions = TRUE, Anda dapat memplot distribusi normal di sepanjang lebar interval yang Anda tentukan untuk menyampaikan ketidakpastian. Ini juga bagus untuk tujuan didaktik.

Sementara model OLS umum mengasumsikan  distribusi t, saya memutuskan bahwa mereka secara visual cukup dekat sehingga saya memilih untuk tidak mencoba memplot titik-titik di sepanjang  distribusi t.

plot_summs(fit, plot.distributions = TRUE, inner_ci_level = .9)

Membandingkan Koefisien Model Secara Visual

Perbandingan beberapa model secara bersamaan adalah manfaat lain dari plotting. Ini terutama berlaku ketika model bersarang. Mari kita pasang model kedua dan bandingkan.

fit2 <- lm(metascore ~ imdb_rating + log(us_gross) + log(budget) + genre5,
data = movies)
plot_summs(fit, fit2)

Melakukan ini dengan plot.distributions = TRUE menciptakan efek yang bagus:

plot_summs(fit, fit2, plot.distributions = TRUE)

Dengan memberikan daftar  argumen summ() ke plot_summs(), Anda dapat membandingkan hasil dengan  argumensumm() yang berbeda  (setiap item dalam daftar sesuai dengan satu model; item daftar kedua ke model kedua, dll.). Misalnya, kita dapat melihat bagaimana kesalahan standar berbeda dengan  argumen kuat yang berbeda:

plot_summs(fit, fit, fit, robust = list(FALSE, "HC0", "HC5"),
model.names = c("OLS", "HC0", "HC5"))

Dukungan Untuk Model Tanpa metode summ()

plot_coefs() sangat mirip dengan plot_summs(), tetapi tidak menawarkan fitur yang  dilakukan summ(). Namun, pengorbanannya adalah bahwa ini memungkinkan jenis model yang tidak dilakukan summ() — model apa pun yang didukung oleh tidy() dari sapu atau broom.mixedpackages harus berfungsi.

Catatan: Jika Anda memberikan jenis model yang tidak didukung ke plot_summs(), itu hanya meneruskannya ke plot_coefs().

Sumber: Terjemahan bebas dari bagian (https://cran.r-project.org/web/packages/jtools/vignettes/summ.html)