머신러닝을 활용한 위험률 산출 기법

본 보고서는 Society of Actuaries에서 2019년에 발간한 “Machine-Learning Methods for Insurance Applications. A Survey“를 참고하여 작성

I		개 요

□  머신러닝은 AI기술의 일종으로 알고리즘을 이용하여 데이터를 분석하고 이를 기반으로 학습하여 미래를 예측하는 기술

ㅇ 머신러닝은 큰 데이터를 빠르게 다룰 수 있고, 전통적인 위험률산출 기법보다 변수들 간의 상관관계를 좀 더 고려할 수 있다는 장점이 있는 기법으로 해외 보험사들은 위험률 산출시 동 기법을 도입 중

미국 P&C 보험사들의 머신러닝 활용현황

주) 출처 : Willis Towers Watson '2016 Predictive Modeling Benchmark Survey (U.S)

□  본 보고서에서는 현재 해외에서 가장 보편적으로 사용되고 있는 전통적 위험률산출기법인 GLM*의 주요내용 및 한계점을 검토하고

* 일반화선형모형(Generalized Linear Model)

ㅇ 이를 보완하는 방법으로 머신러닝 기법을 활용한 위험률산출방안에 대해 알아보고자 함

Ⅱ		GLM의 주요내용 및 한계점

1. GLM 개요

□  GLM(일반화선형모형) 전통적인 선형모형*(linear model)에서 정규분포 가정과 등분산성 가정을 배재하여 일반화시킨 모형

* 독립/종속변수의 선형성, 오차항의 정규성·독립성·등분산성을 가정

ㅇ 즉, 정규분포를 가지는 종속변수 [eqn: Y]의 평균 [eqn: E[Y]]와 설명변수 [eqn: X]를 선형관계로 설명하는 기존 선형모형([eqn: E[Y]= beta X])에서

-  [eqn: Y]의 분포를 지수족(exponential family) 분포*로 확장하고, [eqn: E[Y]]와 [eqn: X]를 추가적으로 연결해주는 연결함수([eqn: g])를 도입한 모형

* 지수족분포는 지수함수와 연관되어 있는 확률분포를 말하며, 분포가 평균과 분산값에 의해 정의되며 분산이 평균에 대한 함수로 표시되는 분포로 포아송(Poisson), 음이항(Negative Binomial), 감마(Gamma) 등이 존재

선형모형과 일반화선형모형(GLM)의 차이

구 분	선형모형	일반화선형모형(GLM)
산출식	[eqn: E[Y]=X beta]	[eqn: g(E[Y])=X beta]
[eqn: Y]의 분포 가정	모든 X에 대해 ① 정규분포 ② 서로 독립 ③ 분산이 동일	모든 X에 대해 ① 지수족분포 ② 서로 독립 ③ 분산이 평균에 대한 함수
연결함수([eqn: g])	없 음	항등함수, Log 함수 등
추정방법	최소자승법주1) (Least Squares Method)	MLE주2) (Maximum Likelihood Estimation)

주) 1. SSE(sum of squared error, [eqn: SMALLSUM (y _{i} -x _{i} beta ) ^{2}])를 최소화하는 방법

2. 우도함수(Likelihood function, 관찰확률)를 최대화하는 방법

참 고		요율구조에 따른 연결함수 예시
1. 요율구조가 승산 방식일 경우 ☞ 연결함수 : [eqn: g(x)=Log(x)] [eqn: g(E[Y])=X beta] ⇒ [eqn: Log(E(Y))=a+ beta _{1} x _{1} + beta _{2} x _{2} + beta _{3} x _{3} +.......+ beta _{k} x _{k}] ⇒ [eqn: E(Y)=e ^{a} TIMES e ^{beta _{1} x _{1}} TIMES e ^{beta _{2} x _{2}} TIMES ..... TIMES e ^{beta _{k} x _{k}}] ([eqn: Y] : 보험료, [eqn: x _{i}] : [eqn: i]번째 요율요소, [eqn: beta _{i}] : 계수) 2. 요율구조가 가산 방식일 경우 ☞ 연결함수 : [eqn: g(x)=x] [eqn: g(E[Y])=X beta] ⇒ [eqn: E(Y)=a+ beta _{1} x _{1} + beta _{2} x _{2} + beta _{3} x _{3} +.......+ beta _{k} x _{k}] ([eqn: Y] : 보험료, [eqn: x _{i}] : [eqn: i]번째 요율요소, [eqn: beta _{i}] : 계수)

