Farizah Rizka Rahmaniar
06211540000111
Bisnis Analitik 2018
S1 Statistika - ITS

Analisis Faktor-Faktor yang Mempengaruhi Personal Loan (Bank Personal Loan Dataset)

Deskripsi Data

Kasus ini adalah tentang Bank (Thera Bank) yang memiliki basis pelanggan yang terus berkembang. Mayoritas pelanggannya adalah pelanggan yang menyimpan uangnya dalam bank dengan berbagai ukuran simpanan. Namun jumlah pelanggan yang menjadi peminjam (pelanggan aset) sedikit. Hal ini membuat bank tertarik untuk memperluas basis ini dengan cepat. Sehingga dapat membawa lebih banyak bisnis pinjaman dan mendapatkan lebih banyak bunga pinjaman. Secara khusus, manajemen ingin mengubah pelanggan yang mempunyai hutang menjadi pelanggan yang meminjam pada bank (tetap menjadi seorang depositor). Manejemen ingin membangun sebuah model yang akan membantu mereka mengidentifikasi pelanggan yang memiliki kemungkinan tertinggi untuk membeli pinjaman. Hal ini akan meningkatkan rasio keberhasilan sekaligus mengurangi biaya kampanye

Variabel Keterangan
Age Umur pelanggan (tahun)
Experience Pengalaman profesional (tahun)
Income Pendapatan pelanggan ($000)
ZIPCode Kode Pos Alamat Pelanggan
Family Jumlah anggota keluarga pelanggan
CCAvg Rata-rata pengeluaran kartu kredit pelanggan
Education Tingkat pendidikan 1: Undergrade; 2: Gradute; 3:Profesional
Mortgage nilai gadai rumah (jika ada)
Securities Account Apakah pelanggan mempunyai surat-surat berharga dengan bank?
CD Account Apakah pelanggan mempunyai Certificate of Deposit dengan bank?
Online Apakah pelanggan mempunyai internet banking?
Credit Card Apakah pelanggan menggunakan kartu kredit UniversalBank?
Personal Loan Apakah pelanggan menerima pinjaman pribadi di kampanye terakhir?

Data Bank Personal Loan

Data ini didapatkan dari kaggle dengan judul “Bank Loan Modelling”. Berikut merupakan data Bank Personal Loan

loan_df<-read.csv("C:/Users/Farizah Rizka/Documents/FP_BisnisAnalitik/Bank Personal Loan.csv",
                  header=TRUE)
head(loan_df)
##   Age Experience Income ZIP.Code Family CCAvg Education Mortgage
## 1  25          1     49    91107      4   1.6         1        0
## 2  45         19     34    90089      3   1.5         1        0
## 3  39         15     11    94720      1   1.0         1        0
## 4  35          9    100    94112      1   2.7         2        0
## 5  35          8     45    91330      4   1.0         2        0
## 6  37         13     29    92121      4   0.4         2      155
##   Personal.Loan Securities.Account CD.Account Online CreditCard
## 1             0                  1          0      0          0
## 2             0                  1          0      0          0
## 3             0                  0          0      0          0
## 4             0                  0          0      0          0
## 5             0                  0          0      0          1
## 6             0                  0          0      1          0

Statistika Deskriptif

Berikut merupakan statistika deskriptif pada Bank Personal Loan Dataset :

summary(loan_df)
##       Age          Experience       Income          ZIP.Code    
##  Min.   :23.00   Min.   :-3.0   Min.   :  8.00   Min.   : 9307  
##  1st Qu.:35.00   1st Qu.:10.0   1st Qu.: 39.00   1st Qu.:91911  
##  Median :45.00   Median :20.0   Median : 64.00   Median :93437  
##  Mean   :45.34   Mean   :20.1   Mean   : 73.77   Mean   :93153  
##  3rd Qu.:55.00   3rd Qu.:30.0   3rd Qu.: 98.00   3rd Qu.:94608  
##  Max.   :67.00   Max.   :43.0   Max.   :224.00   Max.   :96651  
##      Family          CCAvg          Education        Mortgage    
##  Min.   :1.000   Min.   : 0.000   Min.   :1.000   Min.   :  0.0  
##  1st Qu.:1.000   1st Qu.: 0.700   1st Qu.:1.000   1st Qu.:  0.0  
##  Median :2.000   Median : 1.500   Median :2.000   Median :  0.0  
##  Mean   :2.396   Mean   : 1.938   Mean   :1.881   Mean   : 56.5  
##  3rd Qu.:3.000   3rd Qu.: 2.500   3rd Qu.:3.000   3rd Qu.:101.0  
##  Max.   :4.000   Max.   :10.000   Max.   :3.000   Max.   :635.0  
##  Personal.Loan   Securities.Account   CD.Account         Online      
##  Min.   :0.000   Min.   :0.0000     Min.   :0.0000   Min.   :0.0000  
##  1st Qu.:0.000   1st Qu.:0.0000     1st Qu.:0.0000   1st Qu.:0.0000  
##  Median :0.000   Median :0.0000     Median :0.0000   Median :1.0000  
##  Mean   :0.096   Mean   :0.1044     Mean   :0.0604   Mean   :0.5968  
##  3rd Qu.:0.000   3rd Qu.:0.0000     3rd Qu.:0.0000   3rd Qu.:1.0000  
##  Max.   :1.000   Max.   :1.0000     Max.   :1.0000   Max.   :1.0000  
##    CreditCard   
##  Min.   :0.000  
##  1st Qu.:0.000  
##  Median :0.000  
##  Mean   :0.294  
##  3rd Qu.:1.000  
##  Max.   :1.000

