Library:

> # install.packages("knitr")
> # install.packages("rmarkdown")
> # install.packages("prettydoc")
> # install.packages("equatiomatic")

1 PENDAHULUAN

1.1 Latar Belakang

Penelitian umumnya digunakan untuk memodelkan hubungan antara dua variabel, yaitu variabel respons dan variabel prediktor, menggunakan model regresi linear. Namun, model linear tidak selalu sesuai, terutama ketika terdapat pelanggaran asumsi dalam data. Ini khususnya terjadi pada variabel respons dengan skala data nominal. Menurut Kutner et al. (2004), penggunaan OLS (Ordinary Least Squares) dapat menyebabkan dua pelanggaran asumsi regresi OLS:Galat model tidak tersebar normal dan ragam galat tidak homogen. Selain itu, terjadi pelanggaran dalam batasan nilai prediksi variabel respons; jika menggunakan OLS, nilai prediksi yang dihasilkan sering kali melebihi rentang 0-1, sementara pada data berskala nominal, variabel Y hanya memiliki dua nilai, yaitu 0 atau 1. Seorang peneliti ingin mengetahui hubungan antara Kekuatan sinyal (X1), harga(X2),fitu-fitur yang dipromosikan(X3) dan call center (X4) dengan kepuasan pengguna yang dihubungkan dengan 2 pilihan (0 : tidak puas dan 1 : puas).Sampel diambil dari 30 provider. Untuk menjawab penelitian yang telah disebutkan, karena variabel respons (kepuasan pengguna) merupakan data dikotomik dengan nilai 0 atau 1, penggunaan regresi OLS menjadi tidak tepat. Sebagai gantinya, regresi logistik (model logit) dapat digunakan untuk memodelkan hubungan ini. Model logistik memprediksi probabilitas terjadinya suatu peristiwa dengan mencocokkan data pada fungsi logit dari kurva logistik. Selain itu, regresi logistik memiliki keuntungan tidak memerlukan asumsi normalitas untuk residualnya, sehingga lebih fleksibel dan cocok untuk data yang tidak memenuhi asumsi normalitas yang diperlukan oleh regresi linear. Dengan menggunakan regresi logistik,akan dapat lebih akurat memprediksi kepuasan pengguna berdasarkan variabel prediktor yang ada.

2 TINJAUAN PUSTAKA

2.1 Regresi Logistik

Menurut Dowdy, regresi logistik merupakan analisis yang menggunakan variabel independen kuantitatif untuk memprediksi probabilitas kemunculan variabel dependen biner. Lebih terperinci regresi logistik merupakan salah satu bentuk analisis matematika untuk melihat adanya hubungan antara variabel bebas ke satu variabel terikat yang bersifat dikotomis di mana variabel yang memiliki dua nilai/kategori (Biner) dengan variabel independen yang memiliki skala data minimal nominal. Menurut Yasril, ada beberapa persyaratan yang harus dipenuhi sebelum menggunakan regresi logistik 1. Hubungan linearitas antar variabel tidak diperlukan. 2. Variabel independen tidak memerlukan asumsi normalitas 3. Tidak perlu asumsu homokedastisitas 4. Variabel dependen (Y) harus bersifat dikotomis (Biner) 5. Jika variabel independennya kategori maka kategorinya harus berbeda atau eksklusif 6. Sampel yang dibutuhkan relatif besar dan minimal sampel untuk variabel dependen adalah 50 7. Regresi logistik menggunakan pendekatan transformasi logaritma non linear untuk memprediksi hubungan yang dinyatakan sebagai odds ratio ## Regresi Logistik Biner Regresi logistik biner adalah salah satu jenis regresi yang digunakan untuk mengetahui hubungan antara suatu variabel independen yang berupa dua kategori atau berskala biner. Dua kategori yang digunakan berupa dua bilangan 0 dan 1:

\[ \pi(x) = \frac{\exp(\beta_0 + \beta_1 X_1 + \cdots + \beta_p X_p)}{1 + \exp(\beta_0 + \beta_1 X_1 + \cdots + \beta_p X_p)} \]

Dengan fungsi logit model regresinya sebagai berikut :

\[ g(x) = \beta_0 + \beta_1 X_1 + \cdots + \beta_p X_p \]

2.2 Asumsi Non Multikolinearitas

Uji multikolinearitas dalam analisis regresi berguna untuk mengidentifikasi dan mengatasi hubungan linear yang kuat antara variabel independen. Multikolinearitas yang tinggi dapat menyebabkan koefisien regresi tidak stabil dan sulit untuk diinterpretasikan. Untuk menguji keberadaan multikolinearitas, dapat digunakan metode nilai tolerance atau faktor inflasi varian(VIF) dengan rumus : \[ VIF_i = \frac{1}{1 - R_i^2} \]

