• 대한전기학회
Mobile QR Code QR CODE : The Transactions of the Korean Institute of Electrical Engineers
  • COPE
  • kcse
  • 한국과학기술단체총연합회
  • 한국학술지인용색인
  • Scopus
  • crossref
  • orcid

  1. (School of Electrical Engineering, Soongsil University, Korea. )



Load forecasting, Machine Learning, XGBoost, Explainable Artificial Intelligence

1. 서 론

머신러닝은 데이터를 기반으로 예측 모델을 생성하는 방법으로서, 높은 수준의 성능을 보이는 방법일수록 내부 알고리즘이 복잡하여 입력데이터에 대한 예측결과 해석이 어려운 것으로 알려져 있다. 선형회귀(Linear Regression)나 의사결정트리(Decision Tree)와 같은 알고리즘에서는 어느 정도 예측과정에 대한 설명이 가능하지만, 높은 성능을 나타내는 것으로 알려진 앙상블 기법들(Ensemble Methods)이나 인공신경망(Artificial Neural Network, ANN) 기반의 심층신경망(Deep Neural Network, DNN)을 이용하는 기법들은 복잡한 알고리즘 체계로 인해 입력값에 대한 예측결과를 해석하는 것이 용이하지 않다. 머신러닝의 예측 과정 해석에 대한 연구는 시스템의 안정성 및 신뢰성 확보 등을 위해서 점차 중요한 분야로 인식되고 있다. 또한 머신러닝 모델의 해석을 통해 입력 특징(feature)을 분석함으로써 모델 성능을 향상하는데도 도움을 줄 수 있다.

본 논문에서는 최근 제안된 XGBoost(eXtreme Gradient Boosting) 기반의 전력 수요 예측 알고리즘(1)에 대해, 학습 및 예측 결과를 바탕으로 머신러닝 모델 해석 기법들을 적용하여 예측 모델을 해석하고자 한다. XGBoost는 트리 기반의 머신러닝 기법으로서, 잔차(residual)를 학습시키는 부스팅(boosting)기법을 사용하여 높은 정확도를 얻을 수 있다. XGBoost는 최근 Kaggle과 같은 데이터 기반 경진대회 플랫폼에서도 널리 적용되어 상위 결과를 나타냄으로써 모델의 우수성이 입증되고 있다. 머신러닝 모델 해석의 필요성에 대해 서술하고, 모델에 있어서 각각의 입력 특징값들이 갖는 중요도를 산정하는 방법 및 입력 특징값의 변화에 따른 예측값 변화를 표현하는 Partial Dependence Plot (PDP) 등을 이용하여 전력 수요 예측 모델을 해석한다. 입력 특징 중요도는 XGBoost 자체 모델을 통한 해석과 Skater, SHAP 등의 해석 패키지를 이용하여 분석한다. 또한, 분석된 입력 특징 중요도를 바탕으로 입력 특징을 선택적으로 사용함으로써 전력 수요 예측 성능을 향상시킬 수 있음을 확인한다.

2. 머신러닝 모델 해석 기법

2.1 설명 가능한 인공지능, XAI

설명 가능한 인공지능, XAI(eXplainable Artificial Intelligence)란 사용자가 인공지능 시스템의 동작 방식과 최종 결과를 올바르게 해석하여 결과물이 생성되는 과정을 설명 가능하도록 해주는 기술이다(2).

선형회귀, 의사결정트리 등과 같은 일부 머신러닝 기술의 경우는 내부 알고리즘을 통해 본질적으로 설명이 가능하지만 그 성능에는 한계를 나타내고 있다. 이에 따라 현실 세계의 복잡한 문제를 해결하기 위해 다양한 앙상블 기법들이 머신러닝에 적용되거나 인공신경망 기반의 심층신경망을 응용한 학습 방법들이 개발되었다. 이와 같은 모델들은 높은 성능을 보장해주는 반면, 복잡한 알고리즘 체계로 인해 입력-예측값에 대한 직관적인 해석이 어렵다. 모델의 예측 결과에 대한 이유를 사람이 이해할 수 있는 정도를 해석 가능성이라고 하며, 앞서 말한 바와 같이 일반적으로 머신러닝 모델의 해석 가능성은 예측 성능과 trade-off 관계를 보인다. 해석 가능한 모델부터 복잡한 모델까지 XAI 기술을 통해 예측 모델이 도출한 결과를 단순히 받아들이는 것에 끝나지 않고, 모델의 학습 및 예측 과정을 분석하여 결과를 해석할 수 있다.