Berdasarkan dari statistika deskriptif di atas dapat diketahui bahwa pada variabel Income, didapatkan rata-rata sebesar 73,77 ribu dolar. Hal ini berarti rata-rata pendapatan pelanggan yang menyimpan uangnya di bank adalah sebesar 73,77 ribu dolar. Selain itu, pada variabel Age didapatkan rata-rata sebesar 45,34 yang artinya rata-rata umur pelanggan yang menyimpankan uangnya di bank adalah sekitar 45,34 tahun.

Visualisasi

Dari data tersebut visualisasi yang dapat dibuat diantaranya adalah dengan membuat diagram batang. Berikut merupakan contoh diagram batang dari variabel Income dan variabel Personal.Loan

library(ggplot2)
library(ggpubr)
## Loading required package: magrittr
ggplot(loan_df, aes(as.character(Personal.Loan))) +
  geom_bar(fill = "pink") + theme_pubclean()

Dari data di atas dapat diketahui bahwa pelanggan yang tidak menerima tawaran pinjaman pribadi di kampanye terakhir lebih banyak daripada pelanggan yang menerima tawaran pinjaman pribadi di kampanye terakhir yang dilaksanakan oleh bank. Hal ini juga dapat dilihat bahwa pelanggan yang menerima tawaran pinjaman pribadi tidak sampai 50% dari pelanggan

library(ggplot2)
library(ggpubr)
ggplot(loan_df, aes(x=Income)) +
             geom_histogram(aes(color=as.character(Personal.Loan),fill=as.character(Personal.Loan)),
                            alpha=0.4,position = "identity")
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.

Histogram di atas menggambarkan pendapatan pelanggan yang menerima maupun yang tidak menerima tawaran pinjaman pribadi dari bank. Yang berwarna pink menunjukkan pendapatan pelanggan yang tidak menerima tawaran pinjaman pribadi dan dapat dilihat bahwa jumlah pendapatan pelanggan yang paling banyak adalah diantara 50 ribu dolar sampai 100 ribu dolar. Sedangkan, yang berwarna biru merupakan pendapatan pelanggan yang menerima tawaran pinjaman pribadi. Selain menggunakan histogram juga dapat dilihat dengan density plot seperti berikut.

library(ggplot2)
library(ggridges)
## 
## Attaching package: 'ggridges'
## The following object is masked from 'package:ggplot2':
## 
##     scale_discrete_manual
ggplot(loan_df, aes(x=Income, y=as.character(Personal.Loan))) +
  geom_density_ridges(aes(fill=as.character(Personal.Loan)))
## Picking joint bandwidth of 7.19

Regresi Logistik

Dalam regresi, kita mengenal istilah variabel dependen (terikat) dan variabel independen (bebas), dimana variabel dependen dipengaruhi oleh variabel independen.

. \[\begin{array}{cccc} Y_1&=&\beta_0 + \beta_1 X_1+\epsilon_1& \\ \vdots & \vdots & \vdots& \\ Y_i&=&\beta_0 + \beta_1 X_i+\epsilon_i&\\ \vdots & \vdots & \vdots& \\ Y_n&=&\beta_0 + \beta_1 X_n+\epsilon_n & \end{array}\]


dimana,

\(Y_i\) : variabel dependen

\(X_i\) : variabel independen

\(\epsilon_i\) : residual

glm1=glm(Personal.Loan~.,loan_df, family=binomial(link="logit"))
summary(glm1)
## 
## Call:
## glm(formula = Personal.Loan ~ ., family = binomial(link = "logit"), 
##     data = loan_df)
## 
## Deviance Residuals: 
##     Min       1Q   Median       3Q      Max  
## -3.1552  -0.2014  -0.0795  -0.0309   3.9288  
## 
## Coefficients:
##                      Estimate Std. Error z value Pr(>|z|)    
## (Intercept)        -1.183e+01  4.119e+00  -2.871  0.00409 ** 
## Age                -5.354e-02  6.131e-02  -0.873  0.38254    
## Experience          6.367e-02  6.093e-02   1.045  0.29602    
## Income              5.458e-02  2.620e-03  20.831  < 2e-16 ***
## ZIP.Code           -3.948e-06  4.077e-05  -0.097  0.92286    
## Family              6.958e-01  7.431e-02   9.364  < 2e-16 ***
## CCAvg               1.240e-01  3.965e-02   3.128  0.00176 ** 
## Education           1.736e+00  1.151e-01  15.085  < 2e-16 ***
## Mortgage            4.736e-04  5.543e-04   0.854  0.39289    
## Securities.Account -9.371e-01  2.859e-01  -3.278  0.00104 ** 
## CD.Account          3.824e+00  3.243e-01  11.791  < 2e-16 ***
## Online             -6.751e-01  1.571e-01  -4.298 1.72e-05 ***
## CreditCard         -1.120e+00  2.050e-01  -5.463 4.68e-08 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for binomial family taken to be 1)
## 
##     Null deviance: 3162.0  on 4999  degrees of freedom
## Residual deviance: 1284.3  on 4987  degrees of freedom
## AIC: 1310.3
## 
## Number of Fisher Scoring iterations: 8

