• 대한전기학회
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)



Solar power forecasting, Explainable artificial intelligence, Feature importance

1. 서 론

빅데이터 시대의 도래와 IT 기술의 발달을 기반으로 하여, 인공지능 기술이 비약적으로 발전하고 있다. 영상・음성 인식 분야에서 성공적인 성과를 이룬 인공지능 기술은 뒤이어 다양한 분야에 접목되어 활용되고 있다.

최근 인공지능의 성공은 머신러닝 기술에 기반하고 있으며, 머신러닝 기술은 데이터를 바탕으로 예측 모델을 학습하는 방법으로서 높은 수준의 성능을 확보하기 위해 모델은 많은 파라미터를 포함하는 복잡한 방식으로 진화하고 있다. 모델이 복잡해질수록 예측 과정을 설명하기 어려워 입력 데이터에 대한 예측 결과를 해석하는 것이 난해하게 된다. 의사 결정 트리(Decision tree)나 선형회귀 등의 알고리즘은 입력 데이터로부터 출력값을 얻는 과정을 설명할 수 있으나, 보다 우수한 성능을 나타내는 Bagging, Boosting 등의 앙상블 기법들과 인공신경망 기반의 심층신경망(Deep Neural Network; DNN) 등의 복잡한 알고리즘들은 입력 데이터로부터 출력 데이터가 나오기까지의 과정을 직관적으로 해석하는 것이 어려운 경향이 있다.

최근 들어, 인공지능 기술의 성능 향상뿐만 아니라 인공지능 모델의 해석에도 관심이 증대되고 있으며, 이에 따라 설명 가능한 인공지능(eXplainable Artificial Intelligence; XAI)에 대한 연구도 확대되고 있다 (1). 설명 가능한 인공지능은 사용자가 인공지능 시스템의 모델 학습 과정과 예측 결과를 해석하여 출력값이 생성되는 과정을 설명 가능하도록 하는 기술을 말한다. 인공지능 모델의 해석을 통해 예측 모델의 신뢰성 확보, 안정성 부여, 성능 향상 등을 기대할 수 있다 (2).

인공지능 모델 해석 중 가장 기본적인 방법은 입력 특징(feature)을 분석하여 학습 데이터의 모델 학습 및 테스트 데이터의 예측 과정을 해석하는 것이다. 이 중 입력 특징 중요도(feature importance)는 해당 입력 특징값을 변화시켜 입력 특징과 출력값과의 관계를 교란시킴으로써 발생하는 오차의 증가량으로 산정할 수 있다.

본 논문에서는 태양광 발전량 예측 시스템의 성능 향상을 위해 인공지능 해석 방법을 적용하고자 한다. 태양광 발전량 예측은 발전 단지와 연계된 계통의 안정화와 균형 잡힌 전력 생산을 유지하는데 중요한 역할을 하는 분야로서, 과거 발전량 및 기상학적인 요소와 같은 환경적 요인과 더불어 시계열 입력 등의 다양한 변수에 의해 결정된다. 머신러닝 기술이 다양한 분야에서 성공적으로 적용되는 가운데, 머신러닝을 이용한 태양광 발전량 예측 연구도 활발히 이루어지고 있다 (3-5). 머신러닝 기반의 예측 시스템에서 다양한 입력 특징을 사용하는 경우, 입력 특징을 선택적으로 적용함으로써 성능 향상을 도모할 수 있다 (6). 입력 특징 선택을 위해서는 여러 방법이 적용될 수 있는데, 본 연구에서는 인공지능 해석 방법 중 하나인 SHAP value 해석에 의한 입력 특징 중요도를 기반으로 입력 특징을 선택하여 태양광 발전량 예측 시스템의 성능을 향상시킬 수 있음을 확인한다.

2. 태양광 발전량 예측

2.1 태양광 발전량 예측 모델