2.1.1 XAI: 기대효과

XAI를 통한 머신러닝 모델의 해석은 다음과 같은 효과를 기대할 수 있다.

1) 성능 향상 : 머신러닝 모델 학습에 사용되는 입력 특징을 분석함으로써 인공지능 시스템의 성능 저하 요인을 파악하거나, 다양한 조건 및 상황에 따른 적합한 학습 모델을 도출하여 모델 성능 향상을 도모할 수 있다.

2) 안정성 부여 : 머신러닝 모델을 실제 문제 해결에 적용하는 과정에서 입력 특징이 변동하는 상황이 발생할 수 있으며, 모델 학습 과정 및 예측 과정에 영향을 미치게 되어 예측 결과 또한 크게 변할 수 있다. 다양한 환경 및 조건에 따른 유동적인 모델 설계를 위해 모델 해석이 중요하며, 이를 통해 전반적인 문제 해결 과정에 안정성을 부여할 수 있다.

3) 신뢰성 확보 : 질병 진단, 자율주행자동차 기술과 같이 사람의 안전과 관련된 분야 및 기타 중요한 결정 사안에 머신러닝 모델이 활용되는 경우 사람들의 높은 신뢰를 필요로 한다. 모델 해석 과정을 통해 인공지능 기술의 잘못된 결과로 문제 발생 시 원인파악 및 대처가 가능하며, 결과 도출 과정을 사람들에게 이해시킴으로써 신뢰성을 확보할 수 있다.

2.1.2 XAI: 방법론

인공지능 기술 해석은 사용하는 모델의 특성에 따라 다양한 방법이 적용될 수 있다. 모델 알고리즘이 간단하여 본질적으로 해석이 가능한 모델의 경우, 예측 함수의 파라미터들과 통계학 바탕의 모형 검정 이론을 통해 모델을 해석할 수 있다. 이와는 달리 실제 높은 수준의 성능을 보이나 모델 구조가 복잡하여 예측과정을 쉽게 설명할 수 없는 ‘블랙박스(black box)’ 모델의 경우, 모델의 알고리즘에 관계없이 적용 가능한 model- agnostic 해석 기법들을 통해 해석할 수 있다. 현재까지 머신러닝 모델의 정확도와 해석 가능성을 모두 확보하기 위한 다양한 해석 기법들이 제안되었지만(3-8), 인공지능 기술 해석 기법에 대한 완전한 체계는 아직 정립되지 않았다.

가장 기본적이면서도 주로 사용되는 방법은 입력 특징을 분석하여 모델 학습 및 예측 과정을 해석하는 것이다. 입력 특징을 이용한 해석은 해석 범위에 따라 전역적(global) 해석과 지역적(local) 해석으로 구분된다. 전역적 해석의 경우, 학습 데이터를 통해 모델이 학습된 과정 또는 테스트 데이터에 대해서 도출한 결과를 해석하는 것이다. 지역적 해석의 경우, 하나의 특정 입력 데이터에 대해서만 모델이 도출한 결과를 해석하는 것이다.

2.2 머신러닝 모델 해석 기법

입력 특징을 이용한 머신러닝 모델의 해석은 입력 특징 중요도(feature importance)와 PDP(Partial Dependence Plot)와 같은 입력 특징 요약(feature summary) 형태의 결과를 통해 수행할 수 있다(2).

