Cara mengekstrak koefisien regresi dari glm() di r


Anda dapat menggunakan metode berikut untuk mengekstrak koefisien regresi dari fungsi glm() di R:

Metode 1: ekstrak semua koefisien regresi

 model$coefficients

Metode 2: Ekstrak koefisien regresi untuk variabel tertentu

 model$coefficients[' my_variable ']

Metode 3: Ekstrak semua koefisien regresi dengan standar error, nilai Z dan nilai P

 summary(model)$coefficients

Contoh berikut menunjukkan cara menggunakan metode ini dalam praktik.

Contoh: ekstrak koefisien regresi dari glm() di R

Misalkan kita memasang model regresi logistik menggunakan kumpulan data default dari paket ISLR :

 #load dataset
data <- ISLR::Default

#view first six rows of data
head(data)

  default student balance income
1 No No 729.5265 44361.625
2 No Yes 817.1804 12106.135
3 No No 1073.5492 31767.139
4 No No 529.2506 35704.494
5 No No 785.6559 38463.496
6 No Yes 919.5885 7491.559

#fit logistic regression model
model <- glm(default~student+balance+income, family=' binomial ', data=data)

#view summary of logistic regression model
summary(model)

Call:
glm(formula = default ~ student + balance + income, family = "binomial", 
    data = data)

Deviance Residuals: 
    Min 1Q Median 3Q Max  
-2.4691 -0.1418 -0.0557 -0.0203 3.7383  

Coefficients:
              Estimate Std. Error z value Pr(>|z|)    
(Intercept) -1.087e+01 4.923e-01 -22.080 < 2e-16 ***
studentYes -6.468e-01 2.363e-01 -2.738 0.00619 ** 
balance 5.737e-03 2.319e-04 24.738 < 2e-16 ***
income 3.033e-06 8.203e-06 0.370 0.71152    
---
Significant. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 2920.6 on 9999 degrees of freedom
Residual deviance: 1571.5 on 9996 degrees of freedom
AIC: 1579.5

Number of Fisher Scoring iterations: 8

Kita dapat mengetik model$coefisien untuk mengekstrak semua koefisien regresi dari model:

 #extract all regression coefficients
model$coefficients

  (Intercept) studentYes balance income 
-1.086905e+01 -6.467758e-01 5.736505e-03 3.033450e-06

Kita juga dapat mengetikkan model$coefisien[‘keseimbangan’] untuk mengekstrak koefisien regresi untuk variabel keseimbangan saja:

 #extract coefficient for 'balance'
model$coefficients[' balance ']

balance 
0.005736505

Untuk menampilkan koefisien regresi beserta kesalahan standarnya, nilai z, dan nilai p , kita dapat menggunakan koefisien ringkasan(model)$ sebagai berikut:

 #view regression coefficients with standard errors, z values and p-values
summary(model)$coefficients

                 Estimate Std. Error z value Pr(>|z|)
(Intercept) -1.086905e+01 4.922555e-01 -22.080088 4.911280e-108
studentYes -6.467758e-01 2.362525e-01 -2.737646 6.188063e-03
balance 5.736505e-03 2.318945e-04 24.737563 4.219578e-135
income 3.033450e-06 8.202615e-06 0.369815 7.115203e-01

Kami juga dapat mengakses nilai tertentu dalam keluaran ini.

Misalnya, kita dapat menggunakan kode berikut untuk mengakses nilai p dari variabel saldo :

 #view p-value for balance variable
summary(model)$coefficients[' balance ', ' Pr(>|z|) ']

[1] 4.219578e-135

Atau kita dapat menggunakan kode berikut untuk mengakses nilai p untuk setiap koefisien regresi:

 #view p-value for all variables
summary(model)$coefficients[, ' Pr(>|z|) ']

  (Intercept) studentYes balance income 
4.911280e-108 6.188063e-03 4.219578e-135 7.115203e-01 

Nilai P ditampilkan untuk setiap koefisien regresi dalam model.

Anda dapat menggunakan sintaks serupa untuk mengakses nilai apa pun di output.

Sumber daya tambahan

Tutorial berikut menjelaskan cara melakukan tugas umum lainnya di R:

Cara melakukan regresi linier sederhana di R
Cara melakukan regresi linier berganda di R
Bagaimana melakukan regresi logistik di R
Bagaimana melakukan regresi kuadrat di R

Tambahkan komentar

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *