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

  1. (Dept. of Electrical Engineering, Konkuk University, Seoul, Korea.)
  2. (Dept. of Electrical Engineering, Konkuk University, Seoul, Korea.)



solar power forecasting, preprocessing, weighted average, data interpolation, extreme gradient boost

1. 서 론

현재 전 세계적으로 전력 생산의 많은 부분을 화력 발전이 담당하고 있다.(1) 하지만 탄소중립과 더불어 신재생에너지의 중요성이 점점 늘어나고 있다. 이러한 신재생 에너지원 중 기술적이나 시장 규모로나 가장 앞서 있는 분야는 태양광 발전이다(2).

태양광 발전은 발전량에 비해 초기 투자 비용은 높은 편이지만 한번 설치하면 기본 수명이 20년이기 때문에 높은 경제성을 갖고 있다(3). 대한민국의 경우 다양한 태양광 보조금을 제외하더라도 기술의 발전과 에너지저장장치(ESS: Energy Storage System)의 활용으로 인한 PV와 ESS의 복합사용이 점점 PV의 경제성을 확보하고 있다(4).

하지만 태양광 에너지의 이러한 장점에도 불구하고 직접 계통에 투입할 때는 다양한 상황을 고려해야 한다. 태양광 에너지는 태양 에너지에 의존하는 발전으로 기본 출력 형태는 태양 주기에 따라 발전량이 달라지지만 여러 가지 기상 조건에 따라 불규칙한 발전량을 출력한다. 이러한 태양광의 불규칙적 출력은 계통 불안정을 유발한다. 따라서 계통운영자는 매 순간 수요와 공급의 균형을 맞춰야 한다(5). 기본적으로 공급은 급전 지시를 통해 조절할 수 있지만, 수요의 조절은 불가능해 수요를 예측하고 공급을 이에 맞추는 형식으로 계통을 운영하고 있다(6). 하지만 태양광 발전을 계통에 투입하면 정확한 발전량 조절이 어려워져 전력 계통에 불안정함을 가져올 수 있다. 이러한 변동성으로 인해 생긴 계통 불안정성은 전력 품질 악화와 블랙 아웃을 유발한다(7). 또한 신재생에너지원의 발전량 예측의 정확도의 하락은 송배전망의 신뢰도 하락으로 이어져 신설비 투자에 과도한 금액을 책정해야 한다(8).

실제로는 태양광 발전의 출력 조절이 불가능하여 태양광 발전량도 수요처럼 예측을 통해 계통을 운영하고 있다.(10) 미국시장과 한국시장 모두 실측값을 통한 다양한 예측 모델을 이용하여 발전량을 예측한다.

따라서 안정적인 계통 운영을 위해선 정확한 태양광 발전량 예측이 중요하다(11). 현재 태양광 발전 예측은 기상데이터와 예측 모델을 이용한다. 기상데이터는 현재 온도, 습도, 운량, 일사량 등과 같은 태양광 발전량과 관련이 있는 실제 또는 예측값을 의미한다. 예측 모델은 주어진 기상데이터와 실제 발전량 사이 관계를 분석하여 최종 예측 발전량을 계산할 때 사용되는 함수 모델이다.

현재 예측 모델은 Linear Regression(12), Random Forest(13), Quantile Regression, fuzzy Regression(14), Time Series(15) 등 많은 종류가 사용되고 있다. 모델마다 사용되는 파라미터(parameter)들은 다르지만 기상데이터를 통해 학습한다는 점은 동일하다(16).

본 논문에서는 입력 데이터에 따른 예측 모델의 학습 능력 차이를 확인하기 위해 입력 데이터 전처리 과정에 따른 예측 성능을 알아본다. 사용한 예측 모델들은 4가지로 Linear Regression(LR), Random Forest(RF), Gradient Boost Machine(GBM) 그리고 Extreme Gradient Boost(XGBoost)를 이용한다. 실험 진행 방식은 데이터의 전처리 과정에 대해 4개의 예측 모델을 병렬적으로 진행해 각 모델에 대한 성능을 비교한다.

논문에서 사용되는 전처리 과정은 4개이다. 첫 번째는 관측소에 따른 기상데이터 선정이다. 주어진 기상데이터는 위도와 경도를 기준으로 일정한 간격으로 설치되어 있는 기상 관측소에서 기록된 데이터를 이용한다. 반면 예측해야 하는 지점들은 관측소와는 다른 여러 지역에 분포되어 있다. 따라서 관측소의 기록들을 각 예측 지점에서 최적의 결과를 산출할 수 있게 가공해야 한다. 두 번째는 데이터 예측시간이다. 기상데이터(NWP: Numerical Weather Prediction)가 실제 시간으로부터 얼마 전에 예측했는지에 따라 5가지 경우에 따른 데이터를 제공한다. 주어진 데이터를 활용하여 예측 성능을 비교한다. 세 번째는 상관관계에 따른 데이터의 선별적 사용이다. 주어진 기상 요소들은 각각 다른 상관관계 값을 갖고 있다. 따라서 상관관계에 따른 데이터 선별적 사용이 예측 성능에 도움이 되는지 알아본다. 마지막으로 데이터의 보간이다. 보간을 이용하면 데이터의 개수를 인위적으로 늘릴 수 있는데, 이런 과정이 예측 성능 향상에 도움이 되는지 확인한다.

본 논문을 통해 우리가 기여하는 점은 다음과 같다.

(1) 인근 데이터를 이용하여 예측 기상데이터가 없는 지역에 대한 발전량 예측 방안 제시

(2) 예측시간과 상관관계에 따른 데이터 선별적 사용법 제시

(3) 보간법에 따른 데이터 변형 시 예측 성능에 미치는 영향 분석

본 논문의 순서는 다음과 같다. 2장에서는 본 논문에서 활용한 데이터를 설명한다. 3장에서는 각 예측 모델에 대한 특징 및 구조에 대해 설명하고, 기본 모델의 성능을 분석한다. 4장에서는 전처리 과정에 따른 예측 모델의 성능 비교를 진행한다. 5장에서는 앞 내용을 바탕으로 결론을 도출한다.

2. 데이터 구조 및 오차 계산

본 장에서는 논문에서 사용한 데이터의 세부적인 구조와 계산된 발전량의 오차를 계산하는 방법을 소개한다.