입력 특징 중요도 해석에서는 여러 산정 기준에 따라 모델의 입력 데이터로 사용된 입력 특징의 중요도 순위와 정도(크기, 수치)를 그래프 및 그림으로 나타낼 수 있다. 일부 트리기반 머신러닝 모델 기법에 대해서는 구현 패키지에서 자체적으로 제공하는 함수를 사용할 수도 있고, 또는 다양한 외부 해석 패키지들을 통해 입력 특징 중요도를 나타낼 수 있다. 머신러닝의 입력은 입력 데이터의 여러 특징값들로 이루어지는데, 이 중 특정 입력 특징값의 중요도는 그 입력 특징값에 실제 입력 특징값이 아닌 임의의 값으로 대체했을 때 발생하는 오차의 크기를 가늠하는 척도로 사용될 수 있다. 즉, 중요도가 높은 입력 특징값일수록 다른 임의의 값으로 대체했을 때 큰 오차를 발생시키게 된다. 이와 같이 입력 특징 중요도를 분석함으로써 각각의 입력 특징들이 출력 결과에 미치는 영향을 가늠할 수 있으므로 입력 특징 중요도는 머신러닝 모델 해석에 필수적인 요소라 할 수 있다.

PDP 해석은 하나 또는 두 개(two-way)의 입력 특징이 출력 예측값에 미치는 영향을 분석하기 위한 방법으로서, 출력값에 대한 입력 특징의 한계효과(marginal effect)를 시각적으로 확인할 수 있다. 특정 입력 특징에 대한 머신러닝 모델 출력값의 부분적 의존도(partial dependence)는 해석하고자 하는 입력 특징을 제외한 특징 입력의 분포에 대하여 예측값들의 평균값으로 계산된다(2). 이러한 PDP는 파이썬 해석 패키지인 Skater(9)나 SHAP(10)을 통해 나타낼 수 있으며, PDP를 통해 입력 특징과 출력값 사이의 상관관계(correlation)를 파악할 수 있다.

2.2.1 XGBoost에서의 입력 특징 중요도

본 연구에서 수요 예측 모델로 사용하는 XGBoost 알고리즘 패키지에서는 ‘weight’, ‘gain’, ‘coverage’를 각각 기준으로 산정한 입력 특징 중요도 그래프를 지원한다. XGBoost의 입력 특징 중요도를 통해 모델 학습 과정에서 중요하게 작용한 입력 특징들의 순위를 파악할 수 있다.

1) weight : 전체 트리구조에서 각 트리 노드(node)가 분기(split) 시 해당 입력 특징이 사용된 횟수의 비율.

2) gain : 전체 트리구조에서 해당 입력 특징에 의한 트리 노드 분기 시 엔트로피 감소에 따른 정보량 이득으로 나타나는 분리 평균 정보 이득(split mean gain)의 평균.

3) coverage : 전체 트리구조에서 각 트리 노드가 분기 시 해당 입력 특징이 영향을 준 샘플 개수의 비율.

2.2.2 Skater

머신러닝 해석 패키지인 Skater(9)는 모델 분석을 위한 다양한 기능을 제공한다. 첫째, Skater를 통해 예측 변화량를 기준으로 입력 특징 중요도를 나타낼 수 있다. 이 경우, 데이터셋에 섭동(perturbation)을 주었을 때, 그에 따른 출력 예측값의 변화정도를 나타내는 예측값의 차이를 계산한다. 즉, 섭동에 따른 출력 예측값의 변화정도가 크다면 입력 특징의 중요도 또한 크다고 간주할 수 있다. 모델 스코어링을 기준으로도 중요도를 산정할 수 있으며, 본래의 경우와 섭동에 따른 예측 오류값의 차이를 통해 중요도를 계산한다. 둘째, Skater에서는 입력 특징과 출력값의 상관관계를 보여주는 PDP 기능을 지원한다. 이 경우, 관심 있는 특징이 갖는 범위 내의 값들에 대한 모델의 예측평균값을 그래프로 나타낸다. 특징값의 범위는 데이터셋을 기준으로 정해지며, 사용자가 범위 내의 분할 구간(grid)을 지정함으로써 입력으로 사용되는 특징값들이 정의된다. 전체 데이터셋에서 각 인스턴스(instance)에 대해 다른 입력 특징값들은 유지한 채, 해당 특징의 경우 지정된 특징값으로 동일하게 대체하여 수정된 각 인스턴스에 대한 모델 예측값의 평균을 구함으로써 특정 특징값에 대한 예측평균값을 구한다. 지정된 범위 내의 각 특징값마다 동일한 과정에 의하여 예측평균값이 계산되며, 이를 통해 특정 입력 특징에 대한 출력값의 추이를 파악할 수 있다. 이처럼 위 두 가지 기능을 통해 모델 결과에 대한 전역적 해석이 가능하다.