태양광 발전량을 예측하기 위해 본 논문에서는 일사량을 먼저 예측하고, 예측된 일사량을 태양광 발전량 예측 모델의 입력으로 사용하는 2단계 시스템(cascade system)을 적용하였다. 일사량 예측을 위해서는 과거 일사량, 기온, 습도 및 해당 일시의 기온, 습도 예보값과 함께 월(month), 시간(hour) 정보를 회귀 모델의 입력으로 사용한다. 과거 기온, 습도 및 해당 일시의 기온, 습도 예보값, 월, 시간 정보는 태양광 발전량 예측 모델의 입력으로 다시 사용되며, 추가로 예측된 일사량과 과거 태양광 발전량 또한 태양광 발전량 예측 모델의 입력으로 사용한다.

일사량을 먼저 예측하고 일사량 예측값을 다른 정보와 함께 태양광 발전량 예측 모델의 입력으로 사용하는 2단계 시스템을 사용하는 대신, 과거 일사량을 포함한 모든 입력을 하나의 모델에 넣어 발전량을 예측하는 1단계 시스템을 구축할 수도 있다. 이 경우, 예측을 위한 머신러닝 모델이 충분히 복잡하다면 모델 내부에서 일사량을 내재적(implicit)으로 예측하는 것으로 해석할 수도 있다. 그러나 학습 데이터가 충분하지 못한 경우는 복잡한 모델은 과적합(overfitting) 문제를 초래할 수 있고, 손실함수가 줄어들도록 모델을 학습하는데도 어려움을 겪을 수 있다. 따라서 일사량이 태양광 발전량과 밀접한 관계에 있다는 것은 직관적으로 이해할 수 있으므로 학습 데이터가 충분하지 않은 경우, 복잡한 회귀 모델을 사용하여 한 번에 태양광 발전량을 예측하는 것보다 복잡하지 않은 모델을 사용하여 일사량을 먼저 예측하고 예측된 일사량과 다른 입력값들을 이용하여 태양광 발전량을 예측하는 2단계 시스템을 사용하는 것이 더 효과적인 방법이 될 수 있다. 일사량이 태양광 발전량과 밀접한 관계에 있다는 사실은 본 논문에서 인공지능 해석을 통해서도 확인할 수 있다.

태양광 시스템은 태양 에너지가 공급될 때만 전력을 생산하는 특성을 가지므로 가조시간(possible duration of sunshine)에 해당하는 6시부터 20시 사이를 예측 대상 시간으로 설정하였다. 또한 일사량이 시간대별로 차이를 보인다는 사실을 이용하기 위해, 시간 정보를 입력으로 사용하고 시간 간격을 3시간 단위로 구분하여 총 5개의 병렬 모델(6 ~ 8시, 9 ~ 11시, 12 ~ 14시, 15 ~ 17시, 18 ~ 20시)을 구축하였다. 시간대별로 나누어진 회귀 모델을 사용하는 것 또한 일사량을 먼저 추정하는 2단계 시스템에서와 같이, 데이터량이 충분하지 않은 경우에 모델의 복잡도를 줄여 과적합을 방지하는 방법이 될 수 있다. 본 논문에서 사용하는 병렬 모델 기반의 2단계 태양광 발전량 예측 시스템을 그림 1에 나타내었다.

일사량을 추정하기 위해서는 시간, 월 정보와 함께 과거 7일간 동시간대의 기온, 습도, 일사량과 해당 시간의 기온, 습도 예보값을 사용한다. 그림 1에 나타낸 것처럼 태양광 발전량 예측 모델의 경우와 마찬가지로 시간대별로 구분된 5개의 병렬 모델을 사용한다. 일사량 예측 및 태양광 발전량 예측을 위한 각각의 시간대별 병렬 모델은 머신러닝 모델을 이용하여 구현할 수 있으며, 본 논문에서는 서로 다른 범주에 속한 머신러닝 알고리즘에 대해 평가하기 위해 SVM(Support Vector Machine), ANN(Artificial Neural Network), XGBoost (7) 등으로 실험한다.