2.1 데이터 구조

주어진 기상데이터는 ‘American Meteorological Society 2014 Solar Energy Prediction Competition’에서 사용되었으며, 최초 제공된 데이터는 크게 학습데이터와 시험데이터로 구분되어 있다(17). 학습데이터는 예측 모델을 기상데이터를 이용해서 학습할 때 사용하는 데이터이고, 시험데이터는 학습된 모델을 토대로 최종 발전량을 예측할 때 사용하는 데이터이다.

주어진 기상데이터를 이용하여 Oklahoma 내 98개 위치에 대해 태양광 발전량을 예측해야 한다. 기상데이터는 위도와 경도의 정숫값 교차점마다 존재하고 예측해야 하는 98개 장소는 불특정 위치에 존재한다. 주어진 그림 1은 Oklahoma의 위도, 경도 격자점과 관측해야 하는 지점을 나타낸 지도이다. 적색점은 정수 단위의 위도와 경도가 만나는 지점이면서 기상 관측소 위치를 알려주고, 흑색점은 발전량을 예측해야 하는 예측 지점인 태양광 발전단지의 위치를 나타낸다.

주어진 데이터는 기상데이터로써 표 1과 같이 15개의 기상요소를 포함하고 있다.

데이터의 각 기상요소는 (경도)×(위도)×(예측시간)×(앙상블)×(시간)으로 구성된 5차원 행렬로 이루어져 있다. 순차적으로 시간을 제외한 각 차원은 경도, 위도, 예측시간, 앙상블을 의미한다. 이 행렬 데이터에서 경도와 위도는 지구상의 위치를 격자점으로 표현하기 위해 사용하고 각각 254°부터 269°, 31°부터 39°까지 있다. 예측시간은 해당 실제 관측 시간을 기준으로 기상데이터를 예측한 시간이다. 예측시간은 12, 15, 18, 21, 24시간 전으로 해서 총 5번 측정됐다. 앙상블은 주어진 데이터 기본 요소 외에도 여러 가지 환경 요소를 추가하기 위해 적용된 설정으로 11가지가 존재한다. 시간은 하루 단위로 제공되며 하루 누적 발전량과 기상요소로 구성된다. 학습데이터는 1994년 1월 1일부터 2007년 11월 30까지 5,113개의 기상데이터가 있으며, 시험데이터는 2008년 1월 1일부터 2012년 11월 30일까지 1,796개의 기상데이터가 있다.

발전량 데이터는 흑색점인 태양광 발전단지에서 하루 누적 발전량으로 하루에 한가지의 데이터로 제공한다. 발전량 데이터들은 여름에는 발전량이 높고 겨울에는 발전량이 낮은 이차함수 개형을 갖는다.

본 논문에서는 주어진 약 5년간의 기상데이터를 이용하여 2012년의 태양광 발전량을 예측하여 실측값과의 정확도를 비교한다. 학습데이터는 2008년부터 2011년까지의 데이터를 사용하고, 시험데이터는 2012년의 데이터를 사용한다.

2.2 예측 평가

각 전처리 과정에 따른 예측 모델의 성능 평가는 Mean Absolute Error (MAE)를 사용한다.

MAE는 다음 과정과 같이 계산된다. 결과 데이터의 개수가 $n$개일 때, 시간에 따른 예측값과 실제값의 차이를 계산한다. 이후 이 차이의 절댓값을 통해 부호를 제거하고 $n$개 데이터의 평균을 계산하여 MAE를 측정한다. MAE의 수식은 (1)과 같다.

그림. 1. Oklahoma 내 예측 지점과 격자점

Fig. 1. Forecasting and grid point in Oklahoma

../../Resources/kiee/KIEE.2022.71.9.1201/fig1.png

표 1. 기상데이터의 기상요소 정보

Table 1. Weather element information of weather data

기상요소

내용

ap_sfc

누적 강수량($kg/m^{2}$)

dlwrf_sfc

지구 표면 장파 복사량($W /m^{2}$)

dswrf_sfc

지구 표면 단파 복사량($W /m^{2}$)

pres

대기압($Pa$)

pwat

침전수($kg/m^{2}$)

hum

습도($kg/kg$)

cloud

운량($\%$)

spfh_2m

대기 중 수분 응축량($kg/m^{2}$)

tmax_2m

3시간 동안 지상 2m에서 측정한 온도 중 최대값($K$)

tmin_2m

3시간 동안 지상 2m에서 측정한 온도 중 최소값($K$)

tamp_2m

지상 2m에서 현재온도($K$)

tamp_sfc

현재 표면 온도($K$)

ulwrf_sfc

표면 장파복사량($W/m^{2}$)

ulwrf_atm

대기권 장파복사량($W/m^{2}$)

uswrf_sfc

표면 단파복사량($W/m^{2}$)

(1)
$MAE =\dfrac{1}{n}\sum_{i=1}^{n}\left |(y_{i}-\hat y_{i})\right |$

실제 관측값과 예측값의 차이가 작을수록 작은 MAE를 갖게 된다. 즉, MAE가 작을수록 좋은 예측 모델 또는 전처리 방식이라 할 수 있다.

3. 예측 모델에 따른 성능 비교

본 장에서는 논문에 사용되는 예측 모델들에 관해 설명한다. 예측에는 Python, Matlab을 활용하였으며, 사용되는 모델은 Linear Regression(LR), Random Forest(RF), Gradient Boost Machine(GBM), eXtra Boost Machine(XGBoost) 4종류를 활용한다. 각 모델은 예측 성능, 학습 속도, 필요 파라미터 등 개별적 특성이 있다. 따라서 각 모델을 온전히 사용하려면 기본적인 구조를 알고 있어야 한다.

3.1 Linear Regression

선형 회귀 분석은 매개 변수의 계수를 결정하여 파라미터에 따른 예측값을 출력하는 가장 기본적인 형태의 예측 모델이다. 일반적인 선형 회귀는 (2)와 같은 형태를 띠고 있다.

(2)
$\hat y =\beta_{0}+\beta_{1}x_{1}+\beta_{2}x_{2}\cdots$