2.2.3 SHAP

SHAP(SHapley Additive exPlanations)은 각 입력 특징에 대한 SHAP values를 계산하여 입력 특징을 분석하는 다양한 방법을 제공한다(10). Skater와 같은 머신러닝 해석 패키지이며, SHAP 또한 입력 특징 중요도와 PDP를 통해 모델의 전역적 해석이 가능하다.

SHAP values는 샤플리 값(Shapley values)을 머신러닝 모델의 조건부 기댓값 함수를 이용하여 구하는 값으로서, 머신러닝 모델의 입력으로 사용되는 데이터셋에서 각 인스턴스의 입력 특징값에 대한 샤플리 값을 계산하기 위한 방법이다(11). 샤플리 값이란 협조적 게임이론에서 게임의 참여자간 협조로 얻어진 총 이득을 각 참여자의 marginal contribution에 따라 배분되는 값이다. SHAP values의 정확한 값을 구하기 위해서는 많은 계산량이 소요되므로, SHAP에서는 SHAP values의 근삿값을 구하는 여러 솔루션을 제공한다. 대표적으로 모든 머신러닝 모델에 적용 가능한 Kernel SHAP, 딥러닝 모델에 사용하는 Deep SHAP, 그리고 본 논문에서 사용한 XGBoost와 같은 트리 앙상블 모델에 적합한 Tree SHAP이 있다(12).

SHAP을 이용하여 데이터셋의 각 인스턴스마다 모든 입력 특징들의 SHAP values를 계산할 수 있으며, 이를 바탕으로 입력 특징 중요도와 PDP를 나타낼 수 있다. 먼저 입력 특징 중요도의 경우, SHAP values 또는 SHAP values의 절댓값 합의 평균을 통해 데이터셋 바탕의 입력 특징 중요도 그래프를 나타낼 수 있다. SHAP에서 제공하는 PDP의 경우, 각 인스턴스의 특정 특징값을 변화시키며 예측값의 평균을 구하는 것이 아니라 각 인스턴스가 갖는 입력 특징의 값과 그에 따른 SHAP value를 모든 인스턴스에 대해서 점으로 나타낸다. 즉, 데이터셋에서 특정 입력 특징이 갖는 모든 값들에 대한 SHAP value를 시각적으로 확인할 수 있다.

3. XGBoost를 이용한 수요 예측 및 모델 해석

본 논문에서는 주간 전력 수요 예측을 다루고자 한다. 즉, 일주일 동안의 시간대별 전력 수요를 회귀방식으로 예측한다. (1)에서 제안된 방법에 따라 XGBoost를 이용하여 전력 수요를 예측하며, 모델 학습에 필요한 입력 특징들을 선정한다. 입력으로부터 학습된 모델을 통해 테스트 데이터에 대한 전력 수요를 예측하며, 예측 결과를 바탕으로 모델 성능 평가 및 해석을 수행한다.

3.1 XGBoost 알고리즘(13)

XGBoost는 약한 예측 모델인 트리 모델을 결합하여 강한 예측 모델을 만드는 알고리즘으로서, 부스팅 기법을 이용하여 순차적으로 오류를 줄여나간다. 먼저 약한 분류기가 입력 데이터를 통해 학습되면, 학습된 결과에서 나타나는 오차를 또 다른 약한 분류기에서 학습시킴으로써 순차적으로 발생하는 오차 분포를 모델이 학습하게 된다. XGBoost는 부스팅 기법을 통해 모델들을 통합할 때 중요도가 높은 트리 모델에 높은 가중치를 부여하는데, t 번째 모델이 가지는 가중치는 t-1 번째 모델의 오류에 따라서 결정된다. 학습을 위한 목적함수는 참값과 예측값 사이의 손실 함수와 모델의 복잡도를 나타내는 정규화항으로 구성된다. 이러한 목적함수를 최적화시키는 방향으로 모델이 학습하게 되며, 목적함수를 최소화하는 가중치를 구하게 된다. 또한 XGBoost는 서른 개 이상의 하이퍼파라미터(hyperparameter)를 지원하므로 다양한 상황에 따른 데이터에 대한 유연한 학습이 가능하며, CART(Classification And Regression Tree) 방식을 이용해 생성된 트리모델과 리프(leaf)의 우위를 비교하여 입력 특징의 중요도를 확인할 수 있다.

