개요

Universalbank 자료를 의사결정나무 알고리즘을 이용하여 Personalloan(대출 유무)을 예측한다. 이 보고서에서는 CART(classificaion and regression trees)방법론을 사용하는 rpart패키지를 사용하여 Personalloan(대출 유무)를 예측하는 모형을 만들고 테스트 자료를 사용하여 모형의 평가를 실시한다.



자료설명

  • 5000개의 자료와 12개의 변수로 이루어져 있다.

<표1> 자료크기

## [1] 5000   12



<표2> UniversalBank 자료의 변수

변수명 변수설명 변수속성
Age 완성 된 연도의 고객의 연령 연속형
Experienc 수년간의 전문적인 경험 연속형
Incom 고객의 연간 수입 연속형
Family 고객의 가족 규모 연속형
CCAvg 평균 신용 카드 지출 연속형
Education 교육 수준 (1 : Undergrad , 2 : 대학원, 3 : 고급 / 전문) 범주형
Mortgag 주택 모기지의 가치 연속형
PersonalLoan 고객은 마지막 캠페인에 제공된 개인 대출을 수락 하였나? (목표 변수) 범주형
SecuritiesAccount 고객은 은행에 증권 계좌를 가지고 있는가? 범주형
CDAccount 고객은 은행에 예금 계좌를 가지고 있는가? 범주형
Online 고객이 인터넷 뱅킹 시설을 사용하는가? 범주형
CreditCard 고객이 Universal Bank에서 발행 한 신용 카드를 사용하는가? 범주형

  • 타겟변수는 Personalloan(대출 유무)로 범주형 변수이다.



Age를 범주형변수로 그룹핑

<표3> 연령별 빈도표

## 
## 30세 이하   31~45세   46~60세 61세 이상 
##       624      1895      1934       547
  • 30대 미만은 사회 초년층 으로 보고, 31~ 45세는 성장기 , 46~60세는 안정기, 61세이상은 퇴직기 로 의미를 두고 범주를 나누었다.



범주형변수 정리

  • 보기 간편하도록 (0,1)을 각 변수의 특성에 맞게 한글로 바꿔 표시한다.

<표4> 범주형 level값 명명

변수명 변수 : level값
Education 1 : 대졸
2 : 대학원졸
3 : 박사이상
PersonalLoan 0 : 없다
1 : 있다
SecuritiesAccount 0 : 없다
1 : 있다
CDAccount 0 : 없다
1 : 있다
Online 0 : 안한다
1 : 사용한다
CreditCard 0 : 안한다
1 : 사용한다



탐색적 자료분석

  • 연속형 자료는 상자그림으로 보고 범주형 자료는 카이제곱검정을 통해 타겟변수와 변수들간의 상관성을 본다.

<그림1> boxplot : 연속형변수


  • Income(소득), Family(가족수), CCAvg(카드지출액)은 PersonlLoan(대출유무)와 관련있다고 보인다.


카이제곱 검정 : 범주형 변수의 독립성검정

<표5> SecuritiesAccount와 PersonalLoan의 카이제곱검정결과

## 
##  Pearson's Chi-squared test with Yates' continuity correction
## 
## data:  SecuritiesAccount
## X-squared = 2.1723, df = 1, p-value = 0.1405

<표6> CDAccount와 PersonalLoan의 카이제곱검정결과

## 
##  Pearson's Chi-squared test with Yates' continuity correction
## 
## data:  CDAccount
## X-squared = 495.9, df = 1, p-value < 2.2e-16

<표7> Online와 PersonalLoan의 카이제곱검정결과

## 
##  Pearson's Chi-squared test with Yates' continuity correction
## 
## data:  Online
## X-squared = 0.15601, df = 1, p-value = 0.6929

<표8> CreditCard와 PersonalLoan의 카이제곱검정결과

## 
##  Pearson's Chi-squared test with Yates' continuity correction
## 
## data:  CreditCard
## X-squared = 0.021144, df = 1, p-value = 0.8844

<표9> Education와 PersonalLoan의 카이제곱검정결과

## 
##  Pearson's Chi-squared test
## 
## data:  Education
## X-squared = 111.24, df = 2, p-value < 2.2e-16

<표10> Age_class와 PersonalLoan의 카이제곱검정결과

## 
##  Pearson's Chi-squared test
## 
## data:  Age_class
## X-squared = 2.5285, df = 3, p-value = 0.4702
  • 카이제곱 분석 결과 CDAccount(은행계좌 유무)와 Education(교육 수준)이 Personalloan(대출유무)와 연관성이 있어보인다.


데이터분할




의사결정나무모형


분류나무모형의 형성
  • 타겟변수가 범주형이기 때문에 분류나무모형 사용
  • 과적합화 회피를 위한 노드의 최소 개체 수 = 20


