영흥 풍력발전단지의 풍력발전량 예측을 위한 입력변수 선정 및 인공신경망과 1차원 합성곱 신경망 비교
Selection of Input Variables and Comparison of Artificial Neural Networks and One-Dimensional Convolutional Neural Networks for Prediction of Wind Power Generation in Yeongheung Wind Power Plant
Article information
Abstract
목적
본 연구에선 비선형적 풍력발전량 예측 모델 개발을 목적으로 총 설치 용량 46 MW의 풍력발전단지가 설치된 영흥 풍력발전 단지의 자료를 이용하여 인공신경망(artificial neural network, ANN)과 1차원 합성곱신경망(1-dimension convolutional neural network, 1D-CNN)의 성능을 비교하고자 하였다.
방법
자료는 46 MW 발전능력을 가진 영흥 풍력발전단지의 2018년 1월부터 12월의 1시간 단위 풍력발전량 자료와 기상청에서 얻은 기상자료를 이용하였다. 최적 입력변수를 선정을 위하여 문헌연구를 바탕으로 시행착오를 거쳐 인자를 선정하였다. 전처리 과정을 거친 17,306개의 자료의 80%를 학습(training), 20%를 테스트(test)으로 사용하였으며, 학습 자료의 20%를 검증(validation)자료로 구성하였다. 모델 내 활성화 함수로는 rectified linear unit를 사용하였으며, 시행착오법을 통해 하이퍼파라미터(hyperparameter)의 최적값을 도출하였다. 모든 모델은 Python의 Keras 라이브러리를 이용하여 설계하였으며, 성능지표인 결정계수(coefficient of determination, R2), 평균제곱근오차(root mean square error, RMSE), 평균절대오차(mean absolute error, MAE) 등은 Scikit-learn 라이브러리에서 이용하였다.
결과 및 토의
최적 입력변수는 풍속, 풍향, 온도, 습도 등이었다. ANN의 최적점으로는 은닉층 8층, 은닉층별 노드 수는 모두 100으로 나왔다. 최적 ANN 모델에서 성능지표는 R2=0.848, MAE=1.054, RMSE=1.616이었다. 1D-CNN의 최적점으로는 합성곱층 4층, 층별 필터 수는 1층부터 64, 128, 64, 32개, 전결합층 1층에 노드 100개이다. 최적 1D-CNN 모델의 성능지표는 R2=0.875, MAE=0.982, RMSE=1.583였다. 1D-CNN이 ANN보다 R2는 높고, MAE와 RMSE는 낮았다. ANN, 1D-CNN의 결정계수가 모두 0.8 이상으로 예측 성능이 우수하나, 1D-CNN이 ANN보다 모든 성능지표에서 높았다.
결론
최적화된 모델의 성능지표 비교 결과 1D-CNN이 ANN보다 높은 성능을 보여 영흥 풍력 발전소 발전량 예측에 적합할 것으로 보인다. 최적 입력변수는 풍속, 풍향, 온도, 습도였다.
Trans Abstract
Objectives
In this study, deep learning models of artificial neural network (ANN) and one-dimension convolutional neural networks (1D-CNN) were compared to predict nonlinear wind power generation at Yeongheung wind power plant.
Methods
The study site was Yeongheung-do, which has a 46 MW wind power plant. Hourly wind power and meteorological data from January to December 2018 were collected. After pre-processing with standardscaler, the training data were 64%, the validation data were 16%, and the test data were 20%. The optimum input variables of the model were selected using literature, and trial and error method. Rectified linear unit was used as the activation function. Hyperparameters were adjusted by trial and error method to optimized models. To compare the optimized models, the coefficient of determination (R2), mean absolute error (MAE), and root mean square error (RMSE) were used as the performance efficiency. Both ANN, and 1D-CNN were imported from the Keras library, and all of the performance efficiency was imported from the Scikit-learn library.
Results and Discussion
The optimized input variables in this study were wind speed, wind direction, temperature, and humidity. The optimized ANN performance was R2=0.848, MAE=1.054, and RMSE=1.616, and the hyperparameters were 8 hidden layers with 100 nodes in each layer. The optimized 1D-CNN (R2=0.875, MAE=0.982, and RMSE=1.583) had 4 convolutional layers and the number of filters were 64, 128, 64, and 32 in order from the first layer, and one hidden fully connected layer had 100 nodes. The 1D-CNN had higher R2, and lower MAE and RMSE than the ANN. Therefore, the 1D-CNN was selected as the optimized model to predict wind generation of the Yeongheung wind power plant.
Conclusions
The optimized 1D-CNN model in this study was more effective in predicting the Yeongheung wind power plant than the ANN. The optimal input variables were wind speed, wind direction, temperature, and humidity.
1. 서 론
전 세계적으로 산업 및 농업 활동의 증가로 에너지 수요가 지속적으로 증가하고 있다[1]. 이에 따라 환경오염도 심각해지고 있다. 2015년 12월 파리 기후 정상회의가 열린 이후 많은 나라가 온실가스 배출량을 줄이는 데 큰 노력을 기울이고 있다[2]. 이 문제를 해결하기 위해 고갈되는 에너지원보다 환경을 보호하고 지속 가능한 개발을 이룰 수 있는 에너지원인 신재생에너지가 주목을 받고 있다. 우리나라는 2017년 기준, 신재생에너지가 전체 발전량의 5.6%를 차지하여 주요국에 비해 낮은 편이다. 따라서 정부에서는 2030년까지 신재생에너지 발전량 비중을 20%까지 높이고, 신규설비의 95% 이상을 태양광, 풍력 등으로 공급하고자 하는 ‘재생에너지 3020 이행계획’을 발표했다[3]. 비슷한 사례로 2030년까지 독일은 전체 발전량의 65%, 스페인은 74%를 신재생에너지로 공급하겠다는 목표를 세웠다[4,5].
풍력에너지는 근래 들어 가장 빠르게 성장하는 에너지원 중 하나이며, 화석연료 및 다른 신재생에너지에 비해 설치면적이 작고 발전단가가 저렴하여 여러 나라에서 많은 관심을 기울이고 있다[6,7]. 또한 풍력에너지는 온실가스 배출량을 줄일 수 있는 잠재력을 가진 효율적인 신재생 에너지원이다[2]. 풍력에너지는 바람이 풍차의 날개를 돌리면 전기 발생 장치인 발전기에 연결되어 전기를 생산하고 생산된 전기는 바로 사용하거나 곳곳으로 보내 사용되도록 한다. 우리나라는 바람이 많이 부는 산, 긴 해안선, 섬 등에 풍력발전 설치 시 많은 전기를 생산할 수 있는 유리한 조건을 가지고 있다. 그러나 풍력에너지는 에너지 생성의 변동 등 예측하기 어려운 가변적인 성질을 띠어 전력 시스템에 많은 문제를 일으킨다[8]. 따라서 풍력발전량 예측은 전력 및 에너지 시스템의 계획, 관리, 운영 등에 필수적이다. 자원을 효율적으로 활용하기 위해서는 계획 수립 시 풍력발전 능력을 고려해야 한다[9]. 정확한 풍력발전 예측은 전력회사가 풍력발전 능력을 활용하고 비용을 일부 절약할 수 있다. 풍력발전 능력에 대한 신뢰성은 풍력발전량 예측 모델의 정확도에 달려 있는데, 풍력발전량 자료에 내재한 비선형 특성을 발견할 수 있는 인공지능 기술은 기계 학습이다[9,10]. 기계학습은 컴퓨터 알고리즘의 학습을 통해 자동으로 모델 성능을 개선하는 기술이다. 특히 비선형적 자료 예측에 있어 기존 수학적 모델에 비해 뛰어난 성능을 보여 환경 및 에너지 분야에 적용하기 위한 시도가 진행되고 있다. 이러한 사례로 인공신경망(artificial neural network, ANN), 서포트 벡터 머신(support vector machine, SVM) 등을 이용한 영산강, 주암호 조류예측[11], ANN, SVM 등을 이용한 태양광 발전량 예측[12], 오차전파(back propagation) 신경망을 이용하여 지열발전 예측[13], SVM 등을 이용한 미생물 연료전지(microbial fuel cell) 성능 평가[14] 등이 있다. 이러한 인공지능을 이용한 다양한 인자의 예측 시도는 풍력 발전에서도 적용되어 널리 사용되고 있다[15].
기계학습을 이용하여 풍력발전량을 예측한 선행 연구에선 ANN, 합성곱 신경망(convolutional neural network, CNN), 서포트 벡터 머신(support vector machine, SVM), 자동회귀 누적 이동평균(autoregressive integrated moving average, ARIMA) 등의 모델이 사용되고 있다. 이 중 ANN을 사용한 빈도수가 가장 많았다[16-21]. CNN 모델 중 이미지 같은 2차원 자료를 다루는 2차원 합성곱 신경망(2-dimensional convolutional network)이 가장 널리 사용되고 있다. 이를 시계열 자료와 같은 1차원 자료에서 활용할 수 있게 변형한 것이 1차원 합성곱 신경망(1-dimensional convolutional neural network, 1D-CNN)이다[22]. 1D-CNN을 사용하여 풍력발전량을 예측한 연구는 찾을 수 없었다. 또한, 인공신경망 기법에서 입력변수를 결정할 때 관련된 모든 입력변수를 선택하는 것보다 적절한 입력변수를 선택하는 것이 더 중요하다[23]. 인천광역시 영흥도 지역에 풍력발전단지가 있고 발전량 자료를 공개하고 있으나 풍력발전량을 예측한 선례는 찾아볼 수 없었다. 따라서 영흥 풍력발전단지의 풍력발전량 예측 성능을 향상하기 위해 최적 입력변수를 선정하고 ANN과 1D-CNN을 비교하고자 하였다.
2. 실험방법
2.1. 자료
연구지역은 대한민국 인천광역시 옹진군 영흥도에 위치한 영흥 풍력발전단지로 해당 단지의 풍력발전량 자료를 사용하였다. 영흥 풍력발전단지는 1단지(9대, 총 22 MW)와 2단지(8대, 총 24 MW)로 구분되어 있으며, 1단지는 서쪽에 9대, 2단지는 서쪽에 4대, 남쪽에 4대가 있다(Fig. 1). 본 연구는 1단지와 2단지 풍력발전량 자료를 통합하여 모델에 사용하였다. 대한민국 공공데이터포털(www.data.go.kr)에서 한국남동발전 영흥 풍력발전단지의 1년(2018.1.1.∼2018.12.31.)간의 시간별 발전량 자료를 수집하였다. 기상청(weather.go.kr)에서 동일 기간의 영흥면 기상인자 자료를 수집하였다. 기상인자 중 풍력발전 예측에 풍속(wind speed, WS), 풍향(wind direction, WD), 습도(humidity, H), 온도(temperature, T), 압력(pressure, P) 등을 사용하였다. 자료 중 수치가 기재가 되어있지 않은 자료는 소거했으며 그 결과 약 17,306개의 자료를 시계열 순서대로 대입하여 사용하였다(Table 1). 이상치에 대해선 제외하지 않고 적용하였다. 자료 중 온도 및 풍향 등 상호간 편차가 큰 자료가 존재하여 전체 자료의 평균을 0으로, 표준편차를 1로 조절하는 표준화 작업을 진행하였다. 작업은 Scikit-learn 라이브러리의 standardscaler 함수를 활용하여 진행하였다[24]. 최적 인자 선정은 기상인자 등을 모든 경우로 조합하여 총 15가지의 시나리오(scenario)를 ANN에 적용하여 선정하였다(Table 2).
2.2. 모델
2.2.1. 인공신경망
ANN은 인간의 뇌가 거치는 학습과정을 모방하여 정보를 처리하는 기법으로 뉴런을 통해 상호연결적인 예측을 이루어낸다[25]. 반복적인 학습 과정을 거쳐 패턴을 찾아내고, 이를 일반화함으로써 예측하고자 하는 문제에 있어 유용하다. ANN은 모델 방정식을 명시적으로 정의할 필요 없이 변수 간의 상관관계를 추출하는 능력이 있다[9]. ANN은 다양한 입력 자료를 받는 입력층(input layer)과 이를 연산하기 위한 최소 1개 이상의 은닉층(hidden layer), 마지막으로 원하는 출력 자료의 예측값을 출력하는 출력층(output layer)으로 이루어져 있다(Fig. 2(a)). 연속적인 기간에 걸쳐 측정되는 시계열(time series) 자료로 훈련된 ANN은 임의의 선형 및 비선형 함수를 모델링 할 수 있는 능력을 갖추고 있어, 다양한 분야에서 폭넓게 활용되고 있다[26]. 본 연구에서는 시계열로 구성된 비선형적인 풍력발전량 및 기상자료를 사용하여 풍력발전량 예측을 위해 다수의 은닉층과 노드로 구성되는 ANN 모델을 적용하였다. 입력 자료로는 기상청 자료를 활용하였으며, 예측 목표인 발전량을 출력 자료로 하였다. 모델의 과적합 방지를 위해 dropout과 학습 조기 종료(earlystop) 기법을 사용하였으며, 활성화함수(activation function)로는 rectified linear unit (ReLU)와 sigmoid를 적용하였다.
2.2.2. 1차원 합성곱신경망
최근 CNN은 전력 품질, 풍력발전단지의 공간적 특성 등 에너지 관련 문제를 해결하기 위해 사용되었다[27-29]. 또한, CNN을 통해 풍력 시계열 자료의 숨겨진 특징을 추출하는 것은 예측 성능을 향상하게 할 수 있는 방법이다[30]. 따라서 본 연구에선 모델을 단순화하고 풍력 예측의 실시간 구현을 위해 1D 풍력 자료를 직접 예측할 수 있는 1D-CNN을 적용하였다[31]. CNN에서 풀링층(pooling layer)은 일반적으로 연속적인 합성곱층(convolution layer) 사이에 삽입된다(Fig. 2(b)) [27]. 본 연구에선 계산 복잡성을 줄이는 연산 기법인 max pooling을 사용하였다[32]. 이후, 평탄화층(flatten layer)을 통해 자료를 배열 형태로 만들고, 전결합층(fully connected layer)에서 예측을 위한 연산 과정을 거친다. 모델의 과적합 방지를 위해 drop out과 early-stop 기법을 사용하고, 활성화 함수로는 ReLU와 sigmoid를 적용하였다. 입력, 출력 자료는 ANN과 동일하게 적용하였다.
2.3. 최적화 및 성능지표
수집한 자료를 총 15개의 조합으로 ANN을 이용하여 최적 자료를 선정한 다음 모델별 하이퍼파라미터를 시행착오법(trial & error method)을 이용하여 최적화하였다(Fig. 3). 이후 최적화된 ANN과 CNN의 성능지표를 비교하여 영흥도 풍력발전량 예측에 적합한 모델을 선정하였다. 성능지표는 결정계수(coefficient of determination, R2), 평균절대오차(mean absolute error, MAE), 평균제곱근오차(root mean square error, RMSE)를 사용하였다. R2는 관측값으로부터 실험값의 분산을 보여준다(Eq. 1). 최상의 값은 1.0이며, 음수가 출력되는 경우 모델의 예측값과 실제 관측값이 어떠한 관계도 가지지 못하여 예측에 실패했음을 나타낸다[33].
여기서, n은 자료의 수, Oi는 관측값, Pi는 실험값을 뜻한다.
MAE는 관측값과 실험값 간의 절대 오차의 평균을 보여준다(Eq. 2). 최상의 값은 0이며, 값이 상승할수록 성능이 좋지 않음을 의미한다[34].
RMSE는 관측값과 실험값 간의 오차를 제곱한 뒤 평균을 내어 이를 제곱근한 값이다(Eq. 3). 최상의 값은 0이며, 값이 상승할수록 좋지 않은 성능이 나타난다[33].
모델링은 Python 환경에서 수행하였으며, ANN, CNN 모델은 Keras 라이브러리에서 이용하였다. R2, MAE, RMSE 등 성능지표는 Scikit-learn 라이브러리에서 이용하였다.
3. 결과 및 고찰
3.1. 입력변수
본 연구에서 풍력발전량 예측에 적절한 입력변수를 선정하기 위해 고려된 기상인자는 풍속, 풍향, 습도, 온도, 압력 등이었다. 풍력발전량은 이론적으로 동력전달장치 효율, 발전기 에너지변환 효율, 회전자 동력계수, 공기밀도, 블레이드 회전 면적 등에 비례하고, 풍속의 세제곱에 비례한다[35]. 즉, 풍속은 다른 변수에 비해 풍력발전에 더 큰 영향을 미치며 높은 상관관계를 갖는 것을 알 수 있다[9]. 따라서 풍속은 입력변수로 항상 사용하였다.
인자 최적화 결과 모든 인자를 조합한 경우(Scenario 1)에 비해 4개의 인자를 조합한 경우(Scenario 2-5)의 성능지표가 좋게 나왔는데, 이 중 Scenario 3이 상대적으로 우수하였다(Table 2). 즉 풍속, 풍향, 온도, 습도의 기상인자를 조합한 경우가 Train R2=0.943, Test R2=0.845, Train MAE=0.310, Test MAE=1.070, Train RMSE=0.760, Test RMSE=1.658로 다른 경우에 비해 좋은 결과를 보였다. 하지만, 기상인자가 3개 이하일 땐 Train과 Test의 MAE, RMSE가 높아지며 R2가 낮아지는 경향을 보였다(Scenario 6-15).
가장 우수한 지표를 보인 Scenario 3에서 압력 인자가 제외되었다. 압력을 포함하여 4개의 인자를 조합한 경우(Scenario 2-5)와 3개의 인자를 조합한 경우(Scenario 6-11)에서 RMSE가 높아진 경향을 보였다. 특히 Scenario 7에서 Test RMSE 1.718로 가장 높았다. 이와 다르게 2개의 인자를 조합한 경우(Scenario 12-15)에선 압력이 포함된 Scenario 14의 RMSE가 상대적으로 우수했다. 하지만 Scenario 3에 비해 낮은 성능지표를 보였다. 따라서 본 연구에서는 최적의 입력변수로, 압력을 제외한 풍속, 풍향, 온도, 습도의 4개 인자(Scenario 3)만 이용하였다. 선행 연구에서도 상대적으로 많이 사용된 입력변수는 풍속, 풍향, 온도, 습도이고, 압력은 그 빈도가 낮았다[36].
3.2. 인공신경망
ANN에서 초기 훈련 중에 과적합 여부를 판단하기 위해 자료 사용 비율을 학습(training) 64%, 검증(validation) 16%, 확인(test) 20%로 하였다[37]. 최적 결과를 도출하기 위해 은닉층 수, 은닉층별 노드(node) 수 등 하이퍼파라미터(hyperparameter)를 조정하였다. 활성화 함수는 sigmoid보다 ReLU를 사용했을 때 더 좋은 성능지표를 보였다. 은닉층의 경우 단일층보다 복수층에서 정확도가 높았다[38]. 은닉층 수를 8층으로 하였을 때, 은닉층 수 7층과 9층으로 설정했을 때보다 Test MAE가 0.08, 0.12 만큼 감소했으며 Test RMSE가 0.069, 0.053 만큼 감소하였다. 은닉층 수를 8층으로 고정하고 은닉층별 노드를 90, 110으로 설정한 경우, 100으로 하였을 때 Test MAE가 0.23, 0.12 만큼 감소했으며 Test RMSE가 0.088, 0.113 만큼 감소하였다. 이에 은닉층 수를 8층, 은닉층별 노드수를 100개로 설정하였다. Drop out은 과적합을 줄여 신경망을 개선하는 기술로, 매우 다양한 영역에서 ANN의 성능을 향상하기 위해 사용된다[39]. 본 연구에서 drop out을 적용하지 않은 경우의 성능지표가 우수하여 ANN에 drop out을 적용하지 않았다. Drop out을 사용했을 시, drop out이 없는 경우보다 훈련 길이가 2∼3배 늘어나[37] 성능지표가 좋지 않은 경향을 보였다. 학습 조기 종료를 적용한 경우 오차(loss)값이 10회 동안 개선되지 않을 때 모델 학습을 조기 종료하도록 적용하였다[40]. 가장 좋은 성능을 나타낸 ANN 모델은 학습 조기 종료를 적용하여 epoch 30에서 최적화가 되었다. 학습 조기 종료를 적용한 경우, 적용하지 않았을 때보다 Test MAE가 0.007 감소했으며 Test RMSE는 0.02 감소했다. Batch size는 500으로 설정하였을 때가 성능지표가 최적 결과를 보였다. 따라서 최적 결과는 자료 사용 비율을 학습 64%, 검증 16%, 확인 20%이며, 활성화 함수 ReLU를 사용해 은닉층 수 8층, 은닉층별 노드 수 100개, drop out은 제외, batch size 500, epoch 36에서 최적점을 보였다. ANN의 최적 결과는 Train R2=0.947, Test R2=0.848, Train MAE=0.291, Test MAE=1.054, Train RMSE=0.750, Test RMSE=1.616이었다(Table 3).
ANN을 이용하여 터키의 한 풍력발전단지의 발전량을 예측한 연구에선 풍력, 풍속, 온도를 입력변수로 사용하였고, Test MAE=46.5120 KW, Test RMSE=61.3950 KW로 보고하여[41] (Table 4) 본 연구와 인자 및 성능에서의 차이를 보였다. 인도 무판달에 위치한 풍력 발전기의 발전량을 예측한 연구에선 풍속, 습도, 발전 시간을 입력변수로 사용하였으며, Train MAE=0.0588, Test MAE=0.0586이었다[42]. 칠레 토토랄 풍력단지의 풍력발전량을 예측한 논문에서는 풍속과 풍향을 입력 변수로 사용하였고, Test RMSE=45.50 KW였으며[43], 풍속과 풍력을 입력변수로 사용하여 풍력발전량을 예측한 논문에서는 Test MAE=113.93로 나타났다[44]. 본 연구를 포함한 대부분의 선행 연구에선 ANN 모델링 결과 풍속 인자가 적용되었으며, 나머지 인자는 지역에 따라 다르게 적용됨을 알 수 있었다. 선행 연구에서도 풍력발전은 지역, 기후마다 특성이 다름을 알 수 있어[10], 효율적인 ANN의 예측모델 개발을 위해선 대상지역의 기후 등을 고려하여 적절한 변수의 선택이 중요하다는 것을 알 수 있었다[45].
3.3. 1차원 합성곱신경망
CNN의 경우 변수인 합성곱층 수와 풀링층(pooling layer)이 결과에 영향을 주기 때문에 적절한 조정이 필요하다[27,46]. 이에 합성곱층과 필터 수를 여러 경우를 고려하여 조정했을 때, 합성곱층 4층, 필터(filter) 수 64, 128, 64, 32개에서 최적 결과를 얻었으며, 활성화 함수는 sigmoid보다 ReLU를 사용했을 때 최적 결과를 보였다. Test MAE 성능지표가 1.087로 제일 좋은 값을 보였다. 최적화 결과와 합성곱층 3층에 필터 수 48, 48, 16을 적용한 경우와 합성곱층 5층에 필터 수 64, 128, 64, 32, 16개인 경우를 비교했을 때, Test MAE가 0.02, 0.048 만큼 감소했으며 Test RMSE는 0.049, 0.074 만큼 감소하였다. 계산 복잡성뿐만 아니라 학습 가능한 변수의 수를 크게 줄일 수 있는 max pooling을 사용했다[37]. Drop out은 적용하지 않았는데, 성능지표에 급격한 변화가 없고 R2의 성능지표가 적용하지 않은 경우에서 좋은 경향을 보였기 때문이다. 학습 조기 종료를 적용한 경우가 적용하지 않았을 때보다 Test RMSE가 0.016 상승하였다. 학습 조기 종료를 적용하지 않고 batch size를 300으로 고정한 채로 epochs를 높여가며 실험을 진행했다. Epochs를 높일수록 Test R2가 상승하는 경향을 보였고, epochs 400으로 설정하였을 때 Test R2이 최고점을 보였다. Batch size는 300으로 설정하고, 완전결합층 수 1층, 노드 수 100개로 조정했을 때, 성능지표의 최적 결과를 얻었다. 따라서 최종 결과는 자료 사용 비율은 학습 64%, 검증 16%, 확인 20%로 ANN과 같게 하였고, 활성화 함수는 ReLU, 합성곱층 4층, 층별 필터 수는 순서대로 64, 128, 64, 32개, 전결합층 1개, 노드 수 100개, drop out은 제외, batch size 300, early-stop 제외한 경우로 epoch가 400에서 최적점을 보였다. 이때, Train R2=0.961, Test R2=0.875, Train MAE=0.215, Test MAE=0.982, Train=RMSE 0.537, Test RMSE=1.583로 나타났다(Fig. 3, Table 3).
CNN을 이용하여 뉴잉글랜드에 위치한 풍력 발전소 자료로 풍력발전량을 예측한 논문에서는 합성곱층 3층, 전결합층 1층을 사용했다. Test MAE 봄=3.34, 여름=3.24, 가을=3.36, 겨울=2.89로 계절마다 기간을 나누어 결과를 비교했다(Table 4) [17]. 중국에 위치한 풍력 발전소 자료를 사용하여 풍력발전량을 예측한 논문에서는 합성곱층 3층, 전결합층 1층을 사용했고, Test R2 0.961로 나타났다[47]. 본 연구에서는 합성곱층 4층, 전결합층 1층을 사용했다. CNN의 하이퍼파라미터를 조정한 결과, CNN의 효율적인 예측 모델을 위해서 지역과 상황에 맞는 하이퍼파라미터 조정이 중요한 것을 알 수 있었다[37].
3.4. 모델 성능 비교
두 모델 모두 학습과 확인과정에서 관측값과 실험값의 상관관계가 0.8 이상으로 비교적 높았다(Fig. 4, Fig. 5). R2의 경우 1D-CNN은 0.875, ANN은 0.848로, 1D-CNN이 ANN보다 0.027 높았다. ANN의 RMSE는 1.616, 1D-CNN의 RMSE는 1.583으로 1D-CNN이 0.033 낮은 결과를 보였다. RMSE는 관측값과 실험값의 오차를 나타내는 지표로, 1D-CNN의 풍력발 전량 예측 정확도가 더 높음을 알 수 있다. ANN과 달리 1D-CNN은 가중치가 공유되기 때문에 학습 효율이 향상한 것으로 추정된다[17]. 따라서 ANN과 1D-CNN 모두 영흥도 지역 풍력발전량 예측에 적합하지만, 모델 성능을 비교해보았을 때 본 연구에서도 1D-CNN의 성능이 더 좋음을 알 수 있다.
4. 결 론
본 연구에서는 효율적인 풍력 발전량 예측 모델 개발을 위하여 ANN과 1D-CNN을 이용하여 영흥도 풍력발전단지의 발전량 예측을 시도하였다. 풍속, 풍향, 온도, 습도를 입력변수로 사용한 모델에서 가장 좋은 성능지표를 보였다. ANN의 경우, 활성화 함수로 ReLU, 은닉층 8개, 은닉층별 노드 수는 모두 100개, early-stop는 10회, drop out은 적용하지 않았을 때 성능지표가 가장 우수하였다. 1D-CNN의 경우, 활성화 함수는 ReLU, 합성곱층 4층, 층별 필터 수는 64, 128, 64, 32개, 완전결합층 1개, 노드 수 100개, drop out 제외, early-stop 비설정의 조건에서 가장 좋은 결과를 얻었다. 이러한 조건에서 1D-CNN은 ANN보다 모든 성능지표에서 우수하여 풍력발전량을 보다 효과적으로 예측할 수 있어 1D-CNN을 이용한 실제 풍력발전량 예측 모델 개발 가능성을 확인할 수 있었다. 또한, 본 연구의 입력 인자와 선행연구에서 사용인 인자들을 분석한 결과 풍력발전량은 지역마다 기후, 계절, 지형 등에 따라 사용하는 입력 인자가 달라지는 등 지역에 따른 특성을 보이므로, 이를 고려한 모델 개발이 필요함을 알 수 있었다. 따라서 향후 다양한 지역의 풍력발전량 예측을 통해 지역별 입력 인자의 차이의 원인을 분석할 필요가 있다.
Acknowledgements
본 논문은 4단계 BK21 사업(강원대학교, 다학제 융합 에너지자원 신산업 핵심인력 양성사업단)으로 지원된 연구입니다
Notes
Declaration of Competing Interest
The authors declare that they have no known competing financial interests or personal relationships that could have appeared to influence the work reported in this paper.