3.2 수요 예측 과정 및 성능 평가

모델 학습을 위한 입력 특징으로는 주간 예측에 적합한 예측 당일의 1일 전(D_1), 2일 전(D_2), 3일 전(D_3), 4일 전(D_4), 5일 전(D_5), 6일 전(D_6), 그리고 7일 전(D_7) 발전량 데이터를 사용하였다. 전력 발전 패턴 상 발전량은 요일 및 시간대별 특성을 갖기 때문에 요일(DoW)과 시간(hour) 또한 입력 특징으로 선정하였다. 요일은 월요일부터 일요일까지 0에서 6의 숫자로 입력하였고, 시간 또한 0부터 23까지 숫자를 그대로 입력으로 나타내었다. XGBoost는 트리기반의 알고리즘이므로 서로 다른 숫자들에 대한 범주형(categorical) 분류가 가능하다.

실험을 위해, 전력 거래소에서 제공한 2014년 1월부터 2018년 12월까지의 1시간 단위 전국 발전량 데이터(제주도 제외)를 이용하였다. 학습 데이터로는 2014년 1월 8일부터 2017년 12월 31일까지, 테스트 데이터로는 특수일(공휴일)이 없는 기간인 2018년 11월 4주간 데이터를 사용하였다. 모델 학습 시 가장 좋은 성능을 얻기 위해 그리드 탐색(grid search)을 이용하여 최적의 XGBoost 하이퍼파라미터를 설정하였다(1).

예측한 결과에 대한 성능은 MAPE(Mean Absolute Percentage Error)를 이용하여 주간별로 진행하며 4주 동안의 평균 MAPE로 모델 성능을 검증한다. MAPE는 참값과 예측값의 차이에 절댓값을 취한 후 참값으로 나눈 백분율 값을 말하는 것으로 예측 성능이 좋을수록 MAPE값은 낮게 나타난다. 테스트 데이터인 4주 동안의 평균 MAPE는 1.475%로 나타났으며, 요일별 평균 MAPE를 확인해 본 결과 상대적으로 평일에 비해 주말에 MAPE가 평균적으로 높다는 결과를 표 1을 통해 확인할 수 있다.

표 1 요일별 평균 MAPE (2018년 11월)

Table 1 MAPE according to day of week (November 2018)

요일

MAPE(%)

1.271

1.491

1.253

0.937

1.314

1.870

2.158

3.3 XGBoost 모델 해석

앞에서 언급한 다양한 머신러닝 해석 방법을 토대로 XGBoost 기반의 수요 예측 모델 학습 및 예측 결과에 대한 분석을 수행한다. 모델의 전역적 해석을 통해 전반적으로 수요 예측에 큰 영향을 미치는 입력 특징들을 파악하고자 한다. XGBoost의 입력 특징 중요도와 PDP를 통해 모델을 해석하고자 하며, 이를 위해 XGBoost 패키지의 plot_importance 함수와 Skater, SHAP를 사용하여 결과를 비교한다.

3.3.1 입력 특징 중요도

입력 특징 중요도는 산정 기준에 따라 다양하게 나타낼 수 있으며, 2.2.1에서 기술한 것과 같이 XGBoost에서는 모델이 학습한 내용을 바탕으로 ‘weight’, ‘gain’, ‘coverage’에 따른 입력 특징들의 상대적 중요도를 계산한다. 또한 해석 패키지인 Skater를 이용하여, 학습 데이터에 대한 예측 변화량을 기준으로 중요도를 계산하였다. 시간 및 요일의 경우, 전력 수요 패턴 상 시계열 특성을 반영하는 특징이므로 특징 중요도 산정에서는 제외한다. 표 2와 같이 입력 특징들의 순위는 산정 기준에 따라 조금씩 다르게 나타나지만, 모든 기준에서 다른 입력 특징들에 비해 상대적으로 하루 전 데이터(D_1)와 일주일 전 데이터(D_7)가 중요한 것으로 나타났다.