Secara umum, kriteria penggunaan VIF sebagai berikut: - VIF < 10 : Tidak terjadi Multikolinearitas - VIF ≥ 10 : Terjadi Multikolinearitas

2.3 Pengujian Parameter Model

2.3.1 Uji Simultan

Pengujian parameter secara keseluruhan berguna untuk mengetahui apakah ada pengaruh dari keseluruhan variabel independen terhadap model dengan hipotesis : \[ \begin{aligned} H_0 &: \beta_1 = \beta_2 = \cdots = 0 \\ H_1 &: \beta_i \neq 0 \quad \text{dengan} \quad i = 1, 2, 3, \ldots \\ \end{aligned} \]

2.3.2 Uji Parsial

Pengujian ini dilakukan jika pengujian simultian memberikan hasil terdapat minimal satu variabel independen yang berpengaruh terhadap model. Uji parsial ini berguna untuk mengetahu variabel apa saja yang memberikan pengaruh. Pengujian ini dapat menggunakan Uji Wald dengan hipotesis : \[ \begin{aligned} H_0 &: \beta_i = 0\text{(tidak terdapat signifikansi model terhadap koefisien logit)}\\ H_1 &: \beta_i \neq 0 \text{(signifikansi model terdapat pada koefisien logit)} \end{aligned} \]

2.3.3 Uji Kesesuaian Model

Uji kesesuaian model adalah uji untuk mengetahui kelayakan sebuah model regresi dengan menggunakan uji Hosmer dan Lemeshow sebagai alat ujinya. Hipotesis yang digunakan : \[ \begin{aligned} H_0&:\text{Model cocok dengan data pengamatan}\\ H_1&:\text{Model tidak cocok dengan data pengamatan} \end{aligned} \]

2.4 Ketepatan Klasifikasi

Ketepatan klasifikasi adalah cara untuk mengetahui apakah suatu model tersebut tepat dalam menduga nilai duga. Salah satu alternatif untuk mencari nilai peluang ketepatan klasifikasi dapat menggunakan Confusion Matrix.

Aktual Prediksi 0 Prediksi 1
0 N11 N12
1 N21 N22

Sebelum mencari nilai ketepatan klasifikasi, dapat mencari nilai Apparent Error Rate (APER). APER sendiri adalah peluang kesalahan model dalam menduga taksiran dengan rumus : \[ APER = \left( \frac{n_{12} + n_{21}}{n_{1} + n_{2}} \right) \times 100\% \] \[ \text{Ketepatan klasifikasi} = 1 - APER \] ## Interpretasi Koefisien Parameter

Interpretasi koefisien parameter adalah menentukan hubungan fungsional antara variabel respons dengan variabel prediktor serta mendefinisikan perubahan yang terjadi. Model logit yang terbentuk terdapat dua nilai π(x) dan dua nilai 1 - π(x), yaitu ketika x = 0 (Tidak lulus tepat waktu) dan x = 1 (Lulus Tepat Waktu). Dalam menjelaskan koefisien parameter seringkali digunakan oddsratio yang menyatakan kecenderungan yang didefinisikan sebagai rasio antara jumlah individu yang mengalami peristiwa tertenu dengan yang tidak mengalami peristiwa tersebut (Agresti, 1990). Rumus odds ratio sebagai berikut : \[ \begin{aligned} \psi &= \frac{\text{odds } A}{\text{odds } B} \\ &= \frac{\frac{\pi_A}{1 - \pi_A}}{\frac{\pi_B}{1 - \pi_B}} \end{aligned} \]

3 HASIL DAN PEMBAHASAN

3.1 Data

Data yang diambil adalah data Seorang peneliti yang ingin mengetahui bagaimana pengaruh layanan provider komunikasi dengankepuasan pelanggan. Penelitian dilakukan kepada 30 orang responden. Kepuasan pengguna provider diteliti melalui uji variabel kekuatan sinyal (X1), harga (X2), fitur-fitur yang di promosikan (X3), call center (costumer service) (X4). Kepuasan pengguna oleh provider tersebut (Y) sebagai variabel dependent adalah variabel dummy dimana jika respondenmenjawab puas maka kita beri skor 1 dan jika menjawab tidak puas maka kita beri skor 0 Berikut syntax untuk mengimport data dari folder komputer.