(2)에서 $\hat y$은 실제 데이터 값을 추정해주는 값을 말하며 $x_{i}$는 각 데이터의 값들을 의미하고 $\beta_{i}$는 각 파라미터의 계수를 나타낸다. 선형 회귀의 학습 과정은 파라미터들의 계수를 결정한다. 계수는 선형 회귀 그래프가 실제 값과 비교하여 가장 적은 MSE를 갖는 방향으로 설정한다.

오차를 $E$라 하면 $E$는 (3)과 같이 구해진다. 여기서 $Y$값은 실제 데이터의 관측치, 실측치이고 $\hat Y$값은 기대치, 예측치를 의미한다.

(3)
$E =\sum_{i=1}^{n}(Y_{i}-\hat Y_{i})^{2}$

(3)(2)를 대입하면 (5)가 나온다.

(4)
$E =\sum_{i=1}^{n}(Y_{i}-\beta_{0}- x_{i} \beta)^{2}$

$\beta_{0}$를 구하기 위해 (4)를 $\beta_{o}$에 대해 편미분한다.

(5)
$\dfrac{\partial E}{\partial\beta_{o}}=\dfrac{\partial}{\partial\beta_{o}}\sum_{i=1}^{n}(Y_{i}-\beta_{0}-x_{i} \beta)$

$Y_{i}$와 $x_{i}$의 합을 $n$으로 나누면 각 변수의 평균을 의미한다. 따라서 $\beta_{o}$는 각 변수의 평균에 관한 식으로 정리된다.

(6)
$\beta_{o}=\overline{Y}- \beta\overline{x}$

(4)에서 $ \beta$를 구하기 위해 $ \beta$로 편미분을 한다.

(7)
$0 =\sum_{i=1}^{n}(x_{i}Y_{i}-\beta_{0}x_{i}-x_{i} \beta)$

앞선 과정에서 $\beta_{o}$를 구했기 때문에 (6)(8)에 대입한다.

(8)
$0 =\sum_{i=1}^{n}(x_{i}Y_{i}-(\overline{Y}- \beta\overline{x})x_{i}-x_{i} \beta)$

(8)을 정리하면 $ \beta$는 다음과 같다.(18)

(9)
$ \beta =\dfrac{\sum_{i=1}^{n}(x_{i}Y_{i}-\overline{Y}x_{i})}{\sum_{i=1}^{n}(x_{i}^{2}-\overline{x}x_{i})}$

3.2 Random Forest

Random Forest (RF)는 기본적으로 트리 방식을 사용한다. 트리 방식은 데이터를 분류하는 방식인데 특정 요소의 기준값에 따라 데이터를 분류하는 방식이다. 같은 방식으로 트리를 끝까지 분류하면 각 조건에 맞는 여러 집합이 형성된다. 이후 NPW가 입력되면 충분조건을 만족하는 집합의 평균값을 갖게 된다. 하지만 제약 조건이 없는 트리 방식은 너무 깊게 분류되어 불필요한 작업 시간을 늘리고 과적합(Overfitting)되어 예측 성능을 저하시킨다. 이러한 단점을 보완하는 방식이 RF이다.

RF는 모든 데이터를 사용하지 않고 선별적으로 데이터를 사용하여 예측 성능을 끌어올린다. 이를 배깅(Bagging)이라 하는데, 하나의 데이터를 $n$, 데이터의 전체 집합을 $N$이라 할 때, $n\in N$ 을 만족하는 데이터 집합이 있다고 가정한다. 이때 선별 과정을 통해 형성된 $N$의 부분 집합들을 $N^{(1)},\:N^{(2)},\:N^{(3)},\:\cdots ,\: N^{(i)}$이라 한다. 각각의 부분 집합들은 트리 과정을 통해 결정 트리를 결정하고 이를 $T^{(1)},\:T^{(2)},\:T^{(3)},\:\cdots ,\: T^{(i)}$이라 정의한다. 결정 트리에 의해 최종 분류된 데이터 집합을 $s_{j}$라 하면 이때의 분류 집합의 평균값을 $T_{s_{j}}^{(i)}$라 한다. 하나의 결정 트리가 있고 특정 예측 파라미터가 있을 때 조건을 만족하는 $T^{(i)}_{s_j}$를 갖게 된다. 하지만 RF 모델에서는 하나의 결정 트리가 아닌 데이터의 선별작업을 통해 다수의 결정 트리를 갖는다. 따라서 다수의 결정 트리가 있으면 특정 파라미터를 만족하는 여러 개의 $s$가 등장하게 된다. 따라서 RF에서 예측값은 (10)과 같이 정의된다(19).

(10)
$\dfrac{\hat Y =\sum_{k=1}^{K}\overline{T}^{(k)}}{K}(k vert k\in Z^{+})$

(10)에서 $\hat Y$는 입력데이터에 대한 예측값을 의미하고 $Z^{+}$는 양의 정수를 의미한다. RF 알고리즘은 데이터 복원 표본추출과 같은 랜덤 추출 기법을 이용하여 트리 구조를 형성한다. 반복 횟수 $k$ 마다 형성한 트리를 $T^{k}$라 하면, 시험 데이터의 통계적 분류로 $\overline{T}^{(k)}$가 결정된다. 결과적으로 RF의 랜덤 추출을 $K$번 반복 시행하면, $K$ 개($[\overline{T}^{(1)},\:\overline{T}^{(2)},\:\cdots ,\:\overline{T}^{(K)}]$)의 분류값이 도출되고 이에 대한 평균을 계산하면 $\hat Y$을 구할 수 있다.

3.3 Gradient Boost Machine

Gradient는 유클리드 공간에서 스칼라장의 최대 증가율을 의미하고 2차원 평면에서는 함수에 대한 기울기를 의미한다. 일반적으로 어떤 함수의 구간 내에서 극값을 찾으려면 미분을 통해 그 값을 찾아낸다. 하지만 주어진 함수 자체가 복잡할수록 직접 그 값을 찾아내는 과정이 어렵고 때론 불가능한 경우도 발생한다. 이때 gradient 정의를 활용하여 원래 기울기의 반대 방향으로 접근해 극값을 찾아간다. GBM은 이러한 gradient 특성과 트리 방식을 결합한 예측 모델이다.