그림. 1. 태양광 발전량 예측 모델

Fig. 1. Model of solar power forecasting

../../Resources/kiee/KIEE.2020.69.7.1111/fig1.png

2.2 입력 특징 선택

머신러닝 모델을 설계하기 위해서는 접근 가능한 데이터로부터 입력 특징을 정하는 과정이 필요하다. 머신러닝은 데이터를 기반으로 모델을 학습시키기 때문에, 예측 모델이 충분히 복잡하다는 가정 하에 이론적으로는 접근 가능한 모든 특징을 모델의 입력으로 사용하는 것이 성능을 극대화하는 전략이 될 수 있다. 그러나 입력 특징의 차원이 늘어나면 그에 따라 학습에 필요한 데이터는 기하급수적으로 늘어나게 되는 ‘차원의 저주’(curse of dimensionality)를 겪게 되어, 충분한 학습 데이터가 확보되지 않는 상황에서는 예측 모델이 일반화되지 못하고 학습 데이터에만 과적합되는 상황이 발생할 가능성이 농후하다. 또한 학습 데이터가 충분히 확보된다고 가정하더라도 이를 학습하기 위해서는 방대한 메모리와 고성능 연산 능력을 갖춘 하드웨어가 필요하게 된다. 이러한 비효율성을 회피하기 위해서는 예측 모델의 출력값에 유의미한 영향을 미치는 입력 특징을 선별하는 과정이 필요하며, 이를 입력 특징 선택(feature selection)이라 한다 (6).

본 논문에서는 그림 1과 같이 태양광 발전량 예측을 위해 과거 7일간의 기온, 습도 및 태양광 발전량과 함께 기온, 습도의 예보값, 시간, 월 정보, 그리고 예측 일사량 등 26개의 입력값을 예측 모델을 위한 전체 입력 특징으로 설정하였다.

3. 설명 가능한 인공지능

3.1 인공지능 해석 기법

머신러닝은 인간의 전문적인 지식을 바탕으로 예측 알고리즘을 고안하는 대신, 데이터를 기반으로 예측 모델을 학습시키는 방법이다. 머신러닝 알고리즘들은 수십 년 전부터 개발되어 활용되어 왔으나, 데이터 및 연산능력이 부족하던 과거에는 머신러닝 알고리즘보다 어떤 입력 특징을 사용하느냐에 따라 예측 성능이 좌우되어 왔다. 이에 따라 예측 성능을 높이기 위해 입력 데이터에 대한 전문적인 지식을 바탕으로 입력 특징을 고안하는 연구(feature engineering)가 활발히 진행되어 왔다.

인터넷의 발달과 고성능 연산 장비의 개발에 따라 방대한 데이터가 축적되고 이를 처리할 수 있는 환경이 구축되면서 보다 복잡한 머신러닝 알고리즘이 학습될 수 있는 기반이 마련되었으며 이에 따라 응용 분야 전문가에 의해 고안된 입력 특징에 의해 제한되었던 성능을 뛰어 넘는 성과들이 나타나고 있다. 그러나 머신러닝 모델이 복잡해짐에 따라 입력 데이터에 대한 예측 결과를 얻는 과정을 설명하기 어려운 단점이 발생하게 된다.

최근 들어, 예측 성능을 향상시키고 시스템의 안정성 및 신뢰성을 확보하기 위한 인공지능 해석에 대한 연구가 확대되고 있다. 인공지능의 해석은 주로 입력 특징이 예측 결과에 미치는 영향을 파악하는 방향으로 연구되어 왔으며, 입력 특징 중요도(feature importance) 산정 및 PDP(Partial Dependence Plot)와 같은 형태로 해석을 수행할 수 있다.

입력 특징 중요도는 여러 가지 기준에 의해 산정될 수 있는데, 특히 의사결정트리 기반 알고리즘에서는 특정 입력 특징 조건에 따른 트리 노드가 분기될 때 해당 입력 특징이 사용된 정도, 불순도 감소에 따른 정보 이득, 해당 입력 특징이 영향을 준 인스턴스 개수의 비율 등이 중요도 산정 기준이 될 수 있다.