> library(readxl)
> data <- read_excel('C:/Users/U S E R/Downloads/data.xlsx')
> Y <- as.factor(data$Y)
> X1<-data$X1
> X2 <- data$X2
> X3 <- data$X3
> X4 <- data$X4
> #MEMBENTUK DATA FRAME
> data_logistik <-data.frame(X1,X2,X3,X4,Y)
> str(data_logistik)
'data.frame':   30 obs. of  5 variables:
 $ X1: num  78 89 67 83 73 75 86 77 91 80 ...
 $ X2: num  75 80 64 73 72 69 90 81 79 77 ...
 $ X3: num  120 115 120 121 113 110 120 105 111 119 ...
 $ X4: num  85 75 87 70 74 84 91 77 91 80 ...
 $ Y : Factor w/ 2 levels "0","1": 2 2 1 2 1 1 2 1 2 2 ...
> head(data_logistik,30)
   X1 X2  X3 X4 Y
1  78 75 120 85 1
2  89 80 115 75 1
3  67 64 120 87 0
4  83 73 121 70 1
5  73 72 113 74 0
6  75 69 110 84 0
7  86 90 120 91 1
8  77 81 105 77 0
9  91 79 111 91 1
10 80 77 119 80 1
11 79 83 123 76 0
12 84 67 118 77 0
13 72 84 117 89 0
14 90 68 112 84 1
15 76 84 120 85 1
16 69 90 108 80 0
17 81 70 110 79 1
18 75 68 117 78 0
19 69 79 120 70 1
20 78 80 106 72 1
21 91 76 113 83 0
22 83 85 119 88 0
23 85 65 121 79 1
24 75 87 116 81 0
25 87 70 109 80 1
26 70 78 115 90 0
27 74 60 118 89 1
28 84 69 120 74 1
29 91 88 120 75 1
30 86 74 115 85 1

3.2 Model Regresi Logistik Biner

Dari data di atas, akan dihitung nilai setiap koefisien regresi logistiknya dengan syntax :

> #ANALISIS REGRESI LOGISTIK
> Modellogistik<-glm(Y~X1+X2+X3+X4,family=binomial,data=data_logistik)
> Modellogistik

Call:  glm(formula = Y ~ X1 + X2 + X3 + X4, family = binomial, data = data_logistik)

Coefficients:
(Intercept)           X1           X2           X3           X4  
  -14.38156      0.16033     -0.03677      0.07737     -0.05243  

Degrees of Freedom: 29 Total (i.e. Null);  25 Residual
Null Deviance:      41.05 
Residual Deviance: 32.33    AIC: 42.33

Akan diperoleh model regresi yaitu : \[ \pi(x) = \frac{\exp(\ -14.38156 + \ 0.16033 X_1 \ -0.03677 X_2 +\ 0.07737 X_3 \ -0.05243 X_4 )}{1 + \exp(\ -14.38156 + \ 0.16033 X_1 \ -0.03677 X_2+ \ 0.07737 X_3 \ -0.05243 X_4)} \] Keterangan

X1 : kekuatan sinyal

X2 : harga

X3 : fitur-fitur yang di promosikan

X4 :call center (costumer service)

3.3 Pengecekan Multikolinearitas

> #ASUMSI MULTIKOLINERAITAS
> install.packages("car")
Error in contrib.url(repos, "source"): trying to use CRAN without setting a mirror
> library('car')
> reg <- glm(Y~X1+X2+X3+X4,family=binomial,data=data_logistik)
> vif_values <- vif(reg)
> vif_values
      X1       X2       X3       X4 
1.039521 1.019615 1.038193 1.038817 

Karena ketiga variabel prediktor menghasilkan nilai VIF < 10, maka tidak ada korelasi antara ketiga variabel prediktor sehingga asumsi non multikolinearitas terpenuhi.

3.4 Pengujian Parameter Secara Simultan

> #PENGUJIAN PARAMETER SECARA SIMULTAN
> install.packages('pscl')
Error in contrib.url(repos, "source"): trying to use CRAN without setting a mirror
> library('pscl')
> pR2(Modellogistik)
fitting null model for pseudo-r2
        llh     llhNull          G2    McFadden        r2ML        r2CU 
-16.1639015 -20.5269530   8.7261030   0.2125523   0.2523872   0.3385465 
> qchisq(0.95, 4)
[1] 9.487729

Untuk menguji parameter secara simultan digunakan Statistik G2 yang menyebar secara X2. Diperoleh nilai G2 sebesar 8.7261030 yang mana lebih kecil dari nilai X2 dengan α = 0.05 dan db = 3 sebesar 9.487729. Sehingga menghasilkan keputusan terima H0. Maka tidak terdapat variabel prediktor yang berpengaruh terhadap variabel respons