최초 학습하기 이전의 예측 모델을 $F_{0}(x)$라 하고 $m$번의 학습을 한 모델을 $F_{m}(x)$라 한다. 예측 모델을 통한 오차를 $E(y,\:F_{m}(x))$라 정의한다. 예측 모델의 최종 목적은 오차의 최소화이므로 다음과 같이 표현할 수 있다.

(11)
$F_{M}(x)=\arg\min\sum_{i=1}^{n}E(y_{i},\:F_{m}(x))$

(11)에서 최솟값을 찾기 위해 함수 $E(y_{i},\:F_{m}(x))$를 $F_{m}(x)$에 대해 편미분한다.

$F_{m}(x)$의 gradient 함수를 $h_{m}(x)$라 정의하고 기존 $F_{m}(x)$에서 빼면 $F_{m+1}(x)$라는 학습된 모델이 수식(12)와과 같이 형성된다.

(12)
$F_{m+1}(x)= F_{m}(x)- h_{m}(x)$

하지만 $h_{m}(x)$를 직접 빼는 과정은 급진적 학습을 일으키므로 온전한 결과를 만들지 못한다. 따라서 이를 보정 하기 위해 매우 작은 상수를 나타내는 학습 상수 $\gamma$를 도입한다.

(13)
$F_{m+1}(x)=F_{m}(x)-\gamma h_{m}(x)$

GBM은 이러한 과정을 여러 번 반복하는 모델의 학습 과정을 통해 최종 예측 모델을 만들어 낸다(20).

3.4 Extreme Gradient Boosting

XGBoost는 GBM을 단점을 보완하기 위해 여러 기능을 추가한 알고리즘이다. 추가된 기능 중 하나는 과적함 방지이다. 과적합을 방지하기 위해 정규화 항 $\Omega(f)$을 기존 GBM 목적함수에 넣어야 한다. 정규화란 모델을 구성하는 파라미터의 크기를 줄이는 과정이므로, 먼저 모델 $f(x)$를 (14)와 같이 정의한다. $w$는 각 노드의 예측값, $q$는 각 데이터가 속한 노드 인덱스, $T$는 노드의 개수이다.

(14)
$f_{t}(x)=w_{q(x)},\: w\in R^{T},\: q:R^{d}\rightarrow 1,\:2,\:\cdots ,\:T$

이후 모델 $f$에 대한 정규화 항 $\Omega(f)$를 (15)와 같이 정의한다.

(15)
$\Omega(f)=\gamma T +\dfrac{1}{2}\lambda\sum_{j=1}^{T}w^{2}_{j}$

정규화 항에서 $\gamma$는 트리 모델에 대한 복잡도를 조정하는 계수이고, $\omega$에 제약을 주기 위한 $\lambda $를 도입한다. 목적함수의 정규화항을 추가하여 XGBoost에서는 GBM의 단점이던 과적합을 방지하고 파라미터의 조정이 가능하여 모델 사용자가 데이터에 맞는 모델로 조절할 수 있다.

기존 GBM에서는 순차적인 계산이 필요하므로 한 번에 모든 트리의 최적화가 불가능하다. 이를 해결하기 위해 XGBoost에서는 한 번에 하나의 트리를 추가하는 가산 전략을 사용한다. 각 단계별 전 단계에서 예측하지 못했던 부분을 예측하는 모델을 더하여 예측 값을 산출한다. XGBoost의 목적 함수는 다음과 같이 표현할 수 있다.

(16)
\begin{align*} obj^{(t)}=\sum_{i=1}^{n}l(y_{i},\:\hat y_{i}^{(t)})+\sum_{i=1}^{t}\Omega(f_{i})\\ =\sum_{i=1}^{n}l(y_{i},\:\hat y_{i}^{(t-1)}+f_{t}(x_{i}))+ \Omega(f_{t})\\ +constant \end{align*}

이에 추가로 (16)에 손실함수를 MSE로 정의하면 목적함수는 (17)과 같다.

(17)
\begin{align*} obj^{(t)}=\sum_{i=1}^{n}(y_{i}-(\hat y_{i}^{(t-1)}+f_{t}(x_{i})))^{2}\\ +\sum_{i=1}^{t}\Omega(f_{i})\\ =\sum_{i=1}^{n}[2(\hat y_{i}^{(t-1)}-y_{i})f_{t}(x_{i})+f_{t}(x_{i})^{2}]\\ + \Omega(f_{t})+constant \end{align*}

XGBoost는 병렬 연산이 가능하여 예측 수행시간이 훨씬 빠르고, 손실함수를 원하는대로 정의할 수 있다.(21)

3.5 기본 성능 비교

구체적인 실험에 앞서 논문에 사용된 예측 모델들의 기본적인 성능을 보여주기 위해 무작위로 한 지역을 선정해 예측 성능을 비교한다. 예측 성능 비교를 위해 선정된 지역은 위도 35.602, 경도 258.78 지역이다. 해당 지역의 태양광 발전을 예측하기 위해 사용된 기상데이터는 위도 36, 경도 259의 데이터

그림. 2. Linear Regression의 결과 그래프

Fig. 2. Linear Regression‘s result graph

../../Resources/kiee/KIEE.2022.71.9.1201/fig2.png

를 활용했으며, 동일 시간대에 같은 값들이 있을때에는 그 평균을 이용했다. 그림 2, 그림 3, 그림 4, 그림 5는 3월1일부터 50일 동안의 각 예측 모델과 실제 발전량을 나타낸 그래프이고, 실선은 각 모델별 예측값을 나타내며 점선은 실측값을 나타낸다. 따라서 오차 값을 비교해 볼 수 있으며, 표 2는 MAE를 통한 성능 비교 값이다.

LR는 반복적 학습 없이 입력과 출력의 선형적인 관계를 이용한 모델이므로 다른 모델에 비해 성능이 떨어질 수밖에 없다. 그림 2를 보면 그래프의 개형은 solution을 따라가지만 대부분 지연된 개형임을 알 수 있다. 또한 예측에 소요된 시간은 가장 짧다.

그림. 3. Random Forest의 결과 그래프

Fig. 3. Random Forest‘s result graph

../../Resources/kiee/KIEE.2022.71.9.1201/fig3.png