표 2 산정 기준에 따른 입력 특징 중요도 순서

Table 2 Order of feature importance for different criteria

weight

D_2 < D_4 < D_5 < D_6 < D_3 < D_7 < D_1

gain

D_5 < D_4 < D_2 < D_6 < D_3 < D_1 < D_7

coverage

D_4 < D_3 < D_2 < D_5 < D_6 < D_1 < D_7

Skater

D_4 < D_5 < D_6 < D_3 < D_2 < D_7 < D_1

SHAP

D_4 < D_6 < D_5 < D_3 < D_2 < D_7 < D_1

그림 1 입력 특징 중요도 (SHAP value)

Fig. 1 Feature importance (SHAP value)

../../Resources/kiee/KIEE.2020.69.3.480/fig1.png

SHAP 패키지를 이용하여 입력 특징 중요도를 나타낼 수도 있는데, 그림 1에서는 테스트 데이터 해석을 위해, SHAP 패키지에서 제공하는 summary_plot 함수를 이용하여 SHAP value에 의한 입력 특징 중요도를 보여주고 있다. 특징 중요도가 가장 높은 것이 맨 위에 배치되도록 특징 중요도 순으로 입력 특징이 배치되어 있으며, 데이터셋 내의 모든 인스턴스에 대해 각 특징값 크기(색깔) 및 SHAP value가 표시되어 있다. 특징값의 SHAP value는 곧 출력 예측값에 기여한 영향을 나타내기 때문에 SHAP value 절댓값이 클수록 예측값에 대한 입력 특징의 기여도는 커진다. SHAP value가 양수인 경우는 특징값이 클수록 예측값이 커지는데 기여했다는 의미이고, SHAP value가 음수인 경우는 특징값이 클수록 예측값이 작아지는 방향으로 기여했다는 의미이다. 그림 1에서 D_7, D_1이 가장 중요한 입력 특징으로 나타나며 이 경우, 입력 특징값이 클 때는 SHAP value도 크게, 작을 때는 SHAP value도 음의 값으로 크게 계산되며 그에 따라 수요 예측값도 크거나 작게 예측됨을 알 수 있다. 요일(DoW)의 경우 입력값이 5 이상인 경우는 토요일(5)이나 일요일(6)에 해당되며, 이 때는 SHAP value가 작게 나타난다. 이와 다르게 입력값이 4 이하인 평일의 경우는 SHAP value가 크게 나타나는데, 이 결과로부터 평일에 비해 주말 전력 수요가 작게 예측됨을 알 수 있다. 인스턴스의 SHAP value 절댓값이 작은 값으로만 나타나는 입력 특징들의 경우(예, D_2, D_6)는 입력 특징 중요도가 낮음을 알 수 있다.

살펴본 바와 같이 여러 해석 기법을 이용하여 입력 특징 중요도를 분석한 결과 중요도 산정 기준에 따라 입력 특징의 중요도 크기 및 순위는 조금씩 다르게 나타났으나, 중요도가 높게 측정된 입력 특징들은 유사하게 나타남을 확인할 수 있다.

3.3.2 PDP를 통한 해석

입력 특징과 출력 예측값의 상관관계를 보여주는 PDP는 Skater와 SHAP을 통해 나타낼 수 있다. 먼저 Skater를 이용하여 테스트 데이터(11월 첫째 주)에 대해서 각 입력 특징에 따른 전력 수요 예측값의 변화를 확인하였다. 입력 특징 D_1과 D_6에 대한 PDP를 그림 2에 표시하였다. 파란색 선은 특정 입력 특징과 예측값의 관계를 나타내며, 파란색 선 주위 연한 파란색으로 나타나는 영역은 분산 정도를 나타낸다. D_1의 경우 수요 예측값과 선형에 가까운 높은 상관관계를 보이는데, 이는 입력 특징 중요도를 통해 확인한 결과를 뒷받침하는 것으로 판단할 수 있다. 이와는 달리 D_6의 경우는 예측값과의 상관관계를 찾아보기 힘들다.

