Korea Digital Contents Society

Journal Archive

Journal of Digital Contents Society - Vol. 23 , No. 1

[ Article ]
Journal of Digital Contents Society - Vol. 23, No. 1, pp. 107-115
Abbreviation: J. DCS
ISSN: 1598-2009 (Print) 2287-738X (Online)
Print publication date 31 Jan 2022
Received 07 Nov 2021 Revised 10 Dec 2021 Accepted 10 Dec 2021
DOI: https://doi.org/10.9728/dcs.2022.23.1.107

기존 SARIMA와 GRU를 결합하는 새로운 하이브리드 단기 기상 데이터 예측 방법 제안
강석찬1 ; 김동회2, *
1강원대학교 IT대학 전기전자공학과 학사과정
2강원대학교 IT대학 전기전자공학과 교수

Proposal of New Hybrid Short-term Weather Data Forcasting Method combining Existing SARIMA and GRU
Seok-Chan Kang1 ; Dong-Hoi Kin2, *
1Undergraduate, Electrical and Engineering, IT College, Kangwon National University, Chuncheon, Korea
2Professor, Electrical and Engineering, IT College, Kangwon National University, Chuncheon, Korea
Correspondence to : *Dong-Hoi Kim Tel: +82-33-250-6349 E-mail: donghk@kangwon.ac.kr