RF의 경우 다른 모델들과 다르게 최종 결과 산출 과정에서 평균을 이용하기 때문에 전반적으로 출력값들이 그림 3과 같이 중간 부근에 몰려 있고, 순간적으로 값이 크게 변하는 구간에서는 예측 정확도가 낮아지는 현상을 보인다. 그다음으로는 GBM과 XGBoost가 나란히 좋을 성능을 보여줬다. 두 예측 모델은 같은 이론을 배경으로 하고 있어 비슷한 형태의 출력 결과를 보여준다.

그림. 4. GBM의 결과 그래프

Fig. 4. GBM’s result graph

../../Resources/kiee/KIEE.2022.71.9.1201/fig4.png

그림 4를 보면 붉은색 예측값은 점선인 실측값과 유사한 개형을 가지며 실측값과 최대, 최소치를 가장 잘 따라가는 결과를 보여준다.

그림. 5. XGBoost의 결과 그래프

Fig. 5. XGBoost’s result graph

../../Resources/kiee/KIEE.2022.71.9.1201/fig5.png

그림 5에서는 XGBoost가 GBM에 비해 세부적으로 좋은 예측 결과를 보여주어 가장 낮은 MAE를 갖게 됨을 알 수 있다. 또한 예측에 소요된 시간이 가장 길다.

표 2. 예측 모델 성능 비교

Table 2. Forecasting model performance comparison

MAE

LR

RF

GBM

XGBoost

$\times 10^{6}$

4.3690

4.2711

4.1574

4.0753

예측 모델의 성능 실험은 표 2의 결과에서 XGBoost가 4.0753의 값으로 가장 낮은 RMSE를 기록하면서 가장 좋은 성능을 보였다. 예측에 소요된 시간은 LR이 가장 짧고 RF, GBM, XGBoost순으로 오래 걸린다.

이후 실험에서 기준이 필요하기 때문에 본 논문에서는 기본 예측 성능을 위 결과를 토대로 비교한다.

4. 전처리 방법 간 성능 비교

본 장에서는 앞서 설명한 4가지 예측 모델들을 이용하여 다양한 전처리 과정을 통해 예측 성능을 비교하여 분석한다. 모든 경우의 수를 실험하기에는 비슷한 실험이 많고 시간이 오래 걸리므로, 예측 실험은 최초 비교군을 설정하고 여러 개의 대조군을 만들어 가장 좋은 예측 방법을 추려내는 과정으로 진행한다. 모든 실험에서 사용된 공통 비교군의 전처리 요소는 예측지점에서 가장 가까운 측정지점의 데이터에서 한 개의 예측 시간별 데이터를 이용한다. 이후 각 실험에서 실험 부문에 해당하는 전처리 요소만을 변경하면서 도출된 최적의 파라미터를 토대로 각 모델별 성능을 비교 해석한다.

4.1 발전소 데이터 선정

제공된 기상데이터와 예측해야 하는 지점 98개의 장소는 다른 지점에 위치해 있다. 그림 1에서 붉은 점이 제공된 기상 데이터가 있는 지점이고, 검은 점이 예측해야 하는 지점이다. 따라서 예측하기 위한 기상데이터를 선정할 때 이러한 위치적 특수성을 고려할 수 있게 기상데이터를 선정해야 한다.

본 논문에서 진행한 데이터 선정방식은 가장 가까운 데이터만 이용한 ‘인접1’, 가까운 4지점의 가중 평균을 이용한 ‘가중4’, 위도, 경도 1이하의 데이터만 사용한 ‘가중C’로 3가지이다. 첫 번째 방식은 예측 지점을 2차원 유클리드 공간을 기준으로 가장 가까운 관측소의 기상데이터를 활용하는 ‘인접1’이다. 두 번째 방식은 예측 지점을 기준으로 가장 가까운 4개의 관측소를 선정한 다음 거리에 반비례하는 가중치를 곱해 가중 평균으로 최종 데이터를 결정하는 ‘가중4’이다. 구체적인 가중 평균 계산 과정은 다음과 같다.

길이가 1인 2차원 격자 평면을 형성한다. $i,\: j\in R$을 만족하면서 평면 위의 한 점을 $G(i,\:j)$라 한다. $G(i,\:j)$가 주변의 격자점과의 거리를 $L(i,\:j)$라 했을 때 가중 평균에서 사용하는 기준값을 정의할 수 있다.

(18)
$$ L_c=\max _G\left(\min _{i, j} L(i, j)\right) $$

$L_{c}$를 구하기 위해 임의의 점 $G(i,\:j)$에 대해 가장 가까운 격자점과의 거리를 계산한다. 그다음, 모든 $L(i,\:j)$에 대해 최댓값을 계산한다. 계산된 $L_{c}$는 격자점 내에서 형성할 수 있는 최댓값으로 가중치를 계산하기 위한 기준값으로 설정한다. $L_{c}$를 계산한 다음에 관측 장소를 기준으로 가장 가까운 관측소 4개를 선정한다. 선정된 관측소와 예측 지점의 거리를 $L_{1},\: L_{2},\: L_{3},\: L_{4}$라 하면 이후 과정은 다음과 같다.

(19)
$w_{k}= L_{c}- L_{k}(k = 1,\: 2,\: 3,\: 4)$

(20)
$WD_{total}^{(P)}=\dfrac{\sum_{k=1}^{4}w_{k}WD_{k}^{(P)}}{\sum_{k=1}^{4}w_{k}}$

$w_{k}$는 거리에 반비례한 가중치를 의미한다. $w_{k}$를 각 관측소에서 측정된 파라미터의 데이터 $WD_{k}^{(P)}$ ($WD_{k}^{(P)}\in R^{T\times N}$, $T$: 관측 시간, $N$: 관측 파라미터 개수) 에 곱하여 상대적으로 예측 지점과 관측소의 거리가 가까울수록 해당 파라미터가 더 높은 가중치를 가질 수 있도록 설정한다.

이후 가중평균을 통해 $WD_{total}^{(P)}$를 계산하고, $WD_{total}^{(P)}$를 예측 지점 $P$ 의 학습 데이터로 활용한다.

세 번째 방식은 거리에 대해 가중치를 주는 것은 동일하나 예측 지점을 기준으로 거리가 1이 넘는 관측소는 제외하고 원 내부의 관측소에 대하여 가중 평균을 이용해 최종 기상데이터를 계산하는 ‘가중C’이다.