3.5 Pengujian Parameter Secara Parsial

> #PENGUJIAN PARAMETER SECARA PARSIAL
> summary(Modellogistik)

Call:
glm(formula = Y ~ X1 + X2 + X3 + X4, family = binomial, data = data_logistik)

Coefficients:
             Estimate Std. Error z value Pr(>|z|)  
(Intercept) -14.38156   12.64323  -1.137   0.2553  
X1            0.16033    0.06731   2.382   0.0172 *
X2           -0.03677    0.05508  -0.668   0.5044  
X3            0.07737    0.08914   0.868   0.3854  
X4           -0.05243    0.07084  -0.740   0.4592  
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 41.054  on 29  degrees of freedom
Residual deviance: 32.328  on 25  degrees of freedom
AIC: 42.328

Number of Fisher Scoring iterations: 4

Dari output tersebut dapat disimpulkan, hanya variabel kekuatan sinyal (X1) yang memiliki nilai p-value kurang dari α (0.05) dan menghasilkan keputusan Tolak H0 di mana hal ini dapat diartikan bahwa hanya variabel ini saja yang signifikan secara statistik. maka dapat di simpulkan kekuatan sinyal adalah faktor yang paling berpengaruh secara signifikan terhadap kepuasan pelanggan terhadap layanan provider komunikasi.

3.6 Uji Kesesuaian Model

> #UJI KESESUAIAN MODEL
> install.packages('generalhoslem')
Error in contrib.url(repos, "source"): trying to use CRAN without setting a mirror
> library('generalhoslem')
> ujikelayakan <- logitgof(data_logistik$Y, fitted(Modellogistik))
> ujikelayakan

    Hosmer and Lemeshow test (binary model)

data:  data_logistik$Y, fitted(Modellogistik)
X-squared = 14.232, df = 8, p-value = 0.07591

Dari output yang dihasilkan, dapat dilihat bahwa p-value dari uji hosmer and lemeshow bernilai 0.07591 yang mana lebih besar dari nilai α (0.05) sehingga menghasilkan keputusan terima H0. Artinya model logistik yang dibentuk dapat merepresentasikan data pengamatan yang digunakan.

3.7 Ketepatan Klasifikasi

Sebelum menentukan nilai ketepatan klasifikasi. Kita dapat membentuk tabel confusion matrix 2x2 dengan 2 variabel yaitu variabel aktual (Observer) dan variabel prediktor (Predictor). Variabel prediktor sendiri merupakan nilai respons duga yang dihasilkan ketika setiap pengamatan disubstitusikan pada model logit.

> # Ketepatan Klasifikasi
> yp_hat<-fitted(Modellogistik)
> data_logistik$yp_hat<-yp_hat
> data_logistik
   X1 X2  X3 X4 Y     yp_hat
1  78 75 120 85 1 0.54853560
2  89 80 115 75 1 0.87124503
3  67 64 120 87 0 0.21937703
4  83 73 121 70 1 0.87366986
5  73 72 113 74 0 0.38663979
6  75 69 110 84 0 0.31282827
7  86 90 120 91 1 0.64823425
8  77 81 105 77 0 0.28346587
9  91 79 111 91 1 0.75418131
10 80 77 119 80 1 0.65173353
11 79 83 123 76 0 0.68242662
12 84 67 118 77 0 0.84756164
13 72 84 117 89 0 0.17653527
14 90 68 112 84 1 0.85930862
15 76 84 120 85 1 0.38773919
16 69 90 108 80 0 0.07827056
17 81 70 110 79 1 0.59879597
18 75 68 117 78 0 0.52648641
19 69 79 120 70 1 0.35232758
20 78 80 106 72 1 0.40354866
21 91 76 113 83 0 0.85882286
22 83 85 119 88 0 0.59725911
23 85 65 121 79 1 0.88862066
24 75 87 116 81 0 0.30423131
25 87 70 109 80 1 0.77427941
26 70 78 115 90 0 0.13619843
27 74 60 118 89 1 0.43548278
28 84 69 120 74 1 0.87589397
29 91 88 120 75 1 0.91095839
30 86 74 115 85 1 0.75534206
> class<-table(data_logistik$Y,data_logistik$yp_hat>0.5)
> class
   
    FALSE TRUE
  0     8    5
  1     4   13

Dari tabel klasifikasi dapat diketahui :

  • Dari 13 orang yang sebenarnya merasa puas, model berhasil memprediksi 8 orang dengan tepat, namun 5 orang diprediksi tidak puas padahal sebenarnya puas.

  • Dari 17 orang yang sebenarnya tidak puas, model berhasil memprediksi 13 orang dengan tepat, namun 4 orang diprediksi puas padahal sebenarnya tidak puas.