이와 달리 SHAP(SHapley Additive exPlanations) value는 섀플리 값(Shapley values)을 기반으로 하여 입력 특징 중요도를 계산한다. 새플리 값이란 협조적 게임 이론에서 게임의 참여자 간 협조로 얻어진 모든 이득으로부터 참여자들의 기여분에 따라 배분되는 값을 말한다 (8).

또한 입력 특징을 이용한 해석은 해석하는 범위에 따라 지역적(local) 해석과 전역적(global) 해석으로 구분될 수 있다. 전역적 해석의 경우, 각 입력 특징이 출력 예측값에 미친 평균적인 영향을 파악하는 반면, 지역적 해석은 개별 테스트 데이터에 대해 출력 예측값에 대한 입력 특징의 기여도를 개별적으로 분석한다.

3.2 SHAP value를 이용한 인공지능 해석

SHAP value는 머신러닝 모델의 조건부 기댓값 함수에 대한 섀플리 값으로 정의된다. 섀플리 값은 ‘게임 이론’의 창시자 Lloyd Stowell Shapley에 의해 제안된 값으로서, 머신러닝 모델에서는 입력 인스턴스에 대한 예측값과 특정 입력 특징이 없는 모델에 대한 예측값을 비교함으로써 입력 특징의 중요도를 나타내게 된다.

선형 회귀나 의사 결정 트리와 같이 내부 알고리즘이 간단한 모델과 달리 내부 알고리즘이 복잡한 블랙박스 모델들은 모델을 설명하기 위한 ‘설명 모델’이 필요하게 된다. 이러한 ‘설명 모델’은 비교적 간단하고 해석가능하며, 블랙박스 모델을 근사화하는 지역적 대리 모델(local surrogate model)을 기반으로 한다. Lundberg와 Lee는 ‘설명 모델’ 개념을 바탕으로 “Additive Feature Attribution” 기법을 정의하였으며, 모델이 도출하는 결괏값에 대한 각 입력 특징의 기여도에 대한 체계를 정리하였다 (9). 이 중에서도 섀플리 값은 “Additive Feature Attribution” 기법이 갖추어야 할 세 가지 특성(local accuracy, missingness, consistency)을 모두 만족하고 있으며, 인간의 직관에 의한 결과와 가장 부합하는 값이다.

파이썬 패키지 SHAP을 이용하여 SHAP value를 계산할 수 있으며, SHAP 패키지는 딥러닝 모델에 적용되는 Deep SHAP, 의사 결정 트리 기반의 모델에 적합한 Tree SHAP, 머신러닝 모델 종류에 관계없이 적용 가능한 Kernel SHAP 등의 솔루션들을 제공하고 있다 (10). SHAP 패키지에서는 입력 특징 중요도를 계산하고 각 입력 특징에 대한 Dependence plot을 나타낼 수 있다. Dependence plot의 경우, 데이터셋의 모든 인스턴스에 대해 해당 입력이 예측값에 기여한 SHAP value들을 모두 표시하는데, 이렇게 나타난 산점도(scatter plot)를 통해 해당 입력 특징이 예측값에 영향을 미친 정도에 대한 상관관계를 가늠할 수 있다.

입력 특징 중요도는 데이터셋으로부터 각 입력 특징의 SHAP value들을 구해 계산할 수 있다. 즉, 데이터셋의 모든 인스턴스에 대해 각 입력 특징의 SHAP value의 절대값을 취하여 평균을 구함으로써 입력 특징의 중요도로 사용할 수 있다.

4. 실험 결과

4.1 실험 환경 및 과정