표 3. 기상데이터 선정 방법에 따른 예측 결과

Table 3. Result according to weather data selecting method

구분

LR

RF

GBM

XGB

인접1

2.9635

2.8079

2.6357

2.6238

가중4

2.8489

2.7071

2.5445

2.5027

가중C

2.8586

2.7129

2.5496

2.5118

각 방법에 따른 실험 결과는 표 3과 같다. 가장 좋은 성능을 보여준 발전소 데이터 선정방식은 ‘가중4’이다. 이러한 결과로 볼 때 예측 성능에 영향을 줄 수 있는 모든 데이터를 활용할 때 가장 좋은 성능을 보여준다는 것을 알 수 있다.

4.2 데이터 예측 시간에 따른 전처리

앞선 개요에서 설명한 것과 같이 최초 기상 데이터는 한 시점에 대해 5개의 기상 예측 데이터를 갖고 있다. 또한 예측 시간별로도 5개의 데이터를 가지고 있다. 최초 12시간 전 기상 데이터부터 시작해서 15, 18, 21, 24시간 순으로 5가지이며, 이는 각각 fh1, fh2, fh3, fh4, fh5로 명명한다.

보편적으로 최초의 기상 데이터와 예측된 기상 데이터 사이의 시간이 짧을수록 실제 값과 비슷한 결과를 도출한다고 할 수 있다. 따라서 5개의 기상 예측 데이터와 관계없이 가장 좋은 예측 결과를 얻기 위해선 12시간 전 기상 데이터만을 활용하는 것이 바람직할 수 있다.

본 논문에서는 여러 개의 기상데이터를 활용할 때는 데이터를 직렬식으로 나열하여 사용했다. 기존 1개의 기상데이터만 있을 때는 기상데이터 요소에 따라 15개의 열을 나타냈지만, 기상데이터가 여러 개 사용될 때는 최초 15개 요소 옆에 나열하여 열을 늘리는 방식, 즉 예측 변수(predictor)를 늘리는 방향으로 진행했다.

데이터 관측 시간 전처리에 따른 예측 결과는 표 4와 같다.

표 4. 데이터 관측 시간 전처리에 따른 예측 결과

Table 4. Result according to data forecast hour

구분

LR

RF

GBM

XGB

fh1

2.9635

2.8079

2.6357

2.6238

fh2

2.7969

2.7606

2.5909

2.5382

fh3

2.6727

2.6778

2.6631

2.5892

fh4

2.6583

2.6630

2.4993

2.4194

fh5

2.6509

2.6327

2.4827

2.4387

예측 시간이 가장 짧은 fh1이 가장 좋은 결과를 낼 것이라는 예상과 달리 모든 기상데이터를 사용한 fh5와 4개의 기상데이터를 이용한 fh4가 낮은 MAE를 기록했다. LR, RF, GBM은 모든 기상데이터를 활용했을 때 가장 좋은 결과를 보여주고, XGBoost만 fh4의 경우에 높은 성능을 나타냈다. 표 4에 따르면 fh1, fh2, fh3에 비해 fh4, fh5는 큰 차이가 나지 않는다. 이는 모델 선택에 따른 파리미터 조정을 마치지 않았기 때문이다. 하지만 본 논문은 예측 데이터 전처리에 따른 모델별 성능을 비교하는 것이 목적이므로 XGBoost의 경우도 fh5를 활용한다.

4.3 상관관계에 따른 데이터 선별적 사용

제공된 데이터와 발전량 사이의 적합도를 계산하기 위해 상관관계를 계산한다. 상관관계는 $corr$이라는 변수를 뜻하며, 두 벡터 사이의 관계를 나타내주는 지표로 –1에서 1 사이의 값을 갖는다. 1이나 –1에 가까울수록 두 데이터 간의 관계성이 명확하고 0에 근접하면 상대적으로 연관성이 떨어진다는 것을 의미한다.

두 벡터 $X$와 $Y$가 존재하고 $X,\:Y\in R^{n}$을 만족하면 상관관계는 (21)과 같은 공식으로 구할 수 있다.

(21)
$corr =\dfrac{Cov(X,\: Y)}{\sigma_{X}\sigma_{Y}}=\dfrac{E(XY)-E(X)E(Y)}{\sigma_{X}\sigma_{Y}}$

$corr$은 두 벡터 $X$와 $Y$의 상관관계를 의미하고, $\sigma_{X}$와 $\sigma_{Y}$는 벡터 $X$와 $Y$의 모분산을 의미한다. $Cov(X,\:Y)$는 $X$와 $Y$의 공분산, $E(X)$는 평균을 나타내는 함수이다. 상관관계는 두 벡터의 공분산을 분산의 곱으로 나눔으로서 구해진다.

데이터에 사용된 요소는 벡터가 아닌 크기를 갖고 있는 다차원 행렬 형태이다. 따라서 대략적인 상관관계를 구하기 위해서 시간대별로 여러 곳에서 측정된 모든 요소의 평균을 구한 뒤 벡터 형태로 정렬한다. 모든 요소를 벡터로 변환한 뒤 상관관계를 구한 결과는 표 5와 같다.

표 5. 각 기상요소의 상관관계

Table 5. Correlation for each weather parameter

요소

상관관계

요소

상관관계

ap_sfc

-0.3349

tmax_2m

0.6315

dlwrf_sfc

0.4228

tmin_2m

0.6765

dswrf_sfc

0.9383

tamp_2m

0.6953

pres

-0.2319

tamp_sfc

0.6929

pwat

0.3314

ulwrf_sfc

0.6848

hum

0.5016

ulwrf_atm

0.7147

cloud

-0.5146

uswrf_sfc

0.8790

spfh_2m

0.6761

표 5를 참고하면 대부분의 요소들은 태양광 발전량과 높은 수준의 상관관계를 보인다. 가장 높은 상관관계는 0.9383의 값을 갖는 지구 표면 단파 복사량이며, 대기압의 경우 –0.2319로 가장 낮은 상관관계를 보였다.