□  GLM은 아래와 같이 종속변수의 분포 종류에 따라 다양한 형태가 존재

종속변수의 연속성 여부에 따른 GLM의 분류

					Poisson Negative Binomial Zero Inflated Poisson Zero Inflated Negative Binomial Hurdle Zero-Truncated Poisson Zero-Truncated Negative Binomial 등
			건수변수 (사고빈도)
				➡
지수 분포
					Gausian Lognormal Log-Normal(Log-Linked Gaussian) Gamma Inverse Gaussian 등
			연속변수 (사고심도)
				➡

주) 자료 : 일반화선형모형(GLM)을 이용한 자동차보험 요율상대도 산출방법 연구(2009, 보험연구원)

2. 국내 적용현황

□  국내 생명보험에서는 주로 성·연령별 위험률을 단변량으로 산출*함에 따라 통상적인 위험률에는 GLM이 사용되지 않으나

* 예) 40세 남자의 암 발생률 = [eqn: {남자``40세``암``발생자} over {남자```40세``추계인구}]

ㅇ 인슈테크(InsurTech) 및 헬스케어서비스의 활성화에 따라 건강상태*에 따른 위험률 산출시 GLM을 적용중**이며, 활용빈도는 지속적으로 증가할 것으로 예상

* BMI지수, 혈압, 혈당, 콜레스테롤 등

** 예) [eqn: Y(의료비) _{i} =c _{0i} +c _{1i} 연령 _{i} +c _{2i} BMI _{i} +...+c _{6i} 감마GTP _{i} `] ([eqn: i] : 남, 여)

GLM을 활용한 건강수치에 따른 의료비 추정 모형

구분	의료비 모형	발생률 모형
적용분포	gamma	binomial
연결함수	log	logit

주) 자료 : 건강수치에 따른 의료비 추정연구(2019, 보험개발원)

3. GLM의 한계점 및 개선방안

□  (한계점)  GLM은 전통적인 선형회귀분석보다 다양한 분포를 설명할 수 있고 실제로 보험위험에 적합함에 따라 실무적으로 많이 이용되고 있으나 다음과 같은 한계점이 존재

①  데이터의 통계적 충분성이 100%인 경우만 적용 가능*하며, 충분성이 충족되지 않는 데이터에 신뢰도를 반영할 수 있는 방법이 없음**

* 예) 계약건수가 10만건 이상인 경우에만 사용

** 현행 경험위험률 산출에 사용하고 있는 부분신뢰도 반영 불가

②  모형(포아송, 감마 등)예측에 사용되는 데이터와 실제 위험률 산출에 사용되는 데이터가 다름*

* 모형 예측과 위험률 산출 분석 및 적용주기가 다르기 때문

③ 분석 변수(BMI지수, 혈압 등)의 조합에 따라 산출되는 모형이 다름

④  연결함수의 선정에 따라 예측 모형에 크게 바뀔 수 있으며, 이에 따라 위험률의 상·하한이 크게 변동될 수 있음

⑤  선형모형에만 적용 가능

□  (개선방안)  머신러닝 기법은 주어진 알고리즘을 통해 많은 양의 데이터를 빠르게 처리하고 최적의 결과를 도출하는 기법으로 상기와 같은 GLM의 한계점들을 다음과 같이 해소 가능

ㅇ 데이터가 집적됨에 따라 실시간 또는 주기적으로 모형을 개선함에 따라 별도의 신뢰도 고려 불필요

ㅇ 변수 및 모형 선정, 결과 추정 등의 과정을 동시에 수행함으로써 모형 예측 및 위험률 산출 데이터의 불일치 해소 가능

ㅇ 다양한 변수 및 모형의 조합을 통해 최적의 결과를 도출함으로써 수동적인 선정 방법에 비해 안정적인 결과 도출

ㅇ 다양한 함수를 기반으로 산출하므로 비선형모형까지 적용가능

Ⅲ		머신러닝 기법

1. 개   요

□  머신러닝 기법은 광범위한 데이터를 기반으로 자극과 반응을 관찰하여 패턴을 찾아내는 과정으로 크게 지도학습과 비지도학습*으로 구분

* 지도 학습(Supervised Learning), 비지도 학습(Unsupervised Learning)