태양광 발전량 예측 실험을 위해서 입력으로 사용한 데이터는 기상 데이터 및 과거 태양광 일사량, 발전량 데이터이다. 태양광 발전량 데이터는 2019년 전력 거래소에 의해 개최되었던 ‘재생에너지 발전량 예측 경진대회’ 중 ‘태양광 발전량 예측 분야’에서 제공되었던 데이터이다. 전력 거래소에서 제공한 데이터는 해남 태양광 발전소 자료로서 2017년 7월 1일부터 2019년 6월 30일까지의 한 시간 단위로 측정된 발전량 데이터이다. 기상 데이터는 기상청에서 제공하는 종관 기상 관측 (ASOS: Automated Surface Observing System) 자료를 활용하였다. 2017년 7월부터 2018년 12월까지의 데이터를 학습 데이터로 사용하였고, 테스트 데이터로는 2019년 1월부터 2019년 6월까지의 데이터를 사용하였다.

태양광 발전량 예측은 회귀 (regression) 모델을 사용하므로 회귀 모델을 성능 평가 방법을 이용하여 발전량 예측 성능을 확인할 수 있다. 회귀 모델을 위한 평가 척도로는 MAE (Mean Absolute Error), MAPE (Mean Absolute Percentage Error), MSE (Mean Square Error) 등을 사용할 수 있다. 태양광 발전량 예측에서는 참값이 0인 경우가 존재하므로 MAPE는 평가 척도로 적당하지 않다. 그리고 MAE와 MSE는 오차의 절대값을 사용하느냐, 제곱값을 사용하느냐의 차이가 있는데, 본 논문에서는 MSE를 평가 척도로 사용하여 큰 오차에 좀 더 민감하게 반응하도록 하였다.

일사량 예측 및 태양광 발전량 예측을 위한 각각의 시간대별 병렬 모델은 머신러닝 모델을 이용하여 구현할 수 있으며, 본 논문에서는 SVM, ANN, XGBoost 등으로 실험하였다. XGBoost는 결정 트리 (Decision Tree) 기반의 앙상블 모델로서 다양한 hyperparameter를 갖는데, 본 실험에서는 5개의 병렬 모델에 대해 결정 트리의 개수를 결정하는 n_estimator를 각각 600, 100, 100, 100, 400으로 설정하고 나머지 hyperpara- meter들은 기본 설정값을 사용하였다. 가조시간대를 고려하여 5개의 병렬 모델로 나누는 과정에서 이른 아침과 늦은 오후 시간대를 포함하는 모델의 경우는 다른 모델들에 비해 여름과 겨울의 특성 차이가 크게 나타나므로 앙상블에 포함된 결정 트리의 개수를 늘려 다양성을 반영하도록 하였다. SVM에서는 비선형 회귀를 구현하기 위해 radial basis function kernel을 사용하였고, 각 입력 특징들의 최소를 0, 최대가 1이 되도록 정규화하였다. ANN에서는 각 입력 특징들의 평균이 0, 표준편차가 1이 되도록 표준화하고, 하나의 은닉층(hidden layer)을 사용하였으며 은닉층에는 모델마다 5개부터 25개까지의 뉴런에 대해 실험한 후 최적의 값을 선택하였으며 은닉층 뉴런의 활성화함수는 하이퍼탄젠트 함수를 사용하였다.

4.2 모델 해석 결과

3.2에서 설명한 바와 같이 SHAP value해석을 위해서는 파이썬 SHAP 패키지를 사용하였으며, XGBoost의 해석을 위해서는 Tree SHAP을 사용하였고, SVM과 ANN의 해석을 위해서는 Kernel SHAP을 사용하였다. Kernel SHAP은 데이터셋의 인스턴스 입력 특징값과 예측 출력값의 관계로부터 선형회귀 모델을 만드는 과정이 필요하므로 계산 시간이 많이 걸리는 단점이 있으나 머신러닝 모델 종류에 구애받지 않는 장점을 갖는다.

그림. 2. Dependence Plot (일사량)

Fig. 2. Dependence Plot (Irradiation)