상관관계에 따른 예측 성능을 알아보기 위해 상관관계에 따라 데이터를 선별적으로 사용했다. 상관관계에 따른 예측 성능 비교는 3가지 항목에 대해 진행했다. 첫 번째는 ‘전체’ 항목으로 상관관계에 상관없이 모든 데이터를 예측 변수로 사용한다. 두 번째 방법은 상관관계가 높은 데이터만을 사용한다. 상관관계가 높은 데이터를 분류하는 방법은 다음과 같다. 상관관계를 나타내는 값 중 중간값을 계산한다. 중간값을 기준으로 상관관계 집합을 두 집합으로 분류한다. 두 집합 중 상관관계가 낮은 집합의 평균을 구하고, 집합 내에서 평균보다 값이 낮은 요소들을 제거한다. 이를 본 논문에서는 ‘강한 상관관계’라 명명하며 ‘강’으로 표기한다. 세 번째는 ‘약한 상관관계’ 방식으로 상관관계가 낮은 요소들만 사용하며 ‘약’으로 표기한다. 방식은 상관관계를 나타내는 값 중 중간값을 계산한다. 중간값을 기준으로 상관관계 지합을 두 집합으로 분류한 뒤 두 집합 중 상관관계가 높은 집합의 평균을 구하고, 집합 내에서 평균값보다 값이 높은 요소들을 제거한다. 상관관계에 따른 데이터 선별 실험 결과는 표 6과 같다.

표 6. 상관관계에 따른 데이터 선별적 사용에 대한 예측 결과

Table 6. Result for selective use of data according to correlation

구분

LR

RF

GBM

XGB

전체

2.9635

2.8079

2.6357

2.6238

2.9620

2.8211

2.6479

2.6364

3.2474

2.8721

2.6773

2.6644

상관관계가 높다는 것은 태양광 발전량과 밀접한 관계를 갖는다는 의미이다. 본 논문 실험에서 실제 결과는 모든 데이터를 활용했을 때 가장 좋은 결과를 보여주었다. 학습 가능한 예측 모델들은 학습 과정에서 스스로 상관관계가 낮은 요소들에 대해서 낮은 가중치를 부여한다. 따라서 자연적으로 예측 요소를 선별하고 낮은 가중치를 가진 요소라 할지라도 결국 태양광 발전량에 영향을 주는 요소이기 때문에 특정 데이터를 제외하고 학습할 때는 오히려 성능이 낮아지는 경과를 보인다.

4.4 데이터 보간

기상 데이터의 특성상 결측값이 발생할 확률이 높고, 4.4절에서 많은 데이터가 높은 정확도를 만들어냈으므로 본 절에서는 보간법을 활용하여 예측한 뒤 그 결과를 비교 분석한다.

보간법에서는 두 가지를 고려해야 하는데 배수와 보간 방법이다. 배수는 우리가 데이터를 얼마나 늘리고자 하는지를 결정하는 수치이고, 보간 방법은 데이터가 늘어남에 따라 생긴 빈자리를 어떠한 방법으로 채우는지 결정한다. 본 논문에서 사용한 보간법은 배수는 2배로 고정하고, 보간 방법을 조절하며 실험을 진행했다. 데이터는 시간축을 중심으로 2배로 늘렸기 때문에 동일 날짜에 2가지 값을 갖게 된다. 이후 동일 날짜에 나온 2가지 값의 평균을 내어 예측 정확도를 측정한다.

대조군으로는 두 가지 보간법을 사용하는데, 첫 번째는 선형 보간이며 linear로 표기한다. 선형 보간은 빈 데이터를 앞, 뒤 데이터의 선형적 특성을 이용하여 보간하는 방식이다. 두 번째 방법은 2차 보간법이며 quadratic으로 표기한다. 2차 보간법은 앞선 선형 특성과 다르게 2차 함수 특징을 이용하여 기존의 선형 보간보다는 비선형적인 특성을 갖는다. 실험에 사용한 보간법을 ‘OFF’, ‘linear’, ‘quadratic’이라 명명하고 실험 결과는 표 7과 같다.

표 7. 데이터 보간에 따른 예측 결과

Table 7. Result according to data interpolation

구분

LR

RF

GBM

XGB

OFF

2.9635

2.8079

2.6357

2.6238

linear

3.9219

3.8174

3.5491

3.5300

quadratic

3.1055

3.4889

3.2785

3.2233

표 7의 결과를 보면 데이터 보간을 사용할때 예측 정확도가 이 더 떨어지는 것을 확인할 수 있다. 결국 보간 방법을 어떤 것을 사용하든간에 보간된 값은 실제 기상데이터가 아닌 예측값을 산출하기에 예측의 예측을 거듭하여 실제 결과는 더 나빠졌다. 위 실험은 단순 데이터의 양도 중요하지만, 데이터의 질이 더욱 중요하다는 것을 알려준다.

4.5 최적 파라미터 기반 모델별 비교

표 8은 앞선 전처리 과정에서 단계에 따라 가장 좋은 성능을 보여준 요소들만을 추출하여 학습한 예측 결과이다.

표 8. 최적 결과

Table 8. Optimal result

LR

RF

GBM

XGBoost

2.6502

2.5839

2.4778

2.3953

최종 예측 결과에서 모든 예측 모델들은 각 지역에 대해 최단거리에 해당하는 4개의 관측소 데이터를 활용했고 상관관계와 관계없이 모든 데이터를 학습에 사용했다. 또한, 4가지 예측 모델 모두 데이터 보간을 하지 않았을 때 가장 좋은 결과가 나왔다. 예측 시간에 대해서는 다른 경우를 사용했다. LR, RF, GBM은 예측 시간에 대해 모든 데이터를 사용했을 때 좋을 결과를 얻었고 XGBoost는 4가지만 사용했을 때 최적의 결과를 보여줬다.

5. 결 론

본 논문에서는 1994년부터 2007년까지의 태양광 발전량과 파라미터들을 활용하여 LR, RF, GBM, XGBoost 모델을 통해 2007년부터 2012년까지의 태양광 발전량 예측 정확도를 MAE를 통해 비교하였다.

예측에 걸린 시간은 LR, RF, GBM, XGBoost 순으로 빨랐고, 예측 정확도는 XGBoost, GBM, RF, LR 순으로 높았다.