그림 2 Skater를 이용한 PDP (D_1, D_6)

Fig. 2 PDP by Skater (D_1, D_6)

../../Resources/kiee/KIEE.2020.69.3.480/fig2.png

SHAP을 이용하여 특정 입력 특징의 PDP를 나타내는 경우, 데이터셋의 각 인스턴스에 대해 특정 입력 특징이 수요 예측값에 기여한 SHAP value들을 모두 표시한다. 이렇게 나타난 산점도 그래프를 통해 입력 특징과 입력 특징이 발전량 예측에 영향을 미친 정도에 대한 상관관계를 파악할 수 있다.

그림 3 SHAP을 이용한 PDP (D_1, D_6)

Fig. 3 PDP by SHAP (D_1, D_6)

../../Resources/kiee/KIEE.2020.69.3.480/fig3.png

3.4 입력 특징 선택 실험 결과

머신러닝 모델의 학습과 예측을 위해서는 각 데이터로부터 여러 특징값들을 추출하여 모델의 입력으로 사용하게 되는데, 이 때의 입력 특징들은 예측값과 관련성이 높은 값들로 구성되는 것이 바람직하다. 관련성이 떨어지는 입력 특징들도 포함하여 입력 특징 차원이 불필요하게 증가되는 경우는 많은 학습시간을 소요하게 될 뿐만 아니라 모델 학습 수렴에도 부정적인 영향을 미치게 된다. 또한 입력 특징 차원이 늘어남에 따라 필요한 학습 데이터량은 기하급수적으로 증가하게 되어 학습 데이터가 충분하지 않은 경우는 성능을 저하시키는 원인이 되기도 한다. 본 논문에서는 앞에서 분석한 예측 모델의 입력 특징 중요도를 기반으로 하여 입력 특징을 선택적으로 사용함으로써 이와 같은 문제들에 대해 대처하고자 한다.

3.3.1에서 구한 입력 특징 중요도에서 중요도가 낮은 입력 특징을 순차적으로 제거하며 전력 수요 예측 성능을 실험하였다. 입력 특징 선택은 모델 학습 과정에서 수행하여야 하므로 학습 데이터를 기준으로 나타난 입력 특징 중요도 결과를 이용하였다.

표 2를 바탕으로 중요도가 낮은 입력 특징부터 순차적으로 누적하여 제외, 즉 중요도가 높은 입력 특징들을 선택한 모델 성능 결과를 표 3에 나타내었다. 시간 및 요일 특징은 제외 대상에 포함되지 않으므로 모든 실험에서 입력 특징으로 포함되어 있다. 입력 특징 선택 과정 없이 모든 특징을 다 포함하는 모델은 MAPE 기준 1.475%의 성능을 보였다.

표 3 입력 특징 선택을 적용한 성능 비교(MAPE (%))

Table 3 Performance without specific features

1개 제외

2개 제외

3개 제외

4개 제외

weight

1.482

1.433

1.444

1.432

gain

1.444

1.430

1.441

1.432

coverage

1.440

1.550

1.529

1.482

Skater

1.440

1.430

1.438

1.531

SHAP

1.440

1.417

1.531

1.445

표 3에서 각 산정 기준에 대해 가장 우수한 결과를 굵은 글씨로 표현하였다. SHAP에 의한 중요도 순서를 이용하여 입력 특징 중요도가 가장 낮은 두 개의 입력 특징 즉, D_4, D_6을 제거했을 때 MAPE가 1.417%로 가장 낮은 오차를 보임을 확인할 수 있다. D_6의 경우 그림 3의 PDP분석에서도 발전량과의 연관성이 거의 없음을 확인할 수 있었다.