../../Resources/kiee/KIEE.2020.69.7.1111/fig2.png

그림. 3. Dependence Plot (4일 전 태양광 발전량)

Fig. 3. Dependence Plot (Photovoltaic Power of four days ago)

../../Resources/kiee/KIEE.2020.69.7.1111/fig3.png

그림. 4. Dependence Plot (하루 전 기온)

Fig. 4. Dependence Plot (Temperature of one day ago)

../../Resources/kiee/KIEE.2020.69.7.1111/fig4.png

그림 2부터 그림 4에 XGBoost를 이용하여 학습한 태양광 발전량 예측 모델 중 오후 12시부터 2시까지를 예측하는 모델에서 26개의 입력 특징 중 예측 일사량, 4일 전의 태양광 발전량, 하루 전의 기온에 대한 dependence plot들을 나타내었다. 각 입력 특징에 대해, 테스트 데이터셋에 포함된 모든 인스턴스들로부터 SHAP value를 구하여 시각화하였다. 그림 2에는 태양광 발전량과 가장 밀접한 관계를 갖는 것으로 알려진 입력 특징인 일사량의 dependence plot을 보여주고 있다. 가로축에 표시된 입력 특징값이 증가함에 따라 SHAP value도 증가하는 추세가 뚜렷하게 나타난다. 그림 3에는 4일 전의 태양광 발전량에 대한 SHAP value dependence plot을 보여주고 있는데, 여기서도 입력 특징값의 증가에 따른 SHAP value의 증가를 확인할 수 있으나 증가하는 SHAP value의 변화량이 그림 2에 나타난 일사량의 경우에 비하면 10분의 1 이하임을 알 수 있다. 이에 따라 4일 전 태양광 발전량의 입력 특징 중요도는 일사량의 입력 특징 중요도의 10분의 1 이하로 나타날 것임을 예측할 수 있다. 그림 2, 그림 3과 달리 그림 4에 나타난 하루 전 기온에 대한 SHAP value dependence plot에서는 입력 특징값과 SHAP value 간에 상관관계가 낮음을 알 수 있고, 또한 SHAP value의 변화량도 크지 않음을 확인할 수 있으며 이에 따라 하루 전 기온이 일사량 및 4일 전 태양광 발전량보다 입력 특징 중요도가 낮게 계산될 것임을 짐작할 수 있다.

표 1. XGBoost 모델의 입력 특징 중요도 순위 (상위 10개)

Table 1. Feaature importance ranking for XGBoost (Top 10)

Model p1

Model p2

Model p3

Model p4

Model p5

1

일사량 예측값

일사량 예측값

일사량 예측값

일사량 예측값

일사량 예측값

2

기온 예보값

습도 예보값

습도 예보값

3

발전량 (D-1)

습도 예보값

기온 예보값

기온 예보값

기온 예보값

4

기온 (D-3)

발전량 (D-1)

발전량 (D-1)

습도 예보값

5

기온 (D-5)

발전량 (D-1)

발전량 (D-4)

습도

(D-1)

기온 (D-3)

6

기온 예보값

발전량 (D-4)

습도 (D-7)

7

발전량 (D-5)

기온 (D-7)

발전량 (D-5)

발전량 (D-5)

기온 (D-5)

8

발전량 (D-2)

기온 (D-2)

습도 (D-1)

발전량 (D-4)

기온 (D-2)

9

발전량 (D-7)

발전량 (D-3)

습도 (D-4)

발전량 (D-2)

기온 (D-1)

10

기온 (D-1)

기온 (D-4)

습도 (D-6)

습도

(D-6)

기온 (D-4)

