박은총
(Eunchong Park)
1iD
김수연
(Sooyeon Kim)
1iD
손승우
(Seungwoo Son)
1iD
박서영
(Seoyoung Park)
1iD
이두희
(Duehee Lee)
†
-
(Dept. of Electrical Engineering, Konkuk University, Seoul, Korea.)
Copyright © The Korean Institute of Electrical Engineers(KIEE)
Key words
Gradient boosting machine, Support vector machine, Short-term forecasting, Ensemble, Wind power forecasting
1. 서 론
재생에너지 3020 이행계획이 점차 가시화되면서 신재생발전의 비중이 높아지고 전력시스템의 안정적인 운영이 중요한 화두로 떠오르고 있다[1]. 재생에너지 3020 이행계획은 2030년까지 20%의 재생에너지 발전량 비중 달성을 목표로 하고 있으며, 신규 재생에너지 발전설비의 95% 이상을
태양광(63%)과 풍력(34%)으로 보급하는 것을 목표로 한다[2]. 특히 우리나라의 신재생에너지 보급 및 기술개발 상업의 3대 전략 부분 중 하나는 풍력발전에 투자하는 것이다[3]. 풍력발전은 기존의 화석에너지 및 원자력을 이용한 발전원과 달리 친환경적이다[4]. 그러나 풍력발전량은 날씨와 위치에 큰 영향을 받기 때문에 원하는 시간에 원하는 출력을 내기 어렵다[5]. 동시에 계통 운영자도 풍력발전량과 풍력발전량이 계통에 미치는 영향을 알기 어렵다.
풍력발전량이 전력 계통에 미치는 영향을 합리적이고 효과적으로 분석하기 위해서는 풍력발전량을 정확히 예측해야 한다[6]. 풍력발전량을 정확히 예측하기 위해서는 아래 3가지 특징을 반드시 고려해야 한다. 첫째, 풍력발전량은 예측된 기상 데이터에 크게 의존하는데, 예측된
기상 데이터의 정확도는 다시 주변 지역의 지형과 규모에 의존한다[7]. 둘째, 한 개의 예측 모델을 이용해서 풍력발전량을 예측하는 것보다, 여러 모델을 동시에 사용하는 것이 더 낮은 예측 오차를 갖는다[8]. 셋째, 기상 데이터의 예측 목표 시간이 예측을 수행 시점에서 멀어지면 멀어질수록 해당 기상 데이터의 예측 오차는 점점 커진다. 따라서 기상 데이터의
예측 목표 시간과 예측을 수행하는 시간의 차이를 고려하여 예측 모델을 구축한다[9].
우리는 본 연구에서 위의 3가지 특징을 고려해서 새로운 풍력발전량 예측 기법을 개발한다. 우리는 새로운 예측 기법을 검증하기 위해서 거래소에서 주최한
풍력발전량 예측 대회에 참가했다. 예측 대회에서는 최신 단기예보 데이터가 주어진 시점부터 4시간 동안 4시간 이후부터 54시간 동안의 풍력발전량을
예측한다. 특별히 풍력발전량의 예측 오차를 낮추기 위해 다음 네 가지 방법을 활용한다. 첫째, Support Vector Machine (SVM),
Gradient Boosting Machine (GBM), Ridge Regression의 예측 알고리즘의 결과들을 조합하여 최종 예측 결과를 도출하여
예측 오차를 낮춘다. 둘째, 예측된 기상 데이터의 예측 정확도에 따라 시간별로 예측 모델을 사용한다. 동일한 시간 단위로 기상 데이터를 묶어 시간별
개별 모델을 만들고 병렬연산으로 모델을 학습한다. 셋째, 보간법을 이용하여 풍력발전량 관측값을 확장하여 출력 변동성의 편차를 완화하여 예측 오차를
낮춘다. 넷째, 주변 지역의 기상 데이터와 이전 시간의 기상 데이터를 동시에 사용한다. 이를 종합한 본 연구의 기여도는 다음과 같다.
$\bullet$ 시간별 모델을 구축하고 병렬연산하여 예측 성능 향상
$\bullet$ 다양한 예측 모델을 조합하여 예측 성능 향상
$\bullet$ 풍력발전량 데이터에 보간법을 시행하여 예측 편차 축소
$\bullet$ 풍력 발전량 데이터를 재구성하여 평균값을 수렴 방지
2. 사례 조사
이 장에서는 본 연구와 관련된 국내외 풍력발전량 예측에 대한 논문들을 소개하고 비교한다.
2.1 국내 연구 사례
국내에서는 풍력발전량의 예측 오차를 낮추기 위해 예측 알고리즘과 데이터 선별방식에 관한 연구가 진행되어왔다. 첫째, 이론적 모델, 회귀 모델, 인공
신경망 모델의 예측값을 비교하여 예측 오차가 낮은 모델을 찾아 풍력발전량을 예측했다[10]. 각 모델의 예측 정확도를 비교하여 최적의 모델을 선정하거나 최적 모델을 선정하여 예측 오차를 낮출 수 있지만, 각 모델이 갖는 단점을 극복하기는
어렵고, 예측 오차를 낮추기 어렵다는 단점이 존재한다.
둘째, 각 모델의 예측값을 산술평균한 Ensemble 모델을 이용하여 풍력발전량을 예측했다[11]. Ensemble 모델을 활용하면 각 모델의 장점을 활용할 수 있지만, 예측 정확도를 고려하지 않은 Ensemble 모델은 오히려 예측 오차가 낮은
단일 모델보다 예측 오차가 클 수 있다. 따라서 Ensemble 모델의 계수 산정 시, 각 모델의 예측 오차를 고려하여 계수를 산정해야 한다.
셋째, SVM을 이용하여 단기 풍력발전량을 예측했다[12]. 풍력발전량의 변동성의 특징을 파악하는 데는 한계가 있는 시계열분석과 회귀분석 모델의 단점을 보완하기 위해 SVM을 이용하여 예측 오차를 낮추고
있다. 이러한 SVM의 장점을 활용하기 위하여, 본 논문에서도 SVM을 사용한다.
넷째, 관측 데이터와 같은 시점의 데이터를 얻기 위해 3시간 단위로 풍력발전량의 평균을 구하여 3시간 간격 정수 단위 기상 데이터를 예측한 후 풍력발전량을
예측했다[13]. 하지만 풍력발전량의 특성을 고려하지 않고 평균하여 사용하면 풍력발전량 데이터가 왜곡되어 정확한 예측이 어렵고, 예측 오차가 높아지는 단점이 있다.
본 논문에서는 최신 기계학습 기법인 SVM, GBM을 이용한 모델을 제작한다. 또한, 이를 토대로 각 모델의 예측 오차를 고려한 가중치를 부과한 Ensemble
모델을 제작하고 풍력발전량을 예측하였다.
2.2 해외 연구 사례
해외에서도 풍력발전량 예측 오차를 낮추기 위해 예측 알고리즘과 데이터 선별 및 활용 방안에 관한 연구가 진행되고 있다. 첫째, 3개의 층을 갖는 인공
신경망 모델을 이용하여 풍력발전량을 예측했다[14]. 그러나 인공 신경망 모델의 층 개수가 늘어남에 따라 연산량과 시간이 증가한다. 이를 방지하기 위해 여러 모델을 사용한다. 여러 모델을 결합하여
사용하면 하나의 모델의 단점을 다른 모델이 보완하여 연산속도가 느려지지 않으면서 오차를 줄일 수 있다. 둘째, 데이터 분석을 통해 풍속과 풍향을 결합하고
Ensemble 모델을 형성하여 변동성의 편차를 완화한 부드러운 모델을 형성하여 풍력발전량을 예측했다[15]. 풍속과 풍향을 분리하여 사용함으로 예측 오차를 낮췄다. 하지만, 데이터의 수가 증가할수록 연산속도가 느려지는 단점이 존재한다. 또한, 상관관계가
낮거나 개별적으로 고려해주어야 하는 데이터를 묶게 되면 예측 오차가 커지는 단점이 존재한다. 셋째, 예측지점과 800m에서 40km 내에 있는 주변
지역의 데이터를 이용하여 예측했다[16]. 바람은 공기의 흐름으로 당연히 주변 지역의 영향을 받는다. 예측지점의 데이터만을 이용할 때보다 주변 지역의 데이터를 이용하면 예측 오차가 낮아진다.
범위를 지정하여 범위 내의 데이터를 이용하였지만, 오차가 가장 적은 조합이라고 할 수는 없다.
따라서 본 논문에서는 주어진 데이터를 풍력발전량과의 상관관계를 고려하여 확장한다. 또한, 주변 지역의 기상 데이터와 관측 지점의 풍력발전량을 결합하여
예측 오차를 낮춘다.
3. 예측 데이터 및 데이터 구조
이 장에서는 본 연구의 알고리즘을 검증하기 위해 참가한 풍력발전량 예측 대회의 특징과 단기예보 기상 데이터 및 추가로 활용한 데이터 구조를 설명한다.
3.1 단기예보 기상 데이터
우리는 예측 알고리즘의 정확도를 평가하기 위해 풍력발전량 예측 대회에 참가했다[17]. 대회에서는 8월 12일 18시부터 8월 14일 24시까지 54시간 동안의 풍력발전량을 예측한다. 1시간 단위로 풍력발전량을 예측하므로 예측값의
개수는 55개가 된다.
단기예보 기상 데이터는 발표시간부터 이틀 뒤 24시까지의 예보를 3시간 간격으로 제시한다. 또한, 단기예보 기상 데이터는 매일 02시부터 23시까지
제시되므로, 8월 12일 14시에 발표된 단기예보 기상 데이터를 활용하였다. 단기예보 기상 데이터의 변화를 반영하기 위하여, 동일 08시와 11시에
발표된 데이터도 활용하였다.
3.2 기상 데이터와 지역 기상 데이터
미래 시간의 풍력발전량은 미래 시간의 예측 데이터를 학습하여 예측한다. 우리가 사용한 학습 데이터에는 단기예보 기상 데이터, 시간 정보, 그리고 단기예보
기상 데이터에서 추출된 데이터가 있다. 단기예보 기상 데이터는 기온, 습도, 풍향, 풍속, 하늘의 상태(구름의 양), 강수확률로 구성되어 있다.
풍력발전량 예측의 경우 주변 지역 기상 데이터를 활용한다. 바람은 지역 사이의 압력 차이로 인해 발생하기 때문에 한 지역의 풍속과 풍향은 그 주변
지역의 풍속과 풍향에 영향을 받기 때문이다. 표 1은 주어지는 기상 데이터의 구조를 보여주고 있다. 8월 12일 14시에 가장 최신의 단기예보 기상 데이터가 주어지고, 데이터를 바탕으로 4시간 동안
예측값을 도출한다. 표 2와 3에는 각각 제주 풍력 발전소의 발전량 예측과 경주 풍력 발전소의 발전량 예측을 위한 기상 데이터 선별 과정이 제시되어 있다.
표 2에서는 서귀포시의 7개의 지역 중 표선면, 구좌읍, 성산읍, 조천읍, 남원읍, 효돈동, 중앙동의 기상 데이터를 사용한 예측 모델의 정확도가 26.7%로
가장 낮은 값을 가지는 것을 확인할 수 있다. 또한, 표 3에서는 경주시 양남면과 양북면 기상 데이터를 같이 이용할 때의 오차가 양남면과 양북면 각각의 기상 데이터만을 이용할 때보다 낮은 것을 확인할 수 있다.
따라서 예측 대회에서는 관측 지역 기상 데이터와 주변 지역의 기상 데이터를 함께 이용한다.
표 1. 단기예보 기상 데이터 구조
Table 1. Short-term forecasting whether data structure
날짜
|
시
|
풍력
발전량
|
기상 데이터
|
8월 12일
|
14시
|
y14
|
8월 12일 14시
|
8월 12일 11시
|
8월 12일 8시
|
15시
|
y15
|
|
|
|
16시
|
y16
|
|
|
4시간 후
|
17시
|
y17
|
|
4시간 후
|
|
18시
|
y18
|
4시간 후
|
|
|
19시
|
y19
|
|
|
7시간 후
|
20시
|
y20
|
|
7시간 후
|
|
21시
|
y21
|
7시간 후
|
|
|
22시
|
y22
|
|
|
10시간 후
|
23시
|
y23
|
|
10시간 후
|
|
24시
|
y24
|
10시간 후
|
|
|
표 2. 개별 주변 지역 및 지역 그룹별 nMAE 오차
Table 2. nMAE errors of individual region and region groupss
지역
|
표선면
|
구좌읍
|
성산읍
|
조천읍
|
남원읍
|
효돈동
|
중앙동
|
nMAE
|
37.6%
|
29.8%
|
38.6%
|
27.6%
|
31.8%
|
29.3%
|
28.6%
|
지역
|
효돈동, 중앙동, 구좌읍
|
표선면, 구좌읍, 효돈동, 중앙동, 성산읍
|
nMAE
|
29.6%
|
29.9%
|
지역
|
표선면, 구좌읍, 효돈동, 중앙동, 조천읍
|
표선면, 구좌읍, 조천읍, 남원읍, 효돈동, 중앙동
|
nMAE
|
29.5%
|
26.7%
|
표 3. 경주 포함 지역 선별
Table 3. Selecting included areas in Gyeongju
지역
|
양남면
|
양북면
|
nMAE
|
16.8%
|
15.1%
|
지역
|
양남면, 양북면
|
nMAE
|
13.3%
|
3.3 추가 활용 데이터
예측 오차를 낮추기 위해 기상 데이터로부터 추가적인 데이터를 추출하여 학습 데이터에 추가한다. 첫째, 풍속의 동·서와 남·북 성분을 이용한다. 기상
데이터의 풍속 $\vec{V}$와 풍향 각 $\Phi$를 이용해서 식(1)과 (2)를 이용하여 $\vec{V}$를 남·북 성분 $u$와 동·서 성분 $v$로 분리한다.
둘째, 풍속의 세제곱 값을 미래 학습 데이터에 추가한다. 그림 1에 제시된 것처럼 풍속과 풍력발전량의 관계는 3차 함수 형태이다.[18] 따라서 풍속의 세제곱 값은 풍력발전량과 선형 관계이므로 풍속의 세제곱 값을 예측에 활용한다.
그림. 1. 풍속과 풍력발전량의 관계
Fig. 1. Relationship between wind speed and wind power
셋째, 같은 정확도를 가진 기상 데이터를 추가한다. 바람은 공기의 흐름이므로 해당 시간의 속과 풍향은 이전 시간의 풍속과 풍향에 영향을 받는다. 풍력발전량은
1시간 단위로 예측되기 때문에, 1시간 전의 풍속과 풍향 데이터를 추가한다. 정확도가 오염되는 것을 막기 위해서 이전 시간의 데이터를 추가할 때,
같은 정확도를 가진 기상 데이터를 추가한다. 즉, 목표 시간에서부터 같은 시간 이전에 예측된 기상 데이터만을 추가한다.
4. 예측 기법 소개
이 장에서는 예측 모델에서 사용한 SVM, GBM, Ensemble 방법을 설명한다.
4.1 Support Vector Machine (SVM)
SVM은 두 개의 범주 중 하나의 범주에 속하는 데이터 집합이 주어진 상태에서 새로운 데이터가 주어지면 새로운 데이터가 어느 범주에 속하는지 판단할
수 있는 비확률적인 선형 분류 모델이다. 그림 2에는 선형 분류 모델의 경계를 구하는 과정이 제시되어 있다. SVM은 커널 함수를 통해 데이터를 변환하여 다른 공간으로 사상시킨다. 형성한 모델은
데이터를 구분하는 경계로 표현한다. 이때 가장 큰 폭의 경계를 찾는 것이 SVM 알고리즘이다. SVM 알고리즘은 선형뿐 아니라 비선형 분류에 대해
사용이 가능하다. 비선형 분류 시 커널 함수를 사용하여 데이터를 고차원으로 확장할 수 있으며, 데이터의 경계면이 중첩되는 부분을 찾을 수 있어 예측
오차를 줄일 수 있다. 이러한 SVM 알고리즘을 활용하여 회귀 모델을 형성하면, 노이즈는 포함하지 않는 지지 벡터만을 사용하므로 과적합의 위험이 낮다[19].
그림. 2. 커널 함수를 이용한 데이터 변환
Fig. 2. Data conversion with a kernel function
4.2 Gradient Boosting Machine(GBM)
GBM은 회귀와 분류에 이용할 수 있는 예측 알고리즘이다. 의사결정 트리와 같은 예측 오차가 높은 약한 예측 모델들의 예측 결과를 가중평균하여 최종
결과를 예측한다. 그림 3에 제시되어 있듯 약한 예측 모델을 서로 다른 가중치로 반복적으로 결합하여 예측 오차가 낮은 최종 모델을 만든다. 여러 개의 단일 의사결정 트리를
합치므로 과적합을 예방할 수 있으며, 결합하기 전에 단일 의사결정 트리의 예측 오차가 높아도 여러 개의 의사결정 트리가 결합한 최종 트리를 활용한
예측 모델은 예측 오차가 낮다[20].
4.3 Ensemble 방법
Ensemble 방법은 다양한 모델을 결합하여 예측도가 높은 모델을 만든다. Ensemble 방법을 이용하여 가중치를 주어 예측값이 지나치게 편향되는
것을 막을 수 있으며, 개별 모델의 부족한 부분을 보완한다. 개별 모델들은 학습 데이터에서 각 모델이 잘 학습하는 특정 부분이 있다. 따라서 모델들을
결합한다면 모든 데이터 부분에서 예측 오차를 낮출 수 있다. 결합 방식에는 일반평균과 가중평균이 있다. 본 논문에서는 여러 모델의 예측 결과를 미리
확인하고 가중평균을 취하여 최종 모델을 만든다. 가중치는 먼저 예측한 각 모델의 예측 정확도에 비례한다[21].
그림. 3. GBM을 이용한 예측 모델 개선 과정
Fig. 3. Model updating with GBM
5. 최적 예측 구조 도출
이 장에서는 우리가 사용한 최적 예측 구조를 도출하는 과정과 최적 예측 구조를 설명한다. 우리는 이전 예측 구조의 문제점을 다음 예측 구조에서 개선하여
차례로 최적 예측 구조를 확립한다. 예측 오차를 비교하여 예측 오차가 낮아졌음을 확인한다. 그림 4는 예측 구조를 확립하는 5단계의 과정을 보여준다.
그림. 4. 예측 모델 구축과정
Fig. 4. Process of building forecasting model
최적 예측 구조 도출을 위한 우리들의 접근 방법은 다음과 같다. 첫째, 같은 정확도를 가진 기상 데이터를 사용하기 위해 시간별로 예측 모델을 만든다.
단기예보 발표 시점에서 4시간 후부터 3시간 단위로 주어지는 단기예보 기상 데이터 중에 목표 예측 시간에서부터 가장 가까운 데이터만을 사용하여 예측
모델을 형성한다. 둘째, 목표 시간에 해당하는 기상 데이터는 목표 시간 전의 기상 데이터와 연관되어 있으므로 시간별 예측 모델을 형성할 때 이전 시간의
기상 데이터를 추가로 활용한다. 이때 같은 예측 정확도를 가진 기상 데이터를 활용하기 위해서 최신 기상 예보가 아닌 이전의 기상 예보 데이터를 추가한다.
셋째, 기상 반복법을 이용해 3시간 간격의 기상 데이터를 1시간 간격으로 확장하여 풍력발전량과 기상 데이터의 시간 간격을 같게 한다. 넷째, 풍력발전량은
변동성이 크기 때문에 1시간 단위가 아닌 20분, 30분 단위로 값이 바뀔 수 있다. 우리는 풍력 보간법을 이용하여 1시간 단위의 풍력발전량을 20분
단위로 쪼개어 분 단위의 변동성에 대응한다. 다섯째, 풍력발전량 데이터를 재구성하여 예측값이 평균값으로 수렴하는 것을 피한다.
식(3)에 따라 평균 절대 오차(MAE: mean absolute error)를 이용하여 예측 모델들의 예측 정확도를 평가한다.
여기서 $i=1,\:...,\:n$는 변수의 인덱스, $n$은 변수의 개수를 의미한다. $y_{i}$은 예측값, $x_{i}$은 실제값, $e_{i}$은
오차를 의미한다.
5.1 예측 모델 1: 기상 데이터 정확도에 따른 시간별 병렬 예측
현재 시점에서 예측 목표 시간까지의 시간이 커지면 커질수록 기상 데이터의 예측 오차는 커진다. 정확도가 다른 기상 데이터를 같이 사용하면 예측 오차가
커지기 때문에 시간별로 예측 모델을 55개를 형성한다. 형성한 예측 모델은 병렬연산을 이용하여 동시에 학습한다. 그러므로 예측 모델 1에서는 그림 5와 같이 18시의 예측 모델을 형성할 경우 기상 데이터가 발령된 시점으로부터 4시간 후의 데이터만 모아 이용한다.
그림. 5. 예측 모델 1의 데이터 구성
Fig. 5. Data configuration of the forecasting model 1
5.2 예측 모델 2: 동일 정확도의 기상 데이터 추가
풍속과 풍향은 공기의 흐름이므로, 이전 시간의 풍속과 풍향의 영향을 받는다. 그러므로 예측 모델 2에서는 해당 시간의 풍력 예측 시 그 이전 시간의
풍속과 풍향의 데이터를 추가한다. 단, 예측 모델 1에서 같은 정확도를 가진 기상 데이터만을 사용하였으므로 이전 시간의 기상 데이터를 추가할 때도
같은 정확도를 가진 기상 데이터만 추가한다. 예측 모델 1과 같이 보간법을 이용하여 기상 데이터를 1시간 간격으로 변형하여 모델에 적용하였다. 그러므로
예측 모델 2에서는 그림 6과 같이 해당 시간의 풍력 예측 시 그 이전 시간의 풍속과 풍향의 데이터를 추가한다. 단, 예측 모델 1에서 같은 정확도를 가진 기상 데이터만을 사용하였으므로
이전 시간의 기상 데이터를 추가할 때도 같은 정확도를 가진 기상 데이터만 추가한다.
그림. 6. 예측 모델 2의 데이터 구성
Fig. 6. Data configuration of the forecasting model 2
5.3 예측 모델 3: 반복법을 활용한 기상 데이터 확장
풍력발전량은 1시간 간격으로 주어지고 기상 데이터는 3시간 간격으로 주어지기 때문에 예측 모델 1과 예측 모델 2에서는 보간법을 이용하여 기상 데이터를
1시간 간격으로 확장하였다. 그러나 보간법을 이용하여 추가된 데이터는 허위의 값이므로 예측 모델의 오차를 높인다. 예측 모델 3에서는 그림 7과 같이 반복법을 이용해 1시, 2시, 3시 풍력 데이터에 대해 모두 3시의 기상 데이터를 적용하여 실제 기상 데이터만을 활용함으로써 예측 오차를
낮춘다.
그림. 7. 보간법을 이용하지 않은 예측 모델
Fig. 7. Forecasting model with a paring method
5.4 예측 모델 4: 풍력 보간법 이용
풍력 데이터는 한 시간 단위로 측정되어 있으며 한 시간 단위의 풍력발전량의 변동성은 편차가 크다. 한 시간 간격의 풍력 데이터 사이에 보간법을 이용하여
3열의 데이터를 제작하여 값을 추가하게 되면 변동성이 큰 풍력의 편차를 따라가면서 예측할 수 있어서 예측 오차를 줄일 수 있다. 또한, 그림 8과 같이 1시와 2시의 풍력발전량 데이터 $y_{1}$, $y_{2}$사이에 1시 20분과 40분의 풍력발전량 데이터 $y_{12}$, $y_{13}$을
추가하여 분 단위로 발생하는 변동성에 대응한다.
그림. 8. 풍력 데이터 확장 모델
Fig. 8. Wind data expansion model
5.5 예측 모델 5: 풍력 데이터 재구성
예측 모델 4의 경우 55개의 시간별 모델에 응답변수가 3열일 경우 총 165개의 예측 모델을 제작하므로 연산시간이 오래 걸린다. 또한, 하나의 기상
데이터가 9개의 풍력 데이터에 대응되기 때문에 예측 결과가 평균값으로 수렴한다. 이를 해결하기 위해서 풍력 데이터를 세 시간 간격으로 나누어 동시에
세 개의 모델을 제작하여 데이터를 재구성한다. 보간법을 사용하여 데이터가 증가했기 때문에 보간법이 적용된 데이터를 묶어서 처리하면 연산속도가 빨라진다.
그리고 기상 데이터를 3개의 풍력발전량 데이터에 대응시키므로 평균값으로 수렴하는 것을 방지한다. 그림 9에 제시되어 있듯 1시의 풍력발전량을 예측할 경우, 1시부터 7시까지 발표된 세 개의 기상 데이터와 풍력발전량 데이터를 대응시켜 연산시간과 예측 오차를
줄인다.
그림. 9. 풍력 데이터 재구성 모델
Fig. 9. Wind data reconstruction model
5.6 Ensemble 방법의 최적 가중치 도출
Ensemble 방법의 각 예측 모델 별로 가중치를 도출한다. 우리는 제주도의 2018년 8월 12일 18시부터 8월 14일을 검사 데이터로 정하여
예측 오차를 계산한다. 예측 오차의 역수를 기본 가중치로 정하였다. 기본 가중치만 검사하는 것이 아니라, 기본 가중치를 조금씩 바꾸어 가면서 다양한
가중치에 대해서 예측 오차를 검사했다. 표 4에서 볼 수 있듯이 GBM을 이용한 예측 결과에는 0.9, SVM을 이용한 예측 결과에는 0.1, Ridge를 이용한 예측 결과에는 0의 가중치를
적용한 가중 평균값의 예측 오차가 가장 낮다. 따라서 이 가중치를 최적 가중치로 삼고 최종 모델에 사용하였다.
표 4. 각 모델 Ensemble 가중치와 nMAE
Table 4. Ensemble weight and nMAE of each model
|
Weight
|
SVM
|
0.1
|
0.2
|
0.05
|
0.1
|
0.15
|
GBM
|
0.8
|
0.7
|
0.9
|
0.9
|
0.8
|
Ridge
|
0.1
|
0.1
|
0.05
|
0
|
0.05
|
nMAE
|
17.82%
|
18.25%
|
17.31%
|
17.15%
|
17.58%
|
5.7 최종 예측 모델 구축
최종 예측 모델 구축과정은 그림 10에 제시되어 있다. 시간별 병렬 예측 구조, 풍력 보간법, 풍력 데이터 재구성을 통해 구축한 최적 예측 모델을 바탕으로 SVM, GBM, Ridge
알고리즘을 이용하여 형성한 예측 모델을 학습한다. SVM과 GBM을 이용한 학습결과를 앞 절에서 도출한 최적 가중치를 적용하여 최종 예측 결과를 도출한다.
그림. 10. 최종 예측 모델의 절차도
Fig. 10. Flowchart of the final forecasting model
6. 실험 결과
예측 모델을 순차적으로 보완함에 따라 개선된 모델을 실험군으로 개선되기 전 모델을 대조군으로 삼아 예측 모델 1부터 예측 모델 5까지 순서대로 결과를
비교하고 예측 모델 5가 최적 예측 모델임을 보인다.
6.1 실험 환경
실험 다음과 같다. 제주도 풍력발전량 예측에는 표선면, 효돈동, 구좌읍, 중앙동, 남원읍, 조천읍의 기상 데이터를 사용한다. 경주의 풍력발전량 예측에는
양북면, 양남면의 기상 데이터를 사용한다. GBM을 이용하여 예측 모델을 학습시킨다. 업데이트 수는 1000개이고 learning rate는 0.3이다.
예측 모델 개선 과정의 각 모델의 Plot은 다음과 같다. 그림 11부터 15까지는 제주의 데이터를 이용한 값이며 그림 16는 경주 데이터를 이용한 모델 5의 예측 결과이다. 그림에서 푸른선은 예측값을 붉은선은 실제값을 의미한다. 주어진 데이터 중 제주도는 2018년 8월
10일부터 8월 14일까지 경주는 2019년 6월 23일부터 6월 27일까지 Test set으로 설정하여 예측 모델을 학습하여 예측 오차를 도출한다.
6.2 예측 모델 1의 결과
기상 데이터의 정확도에 따라 시간별 병렬 예측 구조를 이용한 예측 모델 1의 결과를 표 5과 그림 11에 제시되어 있다. 그림 11에서 볼 수 있듯이 풍력발전량이 초반에 높고, 후반에 낮아지는 경향은 비슷하다. 하지만, 10시간 후와 20시간 후, 40시간 후 등 피크 발전량을
예측하지 못했고, 후반부로 갈수록 예측 오차가 높아진다. 표 5에 따르면 26.72%의 nMAE를 가진다.
표 5. 예측 모델 1의 결과
Table 5. Result of forecasting model 1
|
8.10
|
8.11
|
8.12
|
8.13
|
8.14
|
MAE
|
27.39%
|
27.68%
|
26.72%
|
28.91%
|
27.38%
|
그림. 11. 예측 모델 1의 결과
Fig. 11. Result of forecasting model 1
6.3 예측 모델 2의 결과
같은 정확도를 가진 기상 데이터를 추가한 예측 모델 2의 결과를 표 6과 그림 12에 나타낸다. 예측 모델 2의 경우에는 예측 모델 1보다 피크 지점인 18시 근처의 예측값과 실측값의 오차가 줄어들었다. 또한, 예측 모델 1보다
후반부에서의 예측 오차가 낮아졌다. 그러나 40시 이후의 후반부 예측 오차가 여전히 높고 18시 근처의 피크를 잡지 못한다. 표 6에 따르면 평균적으로 24%의 nMAE를 가진다.
표 6. 예측 모델 2의 결과
Table 6. Result of forecasting model 2
|
8.10
|
8.11
|
8.12
|
8.13
|
8.14
|
MAE
|
23.97%
|
25.24%
|
23.44%
|
23.17%
|
24.72%
|
그림. 12. 예측 모델 2 결과
Fig. 12. Result of forecasting model 2
6.4 예측 모델 3의 결과
반복법을 통해 확장된 기상 데이터를 사용한 예측 모델 3의 결과를 표 7와 그림 13에 나타낸다. 예측 모델 3에서는 실제 기상 데이터만을 이용하여 예측 모델을 형성하기 때문에 예측 모델 2번보다 전체적으로 오차가 낮아졌다. 특히
후반부의 예측 오차가 예측 모델 2번보다 낮아졌다. 그러나 5시의 실측값은 피크 형태인데 예측값은 밸리 형태이고, 여전히 18시 근처의 최댓값을 예측하지
못한다. 표 7에 따르면 평균적으로 22%의 nMAE를 가진다.
표 7. 예측 모델 3의 결과
Table 7. Result of forecasting model 3
|
8.10
|
8.11
|
8.12
|
8.13
|
8.14
|
MAE
|
22.77%
|
21.87%
|
21.84%
|
23.59%
|
22.68%
|
6.5 예측 모델 4의 결과
풍력 보간법을 이용한 예측 모델 4의 결과를 그림 14와 표 8에 나타낸다. 그림 14에 따르면 예측값의 변동성이 커져서 풍력의 변동성을 따라갈 수 있다. 8월 11일에는 예측 모델 4의
그림. 13. 예측 모델 3 결과
Fig. 13. Result of model 3
예측 오차가 예측 모델 3번보다 낮다. 표 8에 따르면 평균적으로 22%의 nMAE를 가진다.
표 8. 예측 모델 4의 결과
Table 8. Result of forecasting model 4
|
8.10
|
8.11
|
8.12
|
8.13
|
8.14
|
MAE
|
22.13%
|
21.91%
|
21.66%
|
23.19%
|
22.39%
|
그림. 14. 예측 모델 4 결과
Fig. 14. Result of forecasting model 4
6.6 예측 모델 5의 결과
풍력 데이터를 재구성한 예측 모델 5의 제주와 경주의 결과를 그림 15와 그림 16에 나타낸다. 예측 모델 5에서는 풍력 데이터를 3시간 단위로 나누어서 예측하여 예측값이 평균값으로 수렴하는 효과를 줄여 예측 모델 4보다 피크 지점에서의
예측 오차를 줄였다. 또한, 표 9와 표 10을 통해 제주와 경주 모두 모든 날짜에 대해 예측 오차가 낮아진 것을 알 수 있다.
표 9. 예측 모델 5의 결과 (제주)
Table 9. Result of forecasting model 5 (Jeju)
|
8.10
|
8.11
|
8.12
|
8.13
|
8.14
|
MAE
|
20.93%
|
21.47%
|
19.46%
|
21.29%
|
22.15%
|
표 10. 예측 모델 5의 결과 (경주)
Table 10. Result of forecasting model 5 (Gyeongju)
|
6.23
|
6.24
|
6.25
|
6.26
|
6.27
|
MAE
|
10.62%
|
11.21%
|
7.00%
|
11.47%
|
12.86%
|
그림. 15. 예측 모델 5 결과 (제주)
Fig. 15. Result of forecasting model 5 (Jeju)
그림. 16. 예측 모델 5의 결과 (경주)예측 모델 5의 결과 (경주)
Fig. 16. Result of forecasting model 5 (Gyeongju)
6.7 대회 예측 결과
끝으로 예측 모델 1번부터 예측 모델 5번까지 예측 정확도를 비교해 보았을 때 모델이 개선됨에 따라 예측 오차가 낮아지는 것을 볼 수 있다. 예측
대회 당일에는 예측 모델 5번을 이용하여 8월 12일 18시부터 8월 14일 24시까지 54시간 동안의 제주, 경주 풍력 발전량을 예측하였다. 그림 17과 그림 18에 각 예측 결과가 제시되어 있다. 제주지역의 nMAE는 17.2%, 경주지역의 nMAE는 19.08%로 초반 30시간까지 예측 오차가 낮지만, 후반
24시간의 예측 오차는 높다. 그러나 해당 시기에 태풍의 영향으로 기상 데이터의 정확도가 낮았고, 풍력발전량의 추세가 유사하므로 유의미한 결과라는
평을 받았고 본 대회에서 2위를 하였다.
7. 결 론
그림. 17. 대회 풍력발전량 예측 결과 (제주)
Fig. 17. Wind power forecasting result in competition (Jeju)
그림. 18. 대회 풍력발전량 예측 결과 (경주)
Fig. 18. Wind power forecasting result in competition (Gyeongju)
우리는 SVM과 GVM을 이용하여 새로운 예측 알고리즘을 개발했다. 알고리즘의 예측 정확도를 검증하기 위하여 한국전력거래소에서 개최한 풍력발전량 예측
경진대회에 참가하여 최종 예측 모델로 이용하여 2위를 하였다. 우리의 기여도는 다음과 같다. 첫째, 시간의 차이가 증가면서 예측 오차가 높아지므로
각 시간에 데이터만을 이용하여 모델을 구축하여 오차를 낮추고, 병렬구조 예측 모델을 이용하여 연산속도를 빠르게 하였다. 둘째, 풍속과 풍향은 공기의
흐름이기 때문에 같은 정확도를 가진 전, 후 시간의 기상 데이터를 추가하여 예측 오차를 낮췄다. 셋째, 기상 보간법을 이용하지 않고 실제 기상 데이터를
중복으로 사용하여 예측 오차를 낮췄다. 넷째, 풍력발전량 데이터를 보간법을 이용해 확장하여 예측된 풍력발전량의 편차를 늘려서 실제 풍력발전량의 변동성을
따라갈 수 있도록 했다. 다섯째, 보간법으로 확장한 풍력발전량 데이터를 재구성하여 예측값이 평균값으로 수렴하는 것을 방지하고, 연산속도를 빠르게 하였다.
마지막으로 예측 모델의 구조를 개선하여 구축한 위에서 설명한 예측 모델 5번을 SVM과 GBM을 이용하여 학습하였고 가중 Ensemble 방법을 통해
예측 오차를 최소화하는 최적 가중치를 찾아 최적 예측 구조를 만들었다.
Acknowledgements
(This research wassupported by Korea Electric Power Corporation. (No.R18xa06-24) and
by Korea Institute of Energy Technology Evaluation and Planning (KETEP) grant funded
by the Korea government (MOTIE) (No. 20162220200010).
References
Wooyoung Jeon, 2019, Estimating the Integration Cost of Variable Renewable Generation
Based on 3020 Roadmap, The Korean Society for New and Renewable Energy
MOTIE, 2017, Renewable Energy 3020 Implementation Plan
KyuSik Shin, HoeRyeon Choi, HongChul Lee, 2015, Topic Model Analysis of Research Trend
on Renewable Energy, Journal of the Korea Academia-Industrial cooperation Society,
Vol. 16, No. 9, pp. 6411-6418
HyeonGi Kim, Byeong-Min Kim, In-Su Paek, Neung-Soo Yoo, Hyun-Goo Kim, 2011, Variation
of AEP to wind direction variability, Journal of the Korean Solar Energy Society,
Vol. 31, No. 6, pp. 1-8
KPX, 2014, A Reserch on Development Plan of Supply-Demand for Large Renewable Energy
Facilities
KPX, 2011, Analyzing Effect of the Renewable Energy Portfolio Standard (RPS) on the
Electricity Supply and Demand Plan
J. W. Taylor, P. E. McSharry, R. Buizza, 2009, Wind Power Density Forecasting Using
Ensemble Predictions and Time Series Models, IEEE Transactions on Energy Conversion,
Vol. 24, pp. 775-782
M. Milligan, M. N. Schwartz, Y. Wan, 2004, Statistical Wind Power Forecasting for
U.S. Wind Farms, in 17th Conference on Probability and Statistics in the Atmospheric
Sciences
Young-Min Wi, Jaehee Lee, 2016, A Study on Centralized Wind Power Forecasting Based
on Time Series Models, The Transactions of the Korean Institute of Electrical Engineers,
Vol. 65, No. 6, pp. 918-922
Geenam Lee, Donghyawn Kim, Osoon Kwon, 2014, Prediction of Wind Power Generation at
Southwest Coast of Korea Considering Uncertainty of HeMOSU-1, New & Renewable Energy,
Vol. 10, No. 2, pp. 19-26
Jiyeong Kim, Junsin Lee, Jinyeong Kim, Hyeongu Kim, Yonghyeok Kang, Changyeol Yoon,
2016, Accuracy and uncertainty of a simple ensemble prediction system for wind power
forecasting, in Proceedinds of WEIIK Symposium, pp. 79-80
Jin Hur, BeomJun Park, 2017, The Development of the Short-Term Wind Power Forecasting
System using Support Vector Regression, Journal of the Korean Institute of Illuminating
and Electrical Installation Engineers, Vol. 31, No. 9, pp. 104-107
Seyoung Kim, Jeongmin Kim, Kwang Ryel Ryu, 2014, Learning Wind Speed Forecast Model
for Predicting Power Generation by Wind Turbine, Korean Institute of Intelligent Systems,
Vol. 24, No. 2, pp. 93-94
M. C. Alexiadis, P. S. Dokopoulos, H. S. Sahsamanoglou, 1999, Wind Speed and Power
Forecasting based on Spatial Correlation Models, IEEE Transactions on Energy Conversion,
Vol. 14, No. 3, pp. 836-842
Lucas Silva, 2014, A feature engineering approach to wind power forecasting GEFCom,
International Journal of Forecasting, Vol. 30, No. 2, pp. 395-401
J. P. S. Catalão, H. M. I. Pousinho, V. M. F. Mendes, 2009, An artificial neural network
approach for short-term wind power forecasting in Portugal, Engineering Intelligent
Systems, Vol. 17, No. 1, pp. 5-11
http://www.todayenergy.kr/news/articleView.html?idxno=216907#05Dr
Y. H. Wan, E. Ela, K. Orwig, 2010, Development of an Equivalent Wind Plant Power-Curve,
National Renewable Energy Laboratory, NREL/CP-550-48146
Min-Kyu Baek, Duehee Lee, 2018, Spatial and Temporal Day-Ahead Total Daily Solar Irradiation
Forecasting: Ensemble Forecasting based on the Empirical Biasing, energies, Vol. 11,
No. 1
D. Lee, H. Shin, R. Baldick, November 2018, Bivariate Probabilistic Wind Power and
Real-Time Price Forecasting and Their Applications to Wind Power Bidding Strategy
Development, IEEE Transactions on Power Systems, Vol. 33, No. 6, pp. 6087-6097
Sooyeon Kim, Myeongsu Son, Kuduck Kwon, Duehee Lee, July 2019, Electricity Demand
Forecasting Algorithm Development Based on the Gradient Boosting Machine by Selecting
the Optimal Combination of Weather Data and Stations, the Transactions of the Korean
Institute of Electrical Engineers, Vol. 68, No. 7, pp. 834-843
저자소개
She is majoring in electronic and electrical engineering in 2019 from Konkuk University,
Seoul, Korea.
She received B.S. degree in electrical engineering in 2019 from Konkuk University,
Seoul, Korea.
She is currently working toward the M.S. degree in the electrical engineering department
at the Konkuk University, Seoul, Korea.
He received a B.S. degree in electrical engineering from Konkuk University, Seoul,
Korea, in 2018, and he is currently a M.S. student in electrical engineering from
the same university.
His research interests are energy storage system integrated renewable energy and power
system economics.
She is currently majoring in electronic and electrical engineering in 2019 from Konkuk
University, Seoul, Korea.
Her research interests are smart grid and power engineering.
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.