Copyright ⓒ 2022 The Digital Contents Society
This is an Open Access article distributed under the terms of the Creative Commons Attribution Non-CommercialLicense(http://creativecommons.org/licenses/by-nc/3.0/) which permits unrestricted non-commercial use, distribution, and reproduction in any medium, provided the original work is properly cited.

초록

기온 데이터를 분석해 예측하는 대표적 방법인 SARIMA와 GRU 중에서 SARIMA는 기온의 규칙적인 변화를 예측할 때 성능이 우수하고 GRU는 기온의 불규칙적 변화를 예측할 때 좋은 성능을 보여주었다. 본 논문에서는 상기 두 방법의 장점을 결합한 하이브리드 형 기온 예측 방법을 제안한다. 기존 기온 데이터는 특성상 규칙적 변화와 불규칙적 변화가 공존하기 때문에 먼저 GRU를 이용해 기온을 예측하였다. GRU는 학습과 검사로 분리해서 데이터를 사용하기 때문에 GRU를 실행하면 학습과 검사 부분에 대한 각각의 예측 값을 얻을 수 있다. 이때 학습 부분에서 발생한 실제 기온과 예측 값의 오차는 기존 기온 데이터보다 규칙성을 가지기 때문에 SARIMA의 데이터로 입력해 검사 부분에서 발생할 오차를 예측한다. 예측한 오차를 GRU의 검사 부분에 대한 예측 값에서 제거해 주었다. 실험을 통해 적절한 파라미터를 선정하고 평균오차 비교를 통해 제안된 방법의 성능 개선되었음을 확인하였다.

Abstract

In representative methods of analyzing and predicting temperature data, SARIMA has a good performance in prediction of regular temperature change and GRU has a good performance in prediction of irregular temperature change. This paper proposes a hybrid temperature prediction method that combines the advantages of the two methods. Since the existing temperature data coexists with regular and irregular changes, the temperature is first predicted using GRU. Since GRU uses data separately into two parts of learning and testing, we can obtain each prediction value for learning and testing by execution of GRU. At this time, since the error between the actual temperature and the predicted value in the learning part is more regular than the existing temperature data, it is input with SARIMA data to predict the error that will occur in the test part. The predicted error is removed from the predicted value for the inspection portion of the GRU. Through the experiments, we select appropriate parameters and confirm that the proposed method is improved in terms of mean error.


Keywords: Artificial Intelligence, Colab, ARIMA, Reccurent Neural Network, LSTM, GRU, Python
키워드: 인공지능, 코랩, 순환 신경망, 파이썬

Ⅰ. 서 론

최근 갑작스러운 태풍, 강수 등으로 많은 피해가 발생하는 등, 오늘날 일기예보는 다양한 용도로 활용된다. 기온과 강수량 변화에 가장 민감한 농업을 비롯하여 기업들이 향후 계획을 수립하거나, 개인이 예보에 따라 활동을 계획하고, 대비하는 등 모두에게 있어 굉장히 중요한 역할을 한다.

인공지능은 컴퓨터가 인간의 지능을 모방하는 것이다. 4차 산업시대의 핵심 요소로서 최근 알파고나 자율 주행 등에 활용되고 있다. 인공지능을 구현하는 방법으로 머신러닝과 딥러닝이 있다. 머신러닝은 주어진 범용적인 목적을 위해 제작된 것으로 데이터의 특징을 스스로 추출하지 못한다. 데이터를 인식할 수 있도록 사람이 준비해 주어야 한다. 즉 머신러닝의 학습과정은 각 데이터 특성을 컴퓨터에 인식시키고 학습시킨다. 딥러닝은 인간이 하던 작업을 생략한다. 대량의 데이터를 신경망에 적용하면 컴퓨터가 스스로 분석하여 답을 찾는다.

본 논문에서는 기온 데이터와 같이 시간에 따라 측정되는 시계열 데이터의 분석에 주로 이용되는 ARIMA(Autoregressive integrated moving average) 모형과 LSTM(Long short term memory) 과 GRU(Gated recurrent units) 등 딥러닝 순환 신경망 모델을 결합하는 방법으로 기온을 예측한다. 규칙적인 데이터의 예측에서는 ARIMA 모형이 강점을 갖고 불규칙적인 데이터의 예측에서는 순환 신경망이 강점을 갖는 점을 이용하였다. 먼저 순환 신경망을 통해 학습을 실시하는데 순환 신경망은 데이터를 학습 부분과 검사 부분으로 나누어 기온을 예측한다. 다시 학습 부분에서 발생한 실제 기온과의 오차를 ARIMA 모형 중 하나인 SARIMA 모형의 데이터로 입력해 오차를 예측한다. 이렇게 예측한 오차를 순환 신경망의 검사 부분에서 제거하여 오차를 줄이는 방법을 제안한다. 먼저 파라미터에 따른 오차를 비교해 적합한 순환 신경망을 선정하였고, 기존 SARIMA와 해당 순환 신경망만을 이용했을 때 발생하는 오차와 제안하는 SARIMA와 순환 신경망을 결합하는 방법의 평균오차를 확인하였다[1][2].

본 논문의 Ⅱ장에서는 대표적인 기존 기온 예측 방법인 SARIMA, LSTM과 GRU를 소개하며, Ⅲ장에서는 제안하는 기온 예측 방법을 설명한다. Ⅳ장과 Ⅴ장에서는 실험을 통해 각 기온 예측 방법들의 파라미터를 선정하고, 두 순환 신경망의 평균오차를 비교해 더 나은 순환 신경망을 선정하였다. 마지막으로 기존 기온 예측 방법들과 제안하는 방법의 평균오차를 비교하고 성능이 개선되었는지 확인하며 결론을 맺는다.


Ⅱ. 기존 기온 예측 방법

본 논문에서 활용해 예측하고자 하는 기온 데이터와 같이 시간에 따라 측정되는 데이터를 시계열 데이터라고 한다. 이러한 시계열 데이터를 활용해 추이를 분석하는 것을 시계열 분석이라 한다. 대표적인 기존 시계열 분석 방법으로는 ARIMA 모형 중 하나인 SARIMA 모형과 딥러닝 모델들 중 하나인 LSTM과 GRU 등의 순환 신경망 모델들이 있다.

2-1 기존 SARIMA 방법

ARIMA는 전통적인 시계열 분석 방법으로 자기회귀와 이동평균을 둘 다 고려하는 모형이다. 과거 데이터의 선형 관계뿐만 아니라 추세까지 고려한다. 자기회귀는 t-1 시점의 값이 t 시점의 값에 영향을 미치는 것을, 이동평균은 특정 시점 사이의 평균의 추세를 의미한다. 계절성을 고려하지 않는 ARIMA 모형은 (p, d, q)의 파라미터만 사용하며 본 논문에서 활용할 SARIMA 모형은 계절성(S)이 더해진 모형으로 기존 (p, d, q)에 (P, D, Q) m의 파라미터를 추가로 사용한다. p와 P는 자기회귀 항의 수를, d와 D는 차분 횟수를, q와 Q는 이동평균 항의 수를 나타내며, m은 데이터가 계절성을 나타내는 길이를 나타낸다[3][4].

2-2 기존 LSTM 방법

그림 1은 기존 LSTM 방법의 구조를 나타내고 있다. LSTM은 확장된 순환 신경망 모델로 과거 정보를 오래 기억하지 못하는 기존 순환 신경망(RNN)의 문제를 해결하기 위해 고안된 딥러닝 시스템이다. 데이터를 받고 내보내는 입력 게이트와 출력 게이트에 망각 게이트를 추가적으로 가진다. LSTM은 망각 게이트를 통해 과거 정보를 얼마나 기억할지 결정하며 입력 게이트와 출력 게이트를 통해 기존 순환 신경망의 과거 데이터가 점차 희석되는 문제를 방지한다[5][6].


Fig. 1. 
Structure of existing LSTM sheme

2-3 기존 GRU 방법

그림 2는 기존 GRU 방법의 구조를 나타내고 있다. GRU 역시 확장된 순환 신경망 모델로 LSTM보다 구조가 간단하다. 리셋 게이트와 업데이트 게이트의 두 가지 게이트가 존재한다. 업데이트 게이트는 LSTM의 망각 게이트, 입력 게이트와 유사하게 작동하며 버릴 정보와 추가할 정보를 결정한다. 리셋 게이트는 잊어버릴 과거 정보의 양을 결정하는 게이트이다[7].


Fig. 2. 
Structure of existing GRU sheme

데이터에 따라서 LSTM과 GRU의 두 방법 중 해당 데이터의 분석에 더 좋은 모델이 다르기 때문에 일반적으로 LSTM과 GRU 두 방법 모두 실행하여 더 적합한 방법을 선택한다. 본 논문에서 사용할 방법을 선택하기 위해 적절한 파라미터를 선정하고 LSTM과 GRU 모두 실행하여 손실 함수 및 실제 기온과의 오차를 비교하였다. 실험 결과 본 논문에서는 GRU가 더 적합한 모델임을 알 수 있었다.


Ⅲ. 제안하는 하이브리드 형 기온 예측 방법

기온 데이터는 특성상 규칙성과 불규칙성이 공존한다. 일 단위로는 새벽 시간 최저 기온에서 정오 이후 최고 기온까지 시간대에 따라 기온이 증감하는 규칙성을 보이지만, 주 단위로는 요일마다 우천이나 동절기 등 계절 요인에 따라 요일 별로 평균기온이 급감하는 등의 기온이 불규칙하게 변화하는 모습을 보여주었다.

기존 ARIMA 모형 중 하나인 SARIMA 방법은 기온 데이터에서 규칙적 패턴을 찾거나 부여해 예측하는 특징이 있다. 따라서 규칙적인 데이터를 예측할 때 강점을 보였다. 기존 순환 신경망 모델 중 하나인 GRU 방법은 과거 정보를 고려하여 예측하기 때문에 기존 SARIMA 방법에 비해 불규칙적인 데이터 예측에 강점을 보였다. 따라서 본 논문에서는 SARIMA와 GRU의 강점들을 결합하는 새로운 하이브리드 형 기온 예측 방법을 제안한다.

Error=Real-1-Prediction-1(1) 

그림 3은 제안하는 방법의 개념을 나타낸다. 기온 데이터의 경우 규칙성과 불규칙성을 모두 보이지만 불규칙성이 더 크다고 판단되어 먼저 GRU를 이용해 기온을 예측하였다. GRU는 데이터를 학습(Train)과 검사(Test)의 두 부분으로 나누어 사용한다. 기온 데이터를 학습과 검사의 두 부분(Real_1, Real_2)으로 나누어 입력하고 GRU를 실행하면 각각 학습에 대한 예측 값(Prediction_1)과 검사에 대한 예측 값(Prediction_2)을 얻는다. 이때 학습 부분(Train)에서 식 (1)을 통해 오차를 얻고 오차를 SARIMA의 데이터로 활용한다. 오차는 기존 기온 데이터에 비해 주 단위의 평균 변화가 작았고, 데이터의 최솟값과 최댓값의 차이도 기존 기온 데이터에 비해 작아 기존 기온 데이터에 보다 SARIMA에 더 적합했기 때문에 오차를 SARIMA의 데이터로 활용하였다. SAIRMA는 오차를 데이터로 입력해 GRU의 검사 부분(Test)에서 발생할 오차를 예측하는데 이렇게 SARIMA를 통해 얻은 예측 값(Prediction_3)을 기존 GRU 검사 부분의 예측(Prediction_2)에서 제거해 주는 방법으로 성능을 개선하고자 한다.


Fig. 3. 
Concept of proposed method

그림 4는 제안하는 SARIMA와 GRU를 결합한 방법을 구현한다. 먼저 공공데이터 포털의 오픈 API를 통해 예측에 활용할 기온 데이터(Temperature data)를 얻는다. 기온 데이터를 학습(Train)과 검사(Test)의 두 부분으로 나누어 GRU에 입력하면 학습 부분과 검사 부분에 대한 예측 값을 얻는다. 이때 학습 부분에서 발생한 실제 기온과의 오차를(Error) 식 (1)을 통해 계산한다. 이렇게 GRU의 학습 부분에서 얻은 오차를 SARIMA의 데이터로 입력하면 GRU의 검사 부분에서 발생할 오차의 예측 값(Prediction_3)을 얻는다. SARIMA로 예측한 오차를 GRU의 검사 부분의 예측 값(Prediction_2)에서 제거하여 개선된 기온 예측 값(Result)을 얻는다. 이후 기존 SARIMA 방법과 순환 신경망 방법(LSTM과 GRU)만을 이용했을 때의 오차와 제안하는 SARIMA 방법과 GRU 방법을 결합했을 때의 오차를 구하고 제안하는 방법의 오차가 기존 방법들에 비해 얼마나 개선되었는지 확인한다.


Fig. 4. 
Flowchart of proposed method


Ⅳ. 구현 및 실험 결과
4-1 실험 환경

그림 5는 코랩의 구조를 보여주고 있다. 코랩은 구글에서 제공하는 서비스로 웹브라우저에서 프로그램을 만들고 실행할 수 있다. 본 논문에서도 코랩을 이용하여 프로그램을 작성하고 실행하였는데 동시에 4개의 프로그램을 실행할 수 있어서 시간을 절약할 수 있었다.


Fig. 5. 
Google Colab

코랩의 정식 명칭은 Colabaratory이지만 줄여서 Colab이라고 부른다. 코랩은 무료이고 머신러닝/딥러닝을 위한 별도의 환경설정이 필요하지 않으며, 클라우드 환경으로 여러 명이 동시에 수정할 수 있고, GPU를 손쉽게 사용할 수 있다는 장점이 있다. 세션 시간에 제약이 있다는 단점이 존재하나 일반적으로 딥러닝 모델을 이용하여 데이터를 분석할 때는 고성능 PC가 필요한데, 고성능 PC 환경을 개인이 갖추기는 어렵기 때문에 코랩을 많이 사용하는 추세이다[8].

4-2 기온 데이터 획득

예측에 사용할 데이터를 얻기 위해 오픈 API를 이용하였다. API는 운영체제(OS)나 시스템, 애플리케이션(앱), 라이브러리 등을 활용하여 응용 프로그램을 작성할 수 있게 하는 다양한 인터페이스를 의미한다. 오픈 API는 누구나 사용할 수 있도록 공개된 API로 인증키와 URL을 통해 API 호출이 가능하다.

본 논문에서는 기상청의 단기예보 조회 서비스를 이용하였다. 단기예보 조회 서비스는 최대 24시간 전까지의 정보 조회가 가능하여 24시간 전까지의 기온, 습도, 강수, 풍향 등의 실황을 제공한다. 실황정보를 조회하기 위해 발표 일자, 발표 시각, 예보 지점의 X 좌표, 예보 지점의 Y 좌표를 입력하면 자료 구분코드에 따라 발표 일자, 발표 시각, 예보 지점 X의 좌표, 예보 지점 Y의 좌표의 정보 조회가 가능하다. 본 논문에서는 단기 기온 예측을 목표로 하여 일일 기온 데이터를 호출하고 저장하였다[9].

그림 6은 본 논문에서 활용한 기온 데이터를 나타낸다. 매일 24시간 전까지의 정보 조회가 가능하기 때문에 매일 24개씩의 기온 데이터를 얻어 총 28일 치, 본 논문에서 활용할 4주 동안의 기온 데이터를 얻었다. 기온 데이터는 2021.07.22 00:00부터 2021.08.18. 23:00까지, 2021.09.23 00:00부터 2021.10.20. 23:00까지 4주 동안의 데이터로 각각 “구간 1”과 “구간 2”의 2개 구간으로 나누어 사용한다. 각 구간의 앞 3주 치는 학습 데이터로 이후 1주 치는 검사 데이터로 설정하여 각각 기존 SARIMA 방법과 기존 LSTM과 GRU 방법의 학습 및 검사 부분의 데이터로 활용하였다.


Fig. 6. 
Temperature data

4-3 기존 SARIMA 방법에 사용된 파라미터

SARIMA 모형에는 ‘p’, ‘d’, ‘q’, ‘P’, ‘D’, ‘Q’, ‘m’의 일곱 가지 파라미터가 존재한다. SARIMA 모형을 사용하기 위해 해당 파라미터들을 선정해야 하기 때문에 먼저 SARIMA 모형의 파라미터를 선정하는 법을 알아본다. AIC(Akaike’s Information Criterion, 아카이케 정보 기준) 비교를 통해 적절한 모형을 찾을 수 있는데 AIC는 주어진 데이터 세트에서 가장 적합한 모델을 선정하도록 도와주는 수치이다. AIC의 값이 작을수록 선정한 데이터 세트에서 좋은 모델이 되고 AIC를 비교해 주는 auto arima 모듈을 통해 적절한 파라미터를 얻었다. auto arima 모듈을 이용하면 훈련 데이터 세트를 유지함과 동시에 비교적 빠르게 SARIMA 모형의 파라미터를 선정할 수 있다[10].

그림 7은 SARIMA에 대한 auto arima 실행 결과를 나타낸다. 계절적 성분(m)이 추가된 모형이기 때문에 주어진 데이터의 주기(m 값)를 설정해 줌으로써 원하는 SARIMA 모형을 만들 수 있다. 본 논문의 경우 00시부터 23시까지 하루 24개의 데이터를 얻어 활용했기 때문에 m=24로 설정하고 프로그램을 실행하였다. 실행 결과 AIC 값이 952.137일 때 가장 작으므로 (1,0,1) (1,1,1,24)의 경우가 적합한 모형임을 알 수 있다. 따라서 본 논문에서 SARIMA 파라미터는 (1,0,1) (1,1,1,24)으로 선정하였다.


Fig. 7. 
Auto ARIMA

4-4 기존 LSTM & GRU 방법에 사용된 파라미터

두 순환 신경망 LSTM과 GRU 방법 중 더 적합한 모델을 선택하기 위해 파라미터를 선정해 주어야 한다. 두 방법에는 에포크, 배치, 뉴런의 세 가지 파라미터가 존재한다. 각 파라미터를 선정하는 공식은 없으며, 여러 값을 시도하고 가장 적절한 값을 고른다.

에포크는 학습 횟수 즉 훈련 데이터 세트가 모델을 완전히 통과하는 횟수로 학습을 통해 모델의 손실 함수가 충분히 작아질 때까지 실시한다.

배치는 훈련 데이터 세트를 한 번 업데이트할 때 사용되는 데이터의 묶음이다. 한 에포크에 전체 데이터 세트를 훈련시키기에는 데이터가 너무 많기 때문에 배치를 나누어 훈련시킨다. 대체로 큰 에포크와 작은 배치를 사용하는 것이 일반적이다.

유닛은 인공신경망 출력 층의 계산을 담당하는 부분으로 네트워크를 구성하는 요소이다. 유닛과 네트워크 계층의 개수에 따라 네트워크를 넓거나 깊게 혹은 두 가지를 모두 사용해서 적합한 파라미터를 찾아야 한다.

그림 8그림 9는 구간1에서 그림 10그림 11은 구간2에서 에포크 500, 배치 480, 유닛 64로 실행했을 때 두 방법의 손실 함수를 나타낸다. 실선은 학습 부분에서 발생한 손실 함수를 점선은 검사 부분에서 발생한 손실 함수를 나타낸다. LSTM과 GRU 모두 손실 함숫값이 에포크가 100인 시점부터 0에 수렴하고 있음을 알 수 있는데 에포크를 100 이상으로 설정하면 그만큼 손실 함수도 작아지지만 프로그램의 실행 시간도 증가한다. 또한 두 방법 모두 손실 함숫값이 이미 에포크가 100인 시점 이후부터 0.05이하로 감소하기 시작하여 에포크를 100으로 선정해도 손실 함숫값이 충분히 작다고 판단된다. 이러한 이유로 에포크는 100인 경우가 가장 합리적이라 생각되어 100으로 선정하였다[11].


Fig. 8. 
Loss of existing LSTM scheme in section1


Fig. 9. 
Loss of existing LSTM scheme in section2


Fig. 10. 
Loss of existing GRU scheme in section1


Fig. 11. 
Loss of existing GRU scheme in section2

배치와 유닛은 다음 실험을 통해 선정한다. 배치 크기는 기온 데이터를 하루 24개씩 얻었기 때문에 기존 480에서 120, 96, 72, 48, 24로 줄이고, 유닛 개수도 기존 64개에서 16, 256으로 줄이거나 늘려 LSTM 방법과 GRU 방법의 오차를 비교해 적절한 값을 선정해 준다.

4-5 기존 방법의 오차

기존 기온 예측 방법인 SARIMA, LSTM, GRU로 기온을 예측하고 각 방법의 오차와 그래프를 확인한다. 기온 예측은 앞서 선정한 파라미터를 적용하여 실행하고 오차는 식(2)를 통해 평균오차를 구하여 비교한다. 식(2)에서 i는 몇 시간치의 j는 며칠 치의 데이터를 예측했는지 의미하며 평균오차는 예측한 1주치 기온의 각 시간대별 오차의 절댓값을 구하고, 다시 오차 절댓값에 평균을 내어 구하였다. SARIMA와 LSTM, GRU의 순으로 평균오차와 그래프를 확인하며 LSTM과 GRU는 오차를 비교하며 앞서 정하지 못한 두 파라미터(배치, 유닛)를 선정하고 더 적합한 모델을 고른다.

평균 오차=x=1i*j실제값-예측값xi*ji=시간,j=(2) 

기존 SARIMA 방법의 오차와 그래프를 확인한다. 표 1은 기존 SARIMA 방법의 오차를 나타낸다. 표 1은 구간별로 i는 00시에서 23시까지 하루 24시간 치로 j는 7일(1주) 치로 설정하여 계산한 결과를 나타낸다. 오차가 구간 1에서 1.549, 구간 2에서 7.462로 실제 기온에 비해 크게 차이가 나는 모습이다. 그림 12그림 13은 각 구간을 기존 SARIMA 방법으로 예측했을 때의 그래프이다. 실선은 실제 기온을 점선은 SARIMA 방법을 통해 예측한 기온을 나타낸다. 앞서 표 1에서 확인했듯이 실제 기온과 크게 차이 나는 모습이다. 그림 12를 보면 8월 13일까지는 실제 기온과 비슷한 결과를 내지만 8월 14일 이후부터는 눈에 보이게 실제 기온과 차이가 발생한다. 그림 13에서도 10월 16일의 급격한 기온 감소를 반영하지 못하는 모습이다. 기존 SARIMA 방법은 하루 24시간의 일정한 기온 변화는 잘 예측하지만 강수에 따른 기온 변화를 반영하지 못해 오차가 크게 발생하는 모습이다. 기존 SARIMA 방법은 데이터에서 규칙적 패턴을 찾거나 부여해 예측하는 특징이 있었다. 때문에 몇 십 년 단위의, 장기간의 일정한 패턴을 갖는 기온 데이터를 예측할 때는 좋은 결과를 얻었지만, 그림 12그림 13과 같이 강수 등과 같은 기상변화의 요인으로 불규칙적인 값을 갖는 주 단위의 기온 예측에는 적합하지 않아 보였다.

Table 1. 
Mean error of exsixting SARIMA scheme
Seoction1 Section2
Mean Error 1.549 7.462


Fig. 12. 
Prediction result of existing SARIMA scheme in section1


Fig. 13. 
Prediction result of existing SARIMA scheme in section2

두 순환 신경망 LSTM과 GRU의 선정된 파라미터(에포크=[100], 배치=[120, 96, 72, 48, 24], 유닛=[16, 64, 256])를 바탕으로 기온을 예측하고 각각의 오차와 그래프를 확인한다. 적절한 파라미터를 선정하고 비교하며 본 논문에서 사용할 방법을 고른다. LSTM과 GRU의 경우 각 파라미터의 값에 따라 프로그램의 실행 시간도 달라지지만 본 논문에서는 오차만을 고려하였다. SARIMA와 마찬가지로 식(2)에서 i=24, j=7로 설정하여 계산하였다.

LSTM 방법과 GRU 방법의 오차를 확인한다. 먼저 LSTM 방법의 오차를 알아본다. 표 2표 3은 에포크가 100일 때, 각 구간에서의 배치 크기와 유닛 개수에 따른 LSTM의 오차를 나타낸다. 실험 결과 표 2의 배치 크기가 96, 유닛 개수가 64인 경우를 제외하면 배치 크기가 작고 유닛 개수가 많을수록 프로그램 실행 시간은 증가하지만 오차는 작아짐을 알 수 있었다. 따라서 기존 LSTM 방법은 두 구간 모두 배치 크기가 24, 유닛 개수가 256일 때의 오차가 0.706과 0.741로 가장 작으므로 LSTM의 파라미터는 에포크 100, 배치 24, 유닛 256으로 선정하였다.

Table 2. 
Mean error of existing LSTM scheme in section1
Units 16 64 256
Batch
24 1.167 0.957 0.706
48 2.804 0.997 0.712
72 2.904 1.054 0.793
96 3.374 1.052 0.827
120 3.135 1.105 0.921

Table 3. 
Mean error of existing LSTM scheme in section2
Units 16 64 256
Batch
24 3.590 2.276 0.741
48 4.933 2.484 1.038
72 5.279 3.210 1.379
96 5.141 3.238 2.021
120 5.132 3.695 2.435

이어서 GRU 방법의 오차를 알아본다. 표 4표 5는 에포크가 100일 때, 각 구간에서의 배치 크기와 유닛 개수에 따른 오차를 나타낸다. 실험 결과 표 4의 배치가 120인 경우와 배치가 24 유닛이 64인 경우를 제외하면 LSTM과 마찬가지로 배치 크기가 작고 유닛 개수가 많을수록 프로그램 실행 시간은 증가하지만 오차가 작아짐을 알 수 있었다. 표 4의 경우 유닛이 64일 때 오차가 가장 작았지만 표 5까지 포함한 모든 경우에서 대체로 배치가 작고 유닛이 많을수록 오차가 작으므로 GRU의 파라미터는 에포크 100, 배치 24, 유닛 256으로 선정하였다.

Table 4. 
Mean error of existing GRU scheme in section1
Units 16 64 256
Batch
24 0.836 0.516 0.524
48 1.352 0.796 0.557
72 1.480 0.871 0.593
96 1.727 1.161 0.795
120 1.512 1.022 0.682

Table 5. 
Mean error of existing GRU scheme in section2
Units 16 64 256
Batch
24 1.525 0.960 0.868
48 2.168 1.299 0.940
72 2.511 1.451 0.944
96 2.874 1.727 1.095
120 2.912 1.780 1.103

그림 14에서 그림 17은 각각 선정한 파라미터를 바탕으로 두 구간에서 기온을 예측한 LSTM 방법과 GRU 방법의 그래프이다. 실선은 실제 기온을 점선은 LSTM과 GRU 방법으로 예측한 값을 나타낸다. 순환 신경망은 과거 정보와 현재 데이터를 종합해 예측하는 특성이 있었다. 이러한 특성 때문에 두 방법 모두 강수로 인한 불규칙한 기온 변화(구간 1: 스텝 20 ~ 40, 구간 2: 스텝 30 ~ 50)를 기존 SARIMA 방법에 비해 잘 반영하여 불규칙 데이터임에도 잘 예측해 내는 모습이다. LSTM 방법과 GRU 방법을 비교해 보면 구간 1에서는 GRU가 구간 2에서는 LSTM이 더 우수하지만 구간 별로 표 1표 3, 표 2표 4를 비교해 보면 대체로 GRU 방법의 오차가 더 작음을 확인할 수 있다. 따라서 본 논문에서는 GRU 방법을 이용해 기온을 예측한다.


Fig. 14. 
Prediction result of existing LSTM scheme in section1


Fig. 15. 
Prediction result of existing LSTM scheme in section2


Fig. 16. 
Prediction result of existing GRU scheme in section1


Fig. 17. 
Prediction result of existing GRU scheme in section2

4-6 제안하는 방법과 비교

실험을 통해 SARIMA와 두 순환 신경망 LSTM과 GRU의 파라미터 선정을 완료하였다. 제안하는 기존 GRU와 SARIMA를 결합하는 방법으로 기온을 예측하고 그래프와 오차를 확인한다. 추가로 기존의 기온 예측 방법들인 SARIMA, LSTM, GRU와 오차를 비교하고 제안하는 방법의 오차가 기존 방법들에 비해 얼마나 개선되었는지 개선율을 확인한다.

그림 18그림 19는 기존 GRU의 기온 예측 값에서 SARIMA를 통해 예측한 오차를 제거해 주었을 때의 그래프이다. 실선은 실제 기온을 점선은 제안하는 방법으로 예측한 값을 나타낸다. 그림 16그림 17의 기존 GRU 방법과 비교했을 때 조금 더 실제 기온에 가까운 값을 보여준다. 이어서 제안하는 방법의 오차를 확인하고 기존 방법들에 비해 오차가 얼마나 개선되었는지 개선율을 확인한다. 오차는 앞서 사용한 식 (2)를 오차의 개선율은 식 (3)을 이용해 계산하였다. 식 (2)에서 i=24, j=7로 계산하였으며 식 (3)에서 기존 오차는 기존 기온 예측 방법 SARMA, LSTM, GRU의 오차를 개선된 오차는 제안하는 GRU에 SARIMA를 결합하는 방법의 오차를 뜻한다.

%=-×100(3) 

Fig. 18. 
Prediction result of proposed scheme in section1


Fig. 19. 
Prediction result of proposed scheme in section2

표 6표 7은 제안하는 기존 GRU와 SARIMA를 결합한 방법의 오차를 나타낸다. 표 6표 7에서 볼드체가 앞서 선정한 파라미터에서의 제안하는 방법의 오차를 나타낸다. 표 8은 제안하는 방법의 오차가 기존 기온 예측 방법에 비해 얼마나 개선되었는지 개선율을 나타낸다. 실험 결과 제안하는 방법으로 기온을 예측했을 때의 오차가 “구간 2”의 LSTM의 경우를 제외하고는 기존 방법들에 비해 더 개선된 모습이다. 기존 LSTM의 경우 “구간 2”에서의 오차가 0.741로 제안하는 방법보다 0.035 가량 작았지만 해당 경우를 제외하고는 제안하는 방법으로 기온을 예측했을 때 오차가 확실히 개선되었음을 앞선 표 2 ~ 표 4와의 비교를 통해 확인할 수 있었다.

Table 6. 
Mean error of proposed scheme in section1
Units 16 64 256
Batch
24 0.497 0.381 0.391
48 0.645 0.475 0.366
72 0.699 0.504 0.375
96 0.781 0.572 0.428
120 0.732 0.545 0.406

Table 7. 
Mean error of proposed scheme in section2
Units 16 64 256
Batch
24 1.264 0.918 0.776
48 1.822 1.070 0.741
72 2.148 1.215 0.782
96 2.553 1.415 0.877
120 2.605 1.462 0.904

Table 8. 
Error improvement rate(%) of proposed scheme
Improvement rate(%)
section1 section2
Existing SARIMA 74.758 89.601
Existing LSTM 44.618 -4.723
Existing GRU 25.382 10.599


Ⅴ. 결 론

본 논문에서는 기존 GRU와 기존 SARIMA를 결합하는 하이브리드 형 기온 예측 방법을 제안하였다. 두 구간에서 에포크에 따른 손실 함수를 통해 기본 파라미터를 선정하였고, 다시 실험을 통해 적절한 순환 신경망과 나머지 파라미터를 선정해 주었다. 파라미터에 따라 프로그램의 실행 시간과 오차가 달라졌지만 오차만을 고려하였다. 기존 GRU의 학습 부분에서 발생한 오차를 기존 SARIMA의 데이터로 입력해 GRU의 검사 부분에서 발생할 오차를 예측하였다. 이후 예측한 오차를 GRU의 검사 부분에 대한 예측 값에서 제거하여 오차를 개선하였다. 향후 파라미터 값을 세분화하여 프로그램 실행 시간까지 개선된 기온 예측 모델을 찾고, 실제 예보와 같은 결과를 얻기 위해 기존 순환 신경망뿐만 아니라 합성곱 신경망 등 다른 딥러닝 모델을 활용해 계절에 따른 추세, 강수, 기압 등 다양한 요소를 고려할 수 있는 방법을 찾을 계획이다.


References
1. H. S. Park, “Self-study machine learning + deep learning”, Hanbit Media, pp.26-30, 2021.
2. H. J. Lee, “The Development of the Predict Model for Solar Power Generation based on Current Temperature Data in Restricted Circumstances”, The Journal of Digital Contents Society, Vol. 17, No. 3, pp. 157-164, Jun. 2016.
3. J. H. Kim and K. T. Jang, “Subway Demand Forecast using Seasonal Autoregressive integrated Moving Average”, Korean Society Of Transportation, pp.450-453, Feb 2017.
4. K. B. Kim and K. S. Hwang, “A Study on the Demand Forecasting and Efficient Operation of Jeju National Airport using seasonal ARIMA model”, Journal of the Korea Academia-Industrial cooperation Society, Vol. 13, No. 8, pp. 3381-3388, Aug 2012.
5. J. H. Seo and H. S. Yong, “Performance Evaluation of LSTM and GRU using TensorFlow”, Korea Information Science Society, pp.211-213, Dec 2016.
6. H. H. Kim, “Forecasting time-series data using LSTM/GRU recurrent neural networks”, MS, Korea National Open University, Seoul, Jun 2017.
7. W. S. Lee and H. K. Kim, “Prediction Model of Average Temperature based on Characteristic of Urban-space Using LSTM and GRU: The Case of Wonju City”, Korea Research Institute for Human Settlements, Vol. 109, No. 6, pp. 89-104, Jun 2021.
8. J. Y. Seo, “Deep Learning with Tensorflow”, Gilbut, pp. 552-557, 2021
9. Data Portal. Provide public data integration system[Internet]. Available: https://www.data.go.kr/
10. G. J. Lee, “Time-series data processing and analysis used in practice”, Jpub, pp. 188-218, 2021
11. Ichi pro. IT realated sites [Internet]. Available: https://ichi.pro/ko/yecheug-bunseog-tensorfloweseo-gru-mich-bilstmeul-sayonghan-sigyeyeol-yecheug-148814384408853853

저자소개

강석찬(Seok-Chan Kang)

2018년~현 재 : 강원대학교 IT대학 전기전자공학과 재학

※관심분야 : 사물인터넷(IoT) 및 프로그래밍, 인공지능 등

김동회(Dong-Hoi Kim)

2005년 : 고려대학교 전파공학과(공학박사)

1989년 1월~1997년 1월: 삼성전자 전임연구원

2000년 8월~2005년 8월: 한국전자통신연구원 선임연구원

2006년 3월~현 재: 강원대학교 IT대학 전기전자공학과

2020년 6월~현 재: 강원대학교 정보화본부장 등

※관심분야:무선 네트워크 및 사물인터넷(IoT) 등