Cara menafsirkan keluaran glm di r (dengan contoh)
Fungsi glm() di R dapat digunakan untuk menyesuaikan model linier umum.
Fungsi ini menggunakan sintaks berikut:
glm(rumus, keluarga=Gaussian, data, …)
Emas:
- rumus : Rumus model linier (misal y ~ x1 + x2)
- keluarga: keluarga statistik yang digunakan agar sesuai dengan model. Standarnya adalah Gaussian, tetapi opsi lainnya antara lain Binomial, Gamma, dan Poisson.
- data: Nama blok data yang berisi data
Dalam praktiknya, fungsi ini paling sering digunakan untuk menyesuaikan model regresi logistik dengan menentukan kelompok “binomial”.
Contoh berikut menunjukkan cara menafsirkan keluaran glm di R untuk model regresi logistik.
Contoh: Bagaimana menafsirkan keluaran glm di R
Untuk contoh ini, kita akan menggunakan dataset mtcars yang ada di dalam R:
#view first six rows of mtcars dataset
head(mtcars)
mpg cyl disp hp drat wt qsec vs am gear carb
Mazda RX4 21.0 6 160 110 3.90 2.620 16.46 0 1 4 4
Mazda RX4 Wag 21.0 6 160 110 3.90 2.875 17.02 0 1 4 4
Datsun 710 22.8 4 108 93 3.85 2.320 18.61 1 1 4 1
Hornet 4 Drive 21.4 6 258 110 3.08 3.215 19.44 1 0 3 1
Hornet Sportabout 18.7 8 360 175 3.15 3.440 17.02 0 0 3 2
Valiant 18.1 6 225 105 2.76 3,460 20.22 1 0 3 1
Kita akan menggunakan variabel disp dan hp untuk memprediksi probabilitas bahwa mobil tertentu mengambil nilai 1 untuk variabel am .
Kode berikut menunjukkan cara menggunakan fungsi glm() agar sesuai dengan model regresi logistik ini:
#fit logistic regression model model <- glm(am ~ disp + hp, data=mtcars, family=binomial) #view model summary summary(model) Call: glm(formula = am ~ disp + hp, family = binomial, data = mtcars) Deviance Residuals: Min 1Q Median 3Q Max -1.9665 -0.3090 -0.0017 0.3934 1.3682 Coefficients: Estimate Std. Error z value Pr(>|z|) (Intercept) 1.40342 1.36757 1.026 0.3048 available -0.09518 0.04800 -1.983 0.0474 * hp 0.12170 0.06777 1.796 0.0725 . --- Significant. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 (Dispersion parameter for binomial family taken to be 1) Null deviance: 43,230 on 31 degrees of freedom Residual deviance: 16,713 on 29 degrees of freedom AIC: 22,713 Number of Fisher Scoring iterations: 8
Berikut cara menafsirkan setiap elemen hasil:
Koefisien dan nilai-P
Estimasi koefisien pada hasil menunjukkan rata-rata perubahan log kemungkinan variabel respons yang terkait dengan peningkatan satu unit pada setiap variabel prediktor.
Misalnya, peningkatan satu unit pada variabel prediktor disp dikaitkan dengan perubahan rata-rata sebesar -0,09518 pada log kemungkinan bahwa variabel respons mengambil nilai 1. Artinya, nilai disp yang lebih tinggi dikaitkan dengan probabilitas yang lebih rendah. . dari variabel saya mengambil nilai 1.
Kesalahan standar memberi kita gambaran tentang variabilitas yang terkait dengan estimasi koefisien. Kami kemudian membagi estimasi koefisien dengan kesalahan standar untuk mendapatkan nilai az.
Misalnya, nilai z untuk variabel prediktor disp dihitung sebagai -0,09518 / 0,048 = -1,983.
Nilai p Pr(>|z|) memberi tahu kita probabilitas yang terkait dengan nilai z tertentu. Hal ini pada dasarnya memberitahu kita seberapa baik setiap variabel prediktor mampu memprediksi nilai variabel respon dalam model.
Misalnya, nilai p yang terkait dengan nilai z untuk variabel disp adalah 0,0474. Karena nilai ini kurang dari 0,05, kita dapat mengatakan bahwa disp adalah variabel prediktor yang signifikan secara statistik dalam model.
Bergantung pada preferensi Anda, Anda dapat memutuskan untuk menggunakan tingkat signifikansi 0,01, 0,05, atau 0,10 untuk menentukan apakah setiap variabel prediktor signifikan secara statistik atau tidak.
Penyimpangan nol dan sisa
Penyimpangan nol pada keluaran menunjukkan seberapa baik variabel respons dapat diprediksi oleh model yang hanya memiliki suku asli.
Penyimpangan sisa memberi tahu kita seberapa baik variabel respons dapat diprediksi oleh model spesifik yang kita sesuaikan dengan variabel prediktor p . Semakin rendah nilainya, maka semakin baik model tersebut dalam memprediksi nilai variabel respon.
Untuk menentukan apakah suatu model “berguna”, kita dapat menghitung statistik Chi-kuadrat sebagai berikut:
X 2 = Nol penyimpangan – Sisa penyimpangan
dengan derajat kebebasan p .
Kami kemudian dapat menemukan nilai p yang terkait dengan statistik Chi-kuadrat ini. Semakin rendah nilai p, semakin baik model tersebut mampu menyesuaikan dengan kumpulan data dibandingkan dengan model yang hanya memiliki term asli.
Misalnya, dalam model regresi kita, kita dapat mengamati nilai berikut pada keluaran untuk nol dan simpangan sisa:
- Penyimpangan nol : 43,23 dengan df = 31
- Deviasi sisa : 16,713 dengan df = 29
Kita dapat menggunakan nilai-nilai ini untuk menghitung statistik X 2 model:
- X 2 = Nol penyimpangan – Sisa penyimpangan
- X2 = 43,23 – 16,713
- X2 = 26.517
Terdapat p = 2 derajat kebebasan variabel prediktor.
Kita dapat menggunakan kalkulator Chi-kuadrat ke nilai P untuk menemukan bahwa nilai X 2 sebesar 26,517 dengan 2 derajat kebebasan memiliki nilai p sebesar 0,000002.
Karena nilai p ini jauh lebih rendah dari 0,05, kami menyimpulkan bahwa model ini sangat berguna.
AIC
Kriteria Informasi Akaike ( AIC ) adalah ukuran yang digunakan untuk membandingkan kesesuaian model regresi yang berbeda. Semakin rendah nilainya maka semakin baik model regresi tersebut mampu menyesuaikan data.
Ini dihitung sebagai berikut:
AIC = 2K – 2 ln (L)
Emas:
- K : Jumlah parameter model.
- ln (L) : Log-likelihood model. Hal ini memberi tahu kita seberapa besar kemungkinan model tersebut didasarkan pada data.
Nilai sebenarnya dari AIC tidak ada artinya.
Namun, jika Anda menyesuaikan beberapa model regresi, Anda dapat membandingkan nilai AIC setiap model. Model dengan AIC terendah memberikan kesesuaian terbaik.
Terkait: Apa yang dianggap sebagai nilai AIC yang baik?
Sumber daya tambahan
Tutorial berikut memberikan informasi tambahan tentang cara menggunakan fungsi glm() di R:
Perbedaan antara glm dan lm di R
Cara menggunakan fungsi prediksi dengan glm di R
Tutorial berikut menjelaskan cara menangani kesalahan umum saat menggunakan fungsi glm() :
Cara menangani R Peringatan: glm.fit: algoritma tidak menyatu
Cara menangani: glm.fit: probabilitas yang disesuaikan secara numerik 0 atau 1 terjadi