Lalu dapat dihitung nilai APER dan tingkat ketepatan klasifikasi dari model tersebut

> # menghitung nilai APER dan tingkat ketepatan klasifikasi dari model tersebut
> APER <- (class[1,2] + class[2,1])/(sum(class))
> APER
[1] 0.3
> KT <- 1 - APER
> KT
[1] 0.7

Diperoleh ketepatan klasifikasi sebesar 0.7, dengan kata lain model logit yang terbentuk hanya dapat menebak atau mengklasifikasikan objek penelitian dengan tepat hanya 70%

3.8 ODD Ratio

> #ODDS RATIO
> beta<-(coef(Modellogistik))
> beta
 (Intercept)           X1           X2           X3           X4 
-14.38155744   0.16033158  -0.03676866   0.07737347  -0.05243197 
> OR_beta<-exp(beta)
> OR_beta
 (Intercept)           X1           X2           X3           X4 
5.677655e-07 1.173900e+00 9.638991e-01 1.080446e+00 9.489189e-01 
> cbind(beta,OR_beta)
                    beta      OR_beta
(Intercept) -14.38155744 5.677655e-07
X1            0.16033158 1.173900e+00
X2           -0.03676866 9.638991e-01
X3            0.07737347 1.080446e+00
X4           -0.05243197 9.489189e-01

Dari hasil output dapat disimpulkan : 1. Kekuatan sinyal Setiap peningkatan satu unit dalam kekuatan sinyal (X1) akan meningkatkan peluang (odds) kepuasan pelanggan sebesar 1.1739 kali. 2. Harga Setiap peningkatan satu unit dalam harga (X2) akan mengurangi peluang (odds) kepuasan pelanggan sebesar 0.9639 kali. 3. Fitur-fitur yang dipromosikan Setiap peningkatan satu unit dalam fitur-fitur yang dipromosikan (X3) akan meningkatkan peluang (odds) kepuasan pelanggan sebesar 1.0804 kali. 4. Call center Setiap peningkatan satu unit dalam kualitas call center (X4) akan mengurangi peluang (odds) kepuasan pelanggan sebesar 0.9489 kali.

4 KESIMPULAN

Berdasarkan hasil analisis menggunakan regresi logistik biner menghasilkan kesimpulan yaitu model regresi logistik biner sebagai berikut \[ P(Y = 0) = \Phi(-14.38156 + 0.16033X_1 - 0.03677X_2 + 0.07737X_3 - 0.05243X_4) \]

\[ P(Y = 1) = 1 - \Phi(-14.38156 + 0.16033X_1 - 0.03677X_2 + 0.07737X_3 - 0.05243X_4) \] Keterangan : X1 : kekuatan sinyal

X2 : harga

X3 : fitur-fitur yang di promosikan

X4 :call center (costumer service)

Berdasarkan hasil perhitungan Odds Ratio untuk masing-masing variabel prediktor, diperoleh kesimpulan bahwa kekuatan sinyal (X1) memiliki dampak positif yang signifikan terhadap peluang kepuasan pelanggan (OR = 1.1739, p-value < 0.05), sementara harga (X2) dan kualitas call center (X4) memiliki dampak negatif yang tidak signifikan (masing-masing dengan OR = 0.9639 dan OR = 0.9489, p-value > 0.05). Di sisi lain, fitur-fitur yang dipromosikan (X3) memiliki dampak positif terhadap peluang kepuasan pelanggan, namun tidak signifikan secara statistik (OR = 1.0804, p-value > 0.05)..

5 DAFTAR PUSTAKA

Harlan, J. (2018). Analisis Regresi Logistik. Gunadarma.

Sofiyat, A. I., Tjalla, A., & Mahdiyah. (2023). PEMODELAN REGRESI LOGISTIK BINER TERHADAP PENERIMAAN PEGAWAI DI PT XYZ JAKARTA. Matematika Sains, 1.

Situngkir, R. H., & Sembiring, P. (2023). Analisis Regresi Logistik Untuk Menentukan Faktor-Faktor Yang Mempengaruhi Kesejahteraan Masyarakat Kabupaten/Kota Di Pulau Nias. Matematika Dan Pendidikan Matematika , 6, 25–31.

wulandari, D. E. (2018, July). Contoh Soal Regresi Logistik. From scribd: https://www.scribd.com/document/385008296/Contoh-Soal-Regresi-Logistik