<그림2> 분류나무모형

  • <그림2>는 CART 알고리즘을 이용한 분류나무모형의 결과이다. 총 6개의 최종마디로 이루어진 나무모형이 형성되었다. 뿌리마디는 총 2500개의 개체를 가지고, 1(있다)의 비율이 9%로 나타내어 지고 있다.



가지치기(pruning) 및 최적 분류나무모형의 선택

  • rpart패키지를 사용할 경우 과적합화의 위험이 있어 가지치기(Pruning) 실시

<표11> CP(cost-complexity parameter: 비용-복잡도 모수)

##          CP nsplit rel error    xerror       xstd
## 1 0.3111588      0 1.0000000 1.0000000 0.06238466
## 2 0.1459227      2 0.3776824 0.3862661 0.03997642
## 3 0.0278970      3 0.2317597 0.2532189 0.03257497
## 4 0.0100000      5 0.1759657 0.2103004 0.02974704


<그림3> CP 그래프

  • 일반적으로 xerror의 값이 가장 낮은 split개수의 cp 사용
  • xerror의 값이 가장낮은 cp값을 사용하여 가지치기를 하면 불필요한 가지들이 많이 남게 된다.
  • 따라서 <그림3>으로부터 xerror의 두번째로 낮은 split=4인 cp=0.027897을 사용하여 가지치기



가지치기(Pruning)

  • cp=0.027897 로 가지치기

<그림4> 가지치기 후 분류나무모형

  • <그림2><그림4>를 비교하였을 때 CCAvg로 분류 되는 가지들이 제거됨.
  • Income이 110 미만인경우 대출경험이 0(=없다)의 비율이 98%이다.
  • Income이 110 이상이면서 Education(학력)이 대졸이면서 Family(가족수)가 2.5(명)미만일 경우 대출경험이 0(=없다)의 비율이 100%이다.
  • Income이 110 이상이면서 Education(학력)이 대졸이면서 Family(가족수)가 2.5(명)이상일 경우 대출경험이 1(=있다)의 비율이 93%이다.
  • Income이 110 이상이면서 Education(학력)이 석사이상 일경우 대출경험이 1(=있다)의 비율이 91%이다.



검증데이터를 이용 모형의 평가 및 예측


가지치기 전

<표12> 가지치기 전 오분류표

##       pred
## y      FALSE TRUE
##   없다  2225   28
##   있다    35  212


<표13> 오분류율

## [1] 0.0252


<표14> 가지치기 후 오분류표

##       pred2
## y      FALSE TRUE
##   없다  2225   28
##   있다    35  212


<표15> 오분류율

## [1] 0.0252



로지스틱 회귀분석


<표16> 로지스틱 회귀분석 결과

변수명 유의성검증
Income, Family 매우유의
CCAvg 유의
Education (대학원 졸업) 매우 유의
Education (박사 이상 매우 유의
CDAccount 매우 유의
Online(사용한다) 유의
Credit card (사용한다) 매우 유의



ROCR

<그림 5> ROC CURVE

## 
## Call:
## glm(formula = PersonalLoan ~ . - Age, family = "binomial", data = loan, 
##     subset = tr.idx)
## 
## Deviance Residuals: 
##     Min       1Q   Median       3Q      Max  
## -2.8948  -0.1873  -0.0692  -0.0220   4.2059  
## 
## Coefficients:
##                         Estimate Std. Error z value Pr(>|z|)    
## (Intercept)           -1.326e+01  8.923e-01 -14.861  < 2e-16 ***
## Experience             4.657e-03  2.615e-02   0.178 0.858653    
## Income                 6.009e-02  4.267e-03  14.082  < 2e-16 ***
## Family                 8.105e-01  1.167e-01   6.943 3.84e-12 ***
## CCAvg                  1.269e-01  6.427e-02   1.974 0.048354 *  
## Education대학원졸      3.781e+00  3.778e-01  10.007  < 2e-16 ***
## Education박사이상      3.842e+00  3.783e-01  10.154  < 2e-16 ***
## Mortgage               8.526e-04  8.561e-04   0.996 0.319291    
## SecuritiesAccount있다 -5.542e-01  4.119e-01  -1.345 0.178498    
## CDAccount있다          3.314e+00  4.747e-01   6.982 2.92e-12 ***
## Online사용한다        -7.436e-01  2.385e-01  -3.117 0.001825 ** 
## CreditCard사용한다    -1.160e+00  3.110e-01  -3.729 0.000192 ***
## Age_class31~45세      -1.690e-01  4.477e-01  -0.377 0.705878    
## Age_class46~60세      -1.646e-02  7.468e-01  -0.022 0.982413    
## Age_class61세 이상    -6.335e-01  1.047e+00  -0.605 0.545013    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for binomial family taken to be 1)
## 
##     Null deviance: 1549.40  on 2499  degrees of freedom
## Residual deviance:  588.76  on 2485  degrees of freedom
## AIC: 618.76
## 
## Number of Fisher Scoring iterations: 8