표 1에 XGBoost를 사용했을 때 나타난 입력 특징 중요도의 상위 10개 입력 특징을 5개의 모델별로 나타내었다. 과거 데이터는 “D-”로 표시하였는데 예를 들어, D-1은 하루 전, D-2는 이틀 전 데이터를 의미한다. 모든 모델에서 일사량 예측값이 가장 중요한 입력 특징으로 나타났으며 기온, 습도 예보값 및 하루 전 발전량 등이 높은 중요도를 갖는 것으로 나타났다. 표 1의 상위 10개 입력 특징에 대한 중요도 값을 그림 5에 그래프로 나타내었다. Model p1 ~ p5에서 모든 경우에 일사량이 가장 높은 입력 특징 중요도를 갖는데, 오전 9시부터 오후 5시에 해당하는 Model p2 ~ p4에서는 일사량의 중요도가 1에 가까운 값을 가지며 다른 입력 특징보다 월등히 높음을 알 수 있다. 이른 오전과 늦은 오후 시간에 해당하는 Model p1, p5의 경우는 여전히 일사량의 중요도가 다른 어떤 입력 특징의 중요도보다 높지만 일사량이 상대적으로 약한 시간대이어서 중요도값은 Model p2 ~ p4에 비해서는 현저히 낮음을 알 수 있다. 또한 Model p1, p5의 경우는 일사량의 중요도값이 다른 입력 특징의 중요도와의 차이가 상대적으로 작게 나타났다. Model p3의 경우는 상위 3개의 입력 특징 중요도값이 다른 입력 특징의 중요도와 큰 차이를 보이는 것을 확인할 수 있었다.

그림. 5. 상위 10개의 입력 특징 중요도 그래프 (XGBoost)

Fig. 5. Top 10 feature importance plot (XGBoost)

../../Resources/kiee/KIEE.2020.69.7.1111/fig5.png

4.3 태양광 발전량 예측 성능

일사량 예측 및 태양광 발전량 예측을 위해 서로 다른 범주에 속하는 머신러닝 모델인 XGBoost, SVM, ANN를 선택하여 실험하였다. 표 2에 세 개의 서로 다른 머신러닝 알고리즘에 대해 전체 입력 특징을 사용하였을 때와 입력 특징 선택을 적용했을 때의 성능을 나타내었다. 입력 특징 선택은 표 1에 나타난 입력 특징 중요도 순위에 따라 하위 입력 특징을 제거함으로써 구현된다. 예측 모델의 최적 입력 특징의 개수는 모델별로 차이가 있으며 XGBoost의 경우는 Model p1 ~ p5 다섯 개의 모델에 대해 각각 19, 4, 10, 6, 4개의 상위 입력 특징을 선택했을 때 최상의 성능을 얻을 수 있었다. 예측 성능은 참값과 예측값의 차이를 제곱하여 평균을 취한 MSE로 평가하였다. 표에 나타난 것과 같이 XGBoost를 사용하였을 때 가장 우수한 결과를 얻을 수 있었고, 모든 머신러닝 알고리즘에서 입력 특징 선택을 적용하였을 때 MSE가 줄어들어 성능이 향상되는 것을 확인할 수 있었다. SVM의 경우 입력 특징 선택을 적용하였을 때 MSE가 0.101만큼 줄어들어 적용한 머신러닝 모델 중 가장 높은 성능 향상을 보여주었다.

가장 우수한 성능을 보인 XGBoost의 경우, 전체 입력 특징을 사용하면서 시간대별로 나누어진 병렬 모델을 사용하지 않고 하나의 모델을 사용한 경우는 MSE가 0.647로 병렬 모델을 사용했을 때 MSE 0.587보다 MSE가 0.060만큼 늘어나는 결과를 보여주었다. 또한 병렬 모델을 사용하지 않으면서 일사량을 먼저 예측하는 2단계 모델 대신 모든 입력 특징으로부터 한 번에 태양광 발전량을 예측하는 구조를 사용할 경우 MSE가 0.781로 계산되어 큰 폭의 성능 저하를 발생시키는 것으로 확인되었다(SVM과 ANN의 경우, MSE는 각각 0.859, 0.690). 이러한 실험 결과를 바탕으로 일사량을 먼저 추정하는 2단계 예측 구조와 시간대별로 나누는 병렬 모델의 적용을 통해 태양광 발전량 예측 성능을 향상시킬 수 있음을 확인할 수 있었다.