ㅇ 지도 학습은 기계에게 입력 데이터(문제)와 출력(정답)을 학습시켜 새로운 데이터(문제)가 주어지면 올바른 출력(정답)을 찾도록 하는 방식으로 문서 분류, 이미지 인식 등이 대표적인 예

ㅇ 비지도 학습은 기계에 출력(정답)없이 입력 데이터만 제공하여 데이터에서 의미 있는 정보를 추출하도록 하는 방식으로 군집화(clustering), 이상 검출(anomaly detection) 등이 대표적인 예

□  머신러닝 기법은 과거 사람이 수행하였던 판단, 예측, 분석 등을 기계가 빠르고 일관성 있게 수행해주는 기법으로

ㅇ 기존에 없던 새로운 방식이 아니며 데이터 처리 능력의 발달로 인해 최근 각광을 받고 있는 기법

2. 머신러닝 기법의 종류

1. CART(Classification and Regression Trees)

□  GLM에서는 모든 데이터가 단일 모형에 의해 설명되지만, CART에서는 변수의 조합마다 다른 모형(Tree)이 사용됨을 가정

Simple Tree 구조

ㅇ 즉, 성별과 연령의 두가지 변수가 있다고 가정하였을 경우, 남자는 60세 이상·미만으로 구분하고 여자는 50세 이상·미만으로 구분 가능

ㅇ 여기서 각 분류를 파티션(partition)이라고 부르며, [eqn: R _{1}],…, [eqn: R _{m}]을 m개의 파티션이라 가정할 경우 회귀함수는 다음과 같이 설정

[eqn: f(X)= sum _{k=1} ^{m} m _{k} I(X IN R _{k} )]

ㅇ 파티션을 [eqn: R _{1} = LEFT { X``□`X _{j} <= s` RIGHT }]와 [eqn: R _{2} = LEFT { X``□`X _{j} >s` RIGHT }]로 구분한다고 가정할 경우 분리변수인 [eqn: j]와 분리지점인 [eqn: s]의 결정이 필요

-  이를 구하기 위해 다음의 값을 최소화하는 [eqn: s]와 [eqn: j]를 찾음

[eqn: sum _{x _{i} IN R _{1}} ^{m} (y _{i} - {bar{m _{1}}} ) ^{2} + sum _{x _{i} IN R _{2}} ^{m} (y _{i} - {bar{m _{2}}} ) ^{2}]  (단, [eqn: m _{1}]은 [eqn: y _{i} IN R _{1}]의 평균이며,

[eqn: m _{2}]는 [eqn: y _{i} IN R _{2}]의 평균)

ㅇ 이와 같은 과정을 반복하며, 일반적으로 최소 관측치 수에 도달할 때까지 반복

ㅇ 다만, 과도한 세분화로 인해 과적합 또는 부적합이 발생할 수 있으며, 이 경우 분리지점을 제거(pruning) 으로써 문제 해결 가능

□  다만, CART는 다음과 같은 한계점이 존재

①  (모형의 불안정성) 모형이 데이터 샘플에 의해 매우 민감하다는 단점 존재

-  즉, 데이터를 절반으로 나누어서 각각 모형을 추정할 경우 전혀 다른 모형이 산출될 가능성 존재

②  (매끄럽지 않음) 산출과정이 가지고 있는 본질적인 문제점으로, 두 개의 인접한 그룹이 전혀 다른 모델을 가질 가능성이 존재

2. Ensemble Methods

□  Ensemble 기법은 CART를 개선하기 위해 만들어진 기법으로 여러 개의 예측모형을 만들고, 그 모형들을 결합하여 최종적으로 하나의 예측모형을 만드는 기법

ㅇ Ensemble 기법의 일종으로 Bagging, Random Forests, Boosting 등의 다양한 기법들이 존재

2-1. Bagging

□  Bagging은 CART에서 분산이 높은 점을 개선하기 위해 개발됨

ㅇ Bagging 기법에서는 원래의 데이터에서 n개의 관측치를 가지는 B개의 샘플 데이터 set을 생성

ㅇ 이후 각 데이터 set에서 회귀 모형을 추정하고 각 모형을 평균하여 다음과 같이 최종 모형을 생성

[eqn: f _{ave} (X)= {1} over {B} sum _{b=1} ^{B} f _{b} (X)]

-  평균의 분산은 원래 값의 분산보다 작아지므로 이를 통해 CART의 분산이 높은 문제점을 개선 가능