Dari hasil regresi logistik biner di atas dapat ditarik beberapa kesimpulan diantaranya adalah sebagai berikut.

Model regresi

Model regresi yang didapatkan dari hasil regresi logistik biner di atas adalah sebagai berikut.

Y = -1.183e+01 -5.354e-02(Age) + 6.367e-02(Experience) + 5.458e-02(Income) - 3.948e-06(ZIP.Code) + 6.958e-01(Family) + 1.240e-01(CCAvg) + 1.736e+00(Education) + 4.736e-04(Mortgage) - 9.371e-01(Securities.Account) + 3.824e+00(CD.Account) - 6.751e-01(Online) - 1.120e+00(CreditCard)

Variabel independen yang berpengaruh signifikan terhadap model adalah variabel Income, Family, CCAvg, Education, Securities.Account, CD.Account, Online, dan CreditCard

Dan model logit yang dapat dibentuk adalah sebagai berikut.

\(\Pi (Y) = \frac{\text{exp}(Y)}{1+\text{exp}(Y)}\) \(\Pi (Y) = \frac{\text{exp}(-1.183e+01 -5.354e-02(Age) + 6.367e-02(Experience) + 5.458e-02(Income) - 3.948e-06(ZIP.Code) + 6.958e-01(Family) + 1.240e-01(CCAvg) + 1.736e+00(Education) + 4.736e-04(Mortgage) - 9.371e-01(Securities.Account) + 3.824e+00(CD.Account) - 6.751e-01(Online) - 1.120e+00(CreditCard))}{1+\text{exp}(-1.183e+01 -5.354e-02(Age) + 6.367e-02(Experience) + 5.458e-02(Income) - 3.948e-06(ZIP.Code) + 6.958e-01(Family) + 1.240e-01(CCAvg) + 1.736e+00(Education) + 4.736e-04(Mortgage) - 9.371e-01(Securities.Account) + 3.824e+00(CD.Account) - 6.751e-01(Online) - 1.120e+00(CreditCard))}\)

Pada regresi logistik, koefisien determinasi tidak dapat dihitung seperti regresi linear. Sehingga yang perlu diperhatikan adalah seberapa kita dapat memprediksi dengan benar yang dapat terlihat dari classification table sebagai berikut.

RP=sum((glm1$fitted.values>=0.5)==loan_df$Personal.Loan & loan_df$Personal.Loan==1)
FP=sum((glm1$fitted.values>=0.5)!=loan_df$Personal.Loan & loan_df$Personal.Loan==0)
RN=sum((glm1$fitted.values>=0.5)==loan_df$Personal.Loan & loan_df$Personal.Loan==0)
FN=sum((glm1$fitted.values>=0.5)!=loan_df$Personal.Loan & loan_df$Personal.Loan==1)
confMat<-matrix(c(RP,FP,FN,RN),ncol = 2)
colnames(confMat)<-c("Pred Accept Loan","Pred Ignore Loan")
rownames(confMat)<-c("Real Accept Loan","Real Ignore Loan")
print(confMat)
##                  Pred Accept Loan Pred Ignore Loan
## Real Accept Loan              304              176
## Real Ignore Loan               65             4455

Dari tabel diatas didapatkan penjelasan mengenai variabel dependen. Dari hasil tersebut didapatkan bahwa dari 5000 pelanggan yang menyimpan uangnya di bank dan terdeteksi dengan benar menerima tawaran pinjaman pribadi (Loan) adalah sebanyak 304 pelanggan. Sedangkan yang terdeteksi dengan benar menolak tawaran pinjaman pribadi (Loan) adalah sebanyak 4455 pelanggan. Selain itu, pelanggan yang menolak tawaran pinjaman pribadi (Loan) namun terdeteksi menerima tawaran loan adalah sebanyak 65 pelanggan dan pelanggan yang menolak loan namun terdeteksi menerima loan adalah sebanyak 176 pelanggan. Selanjutnya, dari tabel klasifikasi di atas dapat dihitung juga nilai akurasi, presisi, dan recall seperti berikut.

akurasi=((RP+RN)/(RP+RN+FP+FN))*100
presisi=(RP/(FP+RP))*100
recall=(RP/(FN+RP))*100
print(akurasi)
## [1] 95.18
print(presisi)
## [1] 82.38482
print(recall)
## [1] 63.33333

Model regresi logistik yang digunakan telah cukup baik karena mampu engklasifikasikan data dengan benar sebesar 95,18% dengan presisi yang cukup tinggi yaitu sebesar 82,38482% dan nilai recall sebesar 63,33%