결과적으로 입력 특징 중요도 해석을 기반으로 하여 입력 특징 선정 과정을 거침으로써 수요 예측 모델의 성능을 향상시킬 수 있었으며, SHAP이 2018년 11월 주간 예측을 하는데 있어서 가장 적합한 해석 기법으로 나타났다. SHAP기법에서는 출력 예측값에 대해 각 입력 특징값의 기여도를 계산하여 입력 특징 중요도를 산정하므로 예측 성능과 보다 직접적인 연관성을 나타낸 것으로 해석할 수 있다.

4. 결 론

머신러닝 기술의 발전과 그에 따른 여러 응용 분야에 성공적인 적용과 더불어, 머신러닝 기반의 응용 시스템에 대한 해석의 중요성이 대두되고 있다. 본 논문에서는 여러 가지 머신러닝 해석 기법을 이용하여 XGBoost 기반의 주간 전력 수요 예측에 대한 해석을 수행하였다. 입력 특징 중요도, 예측값에 대한 입력 특징의 기여도 및 입력 특징값에 대한 예측값의 상관도 등을 분석하였다. 학습 및 예측 결과를 바탕으로 다양한 해석 기법을 이용한 모델의 전역적 해석을 수행하였으며, 입력 특징을 분석하여 입력 특징의 중요도와 발전량과의 상관관계를 확인하였다. 또한, 입력 특징 중요도를 기반으로 한 입력 특징 선택을 적용하였고, SHAP을 이용한 입력 특징 중요도를 적용하여 하위 중요도를 갖는 두 개의 입력 특징을 제외하는 경우에 가장 높은 성능을 보임을 확인할 수 있었다.

References

1 
J. Oh, D. Ham, Y. Lee, G. Kim, Sep 2019, Short-term Load Fore- casting Using XGBoost and the Analysis of Hyperpara- meters, Trans. of The Korean Institute of Electrical Engineers, Vol. 68, No. 9, pp. 1073-1078Google Search
2 
C. Molnar, Feb 2019, Interpretable Machine Learning: A Guide for Making Black Box Models Explainable, LeanpubGoogle Search
3 
S. Bach et al., July 2015, On pixel-wise explanations for non-linear classifier decisions by layer-wise relevance propagation, PloS One e0130140DOI
4 
A. Datta, S. Sen, Y. Zick, 2016, Algorithmic transparency via quantitative input influence: Theory and experiments with learning systems, Security and Privacy (SP)DOI
5 
S. Lipovetsky and M. Conklin, Oct 2001, Analysis of regression in game theory approach, Applied Stochastic Models in Business and IndustryDOI
6 
M. Ribeiro, S. Singh, C. Guestrin, Aug 2016, Why should I trust you?: Explaining the predictions of any classifier, KDDDOI
7 
A. Shrikumar, P. Greenside, A. Kundaje, 2017, Learning Important Features Through Propagating Activation Differences, ICMLGoogle Search
8 
E. Štrumbelj, I. Kononenko, Dec 2014, Explaining prediction models and individual predictions with feature contributions, Knowledge and information systems, Vol. 41(3)DOI
9 
Dec 2014, https://github.com/oracle/SkaterGoogle Search
10 
Dec 2014, https://github.com/slundberg/shapGoogle Search
11 
S. Lundberg, S. Lee, Nov 2017, A Unified Approach to Interpreting Model Predictions, NIPSGoogle Search
12 
S. Lundberg, G. Erion, S. Lee, 2018, Consistent Individualized Feature Attribution for Tree Ensembles, arXivGoogle Search
13 
T. Chen, C. Guestrin, XGBoost: A Scalable Tree Boosting System, KDD, Aug. 2016.DOI

저자소개

Yong-Geon Lee
../../Resources/kiee/KIEE.2020.69.3.480/au1.png

He is currently pursuing the B.S. degree in electrical engineering at the Soongsil University, Seoul, Korea.

Jae-Young Oh
../../Resources/kiee/KIEE.2020.69.3.480/au2.png

He is currently pursuing the B.S. degree in electrical engineering at the Soongsil University, Seoul, Korea.

Jae-Young Oh
../../Resources/kiee/KIEE.2020.69.3.480/au3.png

He received his Ph.D. degree in electrical engineering from Seoul National University, Seoul, Korea in 2007.

He is currently Associate Professor of School of Electrical Engineering at Soongsil University, Seoul, Korea.