인접한 1지점과 가중평균을 이용한 4개, 원형 관측소 선정, 데이터 관측 시간에 따른 fh1부터 fh5까지의 예측 시간, 강한 상관관계와 약한 상관관계에 따른 데이터의 선별적 사용, linear와 quadratic 보간법을 이용한 결과값을 볼 때 가중평균을 이용하여 4개의 관측소를 선정한 뒤 데이터 관측 시간에 따른 fh를 모두 사용하고, 상관관계에 상관없이 모든 데이터를 이용하고 데이터 보간법은 사용하지 않는 것이 예측 성능 향상에 도움이 되었다. 추가로 보간 실험에서는 기존 데이터를 이용해서 시간에 따른 데이터양을 인위적으로 늘리면 오히려 정확도가 떨어진다는 내용을 확인했다.

본 논문에서는 데이터 전처리 과정을 통해 예측 정확도 변화를 확인하여 예측 성능이 가장 좋은 모델과 파라미터를 도출했지만, 추가적인 성능 향상의 여지가 있다. 우선 예측 지점 선정에서는 고도를 고려하지 않고 산출하였고, 상관관계를 구할 때는 시간대별로 여러 곳에서 측정된 모든 데이터의 값을 평균 내어 계산했으므로 지역에 따른 특성을 무시하고 진행했다. 또한, 각 모델별로 최적의 파라미터를 찾지 않고 최근접 1점의 데이터에서 한 개의 예측 시간별 데이터를 이용하고 상관관계에 상관없이 모든 데이터를 사용하며 데이터 보간법은 사용하지 않은 공통된 파라미터를 이용하였다. 향후 연구에서는 양질의 데이터로 각각의 모델별 파라미터를 고려한 비교를 통해 예측 모델의 성능을 향상하고자 한다.

Acknowledgements

This work was supported by the National Research Foundation of Korea (NRF) grant funded by the Korea government (MSIT) (No. 2020R1C 1C1015111) This paper was written as part of Konkuk University’s research support program for ifs faculty on sabbatical leave in 2022.

References

1 
J. Lin, F. H. Magnago, 2017, Electricity Markets Theories and ApplicationsGoogle Search
2 
P. Donsion, 2016, Renewable Energy: Selected IssuesGoogle Search
3 
D. W. Edwards, 2017, Energy Trading & Investing: Trading, Risk Management and Structuring Deals in the Energy MarketsGoogle Search
4 
Ji-Young Eum, Yong-Ki Kim, 2019, Economical Analysis of the PV-linked Residential ESS using HOMER in KoreaDOI
5 
D. S. Kirschen, G. Strbac, 2004, Power System EconomicsGoogle Search
6 
T. Hong, 2010, Short term electric load forecastingGoogle Search
7 
Sejun Park, Hyunjin Kim, Duehee Lee, 2021, Probabilistic Electricity Load Forecasting Algorithm Based on the Gradient Boosting Machine and Laplace DistributionDOI
8 
Hyun-jin Lee, 2016, Use of the Moving Average of the Current Weather Data for the Solar Power Generation Amount PredictionDOI
9 
Seongmi Park, Chanwoo Oh, Sejun Park, Balho Kim, Duehee Lee, 2022, Optimal Distribution Investment Plan Based on the New Value Based Distribution System Reliability Assessment using Reliability IndexDOI
10 
A. J. Wood, B. F. Wollenberg, G. B. Sheble, 2013, Power Generation, Operation, and ControlGoogle Search
11 
Yukseltan Ergun, Yucekaya Ahmat, Humeyra Bilge Ayse, 2020.09., Hourly electricity demand forecasting using Fourier analysis with feedbackGoogle Search
12 
S. Weisberg, 1980, Applied Linear RegressionGoogle Search
13 
A. Wang, L. Xu, J. Xing, K. Liu, Y. Liang, Z. Zhou, 2021.10., Random-forest based adjusting method for wind forecast of WRF modelDOI
14 
J. Xie, T. Hong, 2016, Temperature scenario generation for probabilistic load forecastingDOI
15 
Y. W. Lee, K. G. Tay, Y. Y. Choy, 2018, Forecasting electricity consumption using time series modelGoogle Search
16 
M. Baek, D.H. Lee, 2017, Spatial and Temporal Day-Ahead Total Daily Solar Irradiation Forecasting: Ensemble Forecasting Based on the Empirical BiasingDOI
17 
2014, AMS 2013-2014 Solar Energy Prediction Contest, KaggleGoogle Search
18 
Choi Seung Yong, Han Kun Yeun, Kim Byung Hyun, 2012, Comparison of Different Multiple Linear Regression Model for Real-time Flood Stage ForecastingDOI
19 
Dong-Ha Shin, Jun-Ho Park, Chang-Bok Kim, 2017, Photvoltaic Generation Forecasting Using Weather Forecast and Predictive Sunshine and RadiationDOI
20 
Ji-Yoon Kim, Hun-Seok Lee, Jin-Seok Oh, 2020, Study on prediction of ship’s power using light GBM and XGBoostGoogle Search
21 
Yurim Lee, Hyunjin Kim, Dahan Lee, Chaijung Lee, Duhee Lee, 2019, Validation of Forecasting Performance of Two-Stage Probabilistic Solar Irradiation and Solar Power Forecasting Algorithm using XGBoostGoogle Search

저자소개

박세준(Sejun Park)
../../Resources/kiee/KIEE.2022.71.9.1201/au1.png

He is currently studying for a master's degree at Konkuk University's AI Energy Systems Laboratory.

His research interests are electric vehicles, ESS, and prediction.

https://orcid.org/0000-0002-0903-1845

최원석(Wonseok Choi)
../../Resources/kiee/KIEE.2022.71.9.1201/au2.png

He has been in Konkuk University AI system Laboratory since 2020.

His Majors are system operation optimization analysis and algorithm production

https://orcid.org/0000-0002-3294-8766

이두희(Duehee Lee)
../../Resources/kiee/KIEE.2022.71.9.1201/au3.png

He received the B.S. degree in electronic and electrical engineering in 2004 from Pohang University of Science and Technology, Pohang, Korea.

He received the M.S. and Ph.D. degrees in the electrical and computer engineering at The University of Texas at Austin, Austin, TX, USA, in 2009 and 2015, respectively.

He is currently an assistant professor in the electrical engineering department at the Konkuk University, Seoul, Korea.

http://orcid.org/0000-0002-6209-4423