표 2. 태양광 발전량 예측 성능 (MSE)

Table 2. Evaluation results (MSE)

머신러닝 모델

전체 입력 특징

사용

입력 특징 선택

적용

XGBoost

0.589

0.570

SVM

0.702

0.601

ANN

0.668

0.625

5. 결 론

인공지능이 여러 응용 분야에 성공적으로 적용됨에 따라 성능 향상을 위한 노력뿐만 아니라 입력 데이터에 대한 인공지능의 출력 과정을 해석하려는 연구에도 많은 관심이 모아지기 시작하고 있다. 본 논문에서는 인공지능 해석 기법 중 하나인 SHAP 해석을 통해 태양광 발전량 예측을 위한 각 입력 특징들에 대해 분석하였다. 태양광 발전량 예측을 위해서는 먼저 일사량을 예측한 후 일사량 예측값과 다른 입력 특징들을 이용하여 발전량을 예측하는 2단계 시스템을 구현하였다. 일사량 및 태양광 발전량 예측을 위해서는 머신러닝 모델을 사용하며 가조시간을 5개의 구간으로 나눈 병렬 모델을 사용하여 효율적인 학습이 이루어지도록 하였다. 태양광 발전량 예측을 위한 각 입력 특징에 대해 SHAP value들을 계산하고 SHAP value들로부터 입력 특징 중요도를 산출하였다. 산출된 입력 특징 중요도에 따라 입력 특징을 선택함으로써 태양광 발전량 예측 성능을 향상시킬 수 있음을 확인하였다.

References

1 
A. Adadi, M. Berrada, 2018, Peeking Inside the Black-Box: A Survey on Explainable Artificial Intelligence (XAI), IEEE Access, Vol. 6, pp. 52138-52160DOI
2 
C. Molnar, 2019, Interpretable Machine Learning: A Guide to Making Black Box Models Explainable, LeanpubGoogle Search
3 
K. Lee, W.-J. Kim, 2016, Forecasting of 24_hours Ahead Photovoltaic Power Output Using Support Vector Regres- sion, The Journal of Korean Institute of Information Technology, Vol. 14, No. 3, pp. 175-183Google Search
4 
D.-H. Shin, J.-H. Park, C.-B. Kim, 2017, Photovoltaic Generation Forecasting Using Weather Forecast and Predictive Sun- shine and Radiation, Journal of Advanced Navigation Technology, Vol. 21, No. 6, pp. 643-650DOI
5 
Y. Lee, 2019, Validation of Forecasting Performance of Two-stage Probabilistic Solar Irradiation and Solar Power Forecasting Algorithm Using XGBoost, The Transactions of the Korean Institute of Electrical Engineers, Vol. 68, No. 12, pp. 1704-1710Google Search
6 
G. Chandrashekar, F. Sahin, 2014, A Survey on Feature Selection Methods, Computers & Electrical Engineering, Vol. 40, No. issue 1, pp. 16-28DOI
7 
T. Chen, C. Guestrin, 2016, XGBoost: A Scalable Tree Boosting System, KDDDOI
8 
S. Lundberg, S.-I. Lee, Nov 2017, A Unified Approach to Inter- preting Model Predictions, NIPSGoogle Search
9 
S. Lundberg, G. Erion, S.-I. Lee, 2019, Consistent Indivi- dualized Feature Attribution for Tree Ensembles, arXiv: 1802.03888Google Search
10 
https://github.com/slundberg/shap,

저자소개

Jae-Young Oh
../../Resources/kiee/KIEE.2020.69.7.1111/au1.png

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

Yong-Geon Lee
../../Resources/kiee/KIEE.2020.69.7.1111/au2.png

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

Gibak Kim
../../Resources/kiee/KIEE.2020.69.7.1111/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.