2-2. Random Forest

□  Random Forest는 n개의 관측치를 가지는 B개의 샘플 데이터 set을 생성하는 과정까지는 Bagging과 동일하지만 보다 더 많은 임의성을 주기 위해 다음과 같은 두 가지 조건을 부여함

①  각 데이터 set에서 모형을 추정할 때, 미리 정해놓은 [eqn: s]단계까지만 진행 (Tree를 [eqn: s]번까지만 확장함을 의미)

②  총 [eqn: p]개의 설명변수 중 각 데이터 set에서는 [eqn: c]개의 변수만을 사용하여 모형을 추정 (통상 [eqn: c= sqrt {p}]를 사용)

2-3. Boosting 및 Gradient Boosting

□  B개의 샘플 데이터 set에서 독립적으로 모형을 추정하는 bagging과 달리 Boosting은 이전 모형의 결과를 기반으로 다음 모형을 순차적으로 만드는 기법

①  초기 회귀함수는 [eqn: f _{0} (x)=0]로 하며, 각 변수의 잔차([eqn: r _{i}])를 [eqn: y _{i}]로 설정

②  다음과 같은 알고리즘을 [eqn: b]=1,…,B까지 수행

② - 1. 설명변수 집합 X와 종속변수 y에 대해 회귀모형 [eqn: g _{b}]를 추정

② - 2. [eqn: f _{b} (X)=f _{b-1} (X)+ lambda g _{b}]

② - 3. 새로운 잔차 [eqn: r _{i} =r _{i} - lambda g _{b _{it}} (x _{i} )]로 설정

([eqn: lambda]의 가정 및 추정에 따라 Boosting의 종류가 달라짐)

③  최종 모델을 [eqn: f _{B} (x)= lambda sum _{b=1} ^{B} g _{b} (x)]로 설정

□  상기의 과정을 통해 Boosting은 이전 회귀함수를 반복적으로 조정함으로써 모형을 개선 가능

ㅇ 또한, 이전 모형의 잔차를 적합시킴으로써 이전 모형에서 정확하게 적합되지 않은 부분을 추정하는데 효율적

□  Gradient Boosting은 Boosting을 일반화시킨 개념으로 손실함수* (loss function) 개념을 도입한 기법

* 관측값과 추정값의 차이를 계산하는 함수. [eqn: L(y,f(X))]= [eqn: (y-f(X)) ^{2}], [eqn: □`y-`f(X)□] 등으로 정의 가능

①  초기 회귀함수 [eqn: f _{0} (x)=0]로 하며,

가잔차(pseudo-residual)  [eqn: r _{i}^{(b)} =- LEFT | {Partial L(y _{i} ,f(x _{i} ))} over {Partial f(x _{i} )} RIGHT | _{f=f _{b-1}}]로 설정

②  다음과 같은 알고리즘을 [eqn: b]=1,…,B까지 수행

② - 1. 설명변수 집합 X와 종속변수 y에 대해 회귀 tree인 [eqn: g _{b}]를 추정

② - 2. [eqn: sum _{i=1} ^{n} L(y,f _{m-1} (x _{i} ))`+` lambda _{b} g _{b} (x _{i} )]를 최소하는 [eqn: lambda _{b}]를 추정

② - 3. [eqn: f _{b} (x)=f _{b-1} (x)+ lambda _{b} g _{b} (x)]로 설정

③  최종 모델을 [eqn: f _{B} (x)]로 선정

3. 기타 머신러닝 기법

3-1. MARS(Multivariate Adaptive Regression Splines)

□  MARS는 설명변수가 많은 고차원의 회귀분석에 적합한 방법으로 설명변수들이 종속변수에 대해 직선이 아닌 꺽인 선형형태(Spline)로 설명됨

ㅇ 최종모델의 형태는 다음과 같으며, Forward stepwise 선형회귀로 추정하고 어떤 [eqn: h _{i} (X)]를 선택할지 주어지면 전통적 선형회귀와 같이 오차제곱합을 최소화시키는 [eqn: beta _{m}]계수들을 추정

[eqn: f(x)= beta _{0} + sum _{i=1} ^{m} beta _{i} h(x _{i} )]

(단, [eqn: h(x _{i} )]는 기저함수(basis function, [eqn: max(x _{i} -c,0)] 또는 [eqn: max(c-x _{i} ,0)])들의 곱으로 구성)

3-2. Neural Network 및 Deep Learning

□  Neural Network는 머신러닝에서 가장 널리 알려진 방법중 하나로 복잡합 구조로 이루어진 데이터를 예측하기 위한 비선형모형

ㅇ 입력층(input layer), 은닉층(hidden layer), 출력층(output layer)로 이루어져 있으며, 각 은닉층의 노드에서는 입력값의 가중치와 활성화 함수*를 바탕으로 결과를 출력하여 다음 노드로 전달

* 신경세포의 뉴런과 같은 역할을 하며, ReLU함수([eqn: max(0,x)]), 시그모이드 함수([eqn: y= {1} over {1+e ^{-x}}])등으로 구성

신경망 모형(Neural Network)의 기본 구조

활성화 함수(Activation Fuction)의 종류

ㅇ 특히, 은닉층이 다층인 경우를 Deep Learning이라고 함

ㅇ 다만, Neural Network 기법은 결과에 대한 명확한 해석이 어려움에 따라 아직까지는 위험률 산출에 적용하기 어렵다는 비판을 받고 있음

3. 보험산업에서의 머신러닝 적용사례

□  Duncan 외 2인은 3만명의 보험가입자 데이터를 바탕으로 건강상태에 따른 건강보험 청구비용에 대해 선형모형과 MARS, Random Forest, Gradient Boosting 등의 머신러닝 모형을 비교*하여

* Testing Alternative Regression Frameworks for Predictive Modeling of Health Care Costs.(2016, North American Actuarial Journal 20)

ㅇ 특정 변수에 대해서는 머신러닝 모형이 실제비용과 유사한 결과를 설명하였지만 모든 변수에 대해 설명하지 못함을 관찰

□  Aleandri는 계약자의 해지위험을 머신러닝을 바탕으로 모델링할 때 로지스틱 회귀와 같은 전통적인 모수 모형 대비 예측력이 향상됨을 관찰

* Modelling Policyholder Behaviour through Machine Learning Techniques(2018, International Congress of Actuaries)

□  Ha는 Neural Network 기법을 이용한 변액연금의 해약환급금을 가치평가 방안을 제시

*  An evaluation of withdrawal benefits in variable annuities via machine learning(2018, International Congress of Actuaries)

Ⅳ		시사점

□ 머신러닝 기법의 장점에 대해 설명한 연구는 많지만 보험산업에서 얼마나 적용이 가능한지에 대한 분석은 거의 없는 상황

ㅇ 보험 데이터는 매우 복잡하고 선형으로 설명하기 어려운 결과도 많음에 따라 머신러닝 기법을 적용함으로써 좋은 결과를 얻어낼 가능성은 충분히 있으나

- 기존 방법과 머신러닝 방법중 어떠한 방법이 일반적으로 우수하다는 결론을 내리기는 어려우며 실제 적용되고 있는 사례도 미미

ㅇ 다만, 보험사 등은 기존의 위험률산출기법의 한계점 등을 해결하기 위해 머신러닝 기법들을 점차 도입하는 추세*

*  머신러닝 기법을 이용한 언더라이팅 도입

□  국내 보험산업에 머신러닝 기법의 도입하기 위해서는 다양한 데이터를 이용한 지속적인 분석을 통해 동 기법을 적절하게 사용 및 활용할 시점이 언제인가를 판단하는 것이 중요

ㅇ 이를 위해서는 많은 사람이 다양한 데이터를 테스트할 수 있도록 공공 데이터 등의 적극적인 공유가 도움이 될 것으로 판단됨

□  또한, 머신러닝 기법을 실제로 보험산업에 적용하기 위해서는 동 기법으로 도출된 변수에 대한 해석 및 적용가능성 등에 대한 논의가 선행될 필요

ㅇ 예를 들어, 미국에서 신용점수*는 보험사고의 빈도와 심도 모두에 영향을 주는 것으로 분석되고 있으나, 미국 일부 주에서는 보험료 산정에 사용하지 못하도록 법으로 제정

*  개인의 신용에 따라 300∼850점을 부여하며 점수가 높을수록 신용이 높음을 의미

-  국내의 경우, 지역·종교·인종·신체적/정신적 장애 유무로 보험료를 차등화하지 않고 있음

ㅇ 이와 같이 머신러닝이 유용한 변수를 식별해 내더라도 요율변수로 도입하기 위해서는 법적근거 등이 마련될 필요