Korean J. Remote Sens. 2024; 40(6): 1149-1162
Published online: December 31, 2024
https://doi.org/10.7780/kjrs.2024.40.6.1.22
© Korean Society of Remote Sensing
박재성1, 이양원2*
1국립부경대학교 지구환경시스템과학부 위성정보융합공학전공 학부과정생
2국립부경대학교 지구환경시스템과학부 위성정보융합공학전공 교수
Correspondence to : Yangwon Lee
E-mail: modconfi@pknu.ac.kr
This is an Open Access article distributed under the terms of the Creative Commons Attribution Non-Commercial License (https://creativecommons.org/licenses/by-nc/4.0/) which permits unrestricted non-commercial use, distribution, and reproduction in any medium, provided the original work is properly cited.
In Korea, there are 17,100 agricultural reservoirs that play the role of agricultural water supply and flood prevention, but more than 13,700 of them are not equipped with hydrological measurement facilities, making it difficult to operate properly. On the other hand, research on detecting reservoir water volume using satellite imagery and converting it into water yield is actively underway, and if the water yield prediction model can predict the water yield of agricultural reservoirs with high accuracy, it can enable effective operation of measured and unmeasured reservoirs. In this study, we compared and analyzed the ability of recurrent neural network structure and transformer structure time series models to predict water yield for the top 48 agricultural reservoirs by water volume. The 11 years of water yield data from 2013 to 2023 were constructed, and the 2013-2021 data were separated into training data, 2022 data were used as validation data, and 2023 data were used as test data, and the mean absolute error (MAE), root mean square error (RMSE), and correlation coefficient evaluation metrics were used to quantitatively evaluate the water yield prediction ability. Instead of univariate time series forecasting using only historical water storage rate as an input variable, multivariate time series forecasting reflecting meteorological and seasonal effects as input variables was used, The RMSE averages of 48 reservoirs for 20-day forecasts of temporal fusion transformer (TFT), a time series model with a transformer structure, and gated recurrent unit (GRU), a time series model with a recurrent neural network structure, were 7.115% and 17.428%, respectively, showing that the TFT model has a better ability to predict water storage in the medium term than the GRU model.
Keywords Agricultural reservoir, Water storage, Time series forecasting, Artificial intelligence
우리나라와 같이 1년간 강우패턴이 불규칙한 지역에서는 안정적인 농작물 생산과 여름철 홍수 피해를 예방하기 위한 농업용 저수지의 운용이 중요하며(Lee, 2014), 기상적 영향과 계절적 영향을 반영한 인공지능 기반의 저수율 예측 기술을 이용한다면 가뭄시기의 농업수 공급 문제와 여름철 홍수피해에 대한 효과적대응을 통해 불규칙한 기상 조건 속에서도 적절한 농업용 저수지 운용이 가능하다. Ahn et al. (2004)은 autoregressive integratedmoving averagemodel (ARIMA) 모형을 이용한 저수량 예측과 자기회귀오차모형을 이용한 농업용 저수지의 저수량 예측 및 저수량에 영향을 주는 변수인 저수량, 평균 온도, 최고온도, 관개면적, 풍속, 습도 간의 관계를 분석하였다. Kim et al. (2018)은 형태학적 특성이 같은 저수지를 군집화 후 각 군집 특성을 반영한 회귀식을 개발 및 가뭄지수의 영향을 고려한 전망 저수율을 생산하였다. Kim et al. (2022)은 서포트벡터머신(support vector machine, SVM), 랜덤 포레스트(Random Forest, RF), 인공신경망 모형(artificial neural network, ANN) 등을 활용하여 1개월에서 3개월 최저 평균 저수율을 예측하였다.
Joh and Lee (2023)는 이동저수지를 대상으로 과거 저수율만을 입력변수로 사용한 단변량 long short-termmemory (LSTM) (Hochreiter and Schmidhuber, 1997; Olah, 2015) 및 강수 등의 기상 변수와 계절 변수를 추가한 다변량 LSTM을 사용하여 1일 후부터 5일 후까지의 저수율을 예측했으며 단변량 LSTM은 1일, 3일, 5일 후 저수율을 RMSE 1.04%, 2.52%, 4.18% 오차로 예측을 수행했고 다변량 LSTM은 저수율을 RMSE 0.98%, 1.95%, 2.76% 오차로 예측하여 다변량 시계열모델의 유용성을 입증하였으며, Park et al. (2024)은 전라북도 400여 개 저수지를 대상으로 기본 순방향 신경망을 이용하여 저수지의 복잡한 수문학·기후학적 환경요인을 반영한 저수율 예측 모델을 학습 및 검증하였으며 예측 모델의 각 입력 특성이 전체 성능에 끼치는 영향을 분석하였다. 현재 우리나라의 17,100여 개 농업용 저수지 중(Korea Rural Community Corporation, 2024) 13,700 여 곳의(80.1%) 소형 저수지 대상으로는 체계적인 계측이 이루어지지 않고 있으나, 원격탐사는 미계측되는 소형 저수지에 대한 좋은 방법론이 될 수 있다. Sentinel-1 합성개구레이더 영상과 딥러닝 모델을 이용하여 국내 농업용 저수지의 수표 면적을 탐지한 연구(Choi et al., 2023)와 Sentinel-1 합성개구레이더 영상을 이용한 댐 및 저수지의 수표 면적 모니터링 및 회귀 방정식을 사용하여 수체면적을 저장량으로 추정한 연구(Kim et al., 2024)결과에 저수율 예측기술을 접목한다면 미계측저수지에 대한 효과적 운영이 가능할 것으로 보인다.
그러나 앞선 연구에서의 순환신경망 구조 시계열모델과 순방향 신경망을 이용한 저수율예측은 1일 후의 예측치를 다시 다음 1일 후 예측에 재귀적으로 사용하므로 중기예측에서의 정확도가 감소하게 되는데, 트랜스포머 구조의 시계열예측 모델인 temporal fusion transformer (TFT) (Lim et al., 2021; Kang, 2024)는 강수량, 기온과 같이 관측해야만 알 수 있는 관측 변수와 date of year (DOY)와 같은 시점과 관계없이 알 수 있는 변수를 구분하고 이를 학습에 반영하여 기존 모델보다 정확도 높은 중·장기 예측 정확도를 가지며 재귀적 방식이 아닌 트랜스포머 기반의 multi-head attention 기법을 사용하여 순환신경망 구조의 시계열예측 모델이 가지는 한계점을 개선할 수 있다. 이에 본 연구는 과거 저수율, 기상 변수, 계절 변수를 입력변수로 한 다변량 순환신경망 및 트랜스포머 시계열모델을 이용하여 전국의 주요 농업용 저수지의 저수율을 단기 및 중기간 예측하며, 검증통계량을 사용한 모델 간 결과에 대한 비교 분석과 중기간 저수율 예측에서 트랜스포머 모델의 사용 가능성을 검토하는 것을 목적으로 한다.
본 연구는 우리나라의 농업용 저수지 중 유효저수량 기준 상위 48개(Table 1)를 대상으로 하며 전체 경지면적 중 논의 비율이 높은 충청도, 전라도에 집중적으로 분포해 있다(Fig. 1). 저수율데이터는 농촌용수종합정보시스템(Rural AgriculturalWater Resource Information System, RAWRIS)을 통해 제공받았으며 2013년부터 2023년까지의 11년 일일 단위 저수율데이터를 추출하여 연구에 사용하였고 결측치의 경우 선형보간을 적용하여 연구에 사용하였다.
Table 1 List of top 48 agricultural reservoirs by effective water storage in South Korea
Reservoir | Effective water storage (m3) | Latitude | Longitude | Reservoir | Effective water storage (m3) | Latitude | Longitude |
---|---|---|---|---|---|---|---|
Najuho | 107,000,000 | 34.964 | 126.852 | Geumgwang | 12,047,000 | 36.996 | 127.326 |
Jangseongho | 99,707,200 | 35.359 | 126.814 | Suyang | 11,834,100 | 35.228 | 126.686 |
Damyangho | 76,669,600 | 35.382 | 127.001 | Giheung | 11,630,000 | 37.225 | 127.111 |
Daea | 57,688,000 | 35.982 | 127.301 | Dongsang | 11,241,000 | 35.982 | 127.301 |
Yedang | 46,070,200 | 36.653 | 126.805 | Yongrim | 11,188,000 | 35.616 | 127.559 |
Tapjeong | 34,940,000 | 36.17 | 127.151 | Gui | 10,878,000 | 35.744 | 127.119 |
Donghwa | 31,348,000 | 35.544 | 127.539 | Dongbu | 10,733,800 | 36.106 | 126.777 |
Hadong | 30,336,900 | 35.156 | 127.8 | Heungdeok | 9,946,000 | 35.556 | 126.714 |
Seongju | 28,150,000 | 35.903 | 128.154 | Bomun | 9,834,000 | 35.834 | 129.253 |
Gyeongcheon (Gyeongsangbuk-do) | 27,200,000 | 36.691 | 128.311 | Wonnam | 8,690,200 | 36.864 | 127.564 |
Baekgok | 26,372,000 | 36.86 | 127.417 | Dalchang | 8,649,000 | 35.645 | 128.462 |
Gyeongcheon (Jeonrabuk-do) | 25,346,000 | 36.028 | 127.227 | Myogok | 8,441,000 | 36.526 | 129.346 |
Deokdong | 22,537,100 | 35.823 | 129.285 | Otae | 8,291,000 | 36.504 | 128.123 |
Idong | 20,906,000 | 37.111 | 127.201 | Gung | 8,222,000 | 36.521 | 127.647 |
Cheongcheon | 20,753,100 | 36.365 | 126.61 | Biryong | 8,163,000 | 36.482 | 127.809 |
Cheongho | 18,045,000 | 35.734 | 126.697 | Seobu | 7,989,000 | 36.117 | 126.699 |
Togyo | 17,412,000 | 38.263 | 127.277 | Gabuk | 7,979,000 | 35.785 | 128.001 |
Gosam | 15,217,000 | 37.076 | 127.281 | Jangnam | 7,920,800 | 35.552 | 127.486 |
Bulgap | 15,200,000 | 35.229 | 126.506 | Gopung | 7,821,800 | 36.78 | 126.61 |
Gwangjuho | 15,198,000 | 35.204 | 126.985 | Daegok | 7,712,000 | 35.684 | 127.622 |
Obong | 14,329,100 | 37.71 | 128.819 | Daedong | 7,502,100 | 35.118 | 126.507 |
Maengdong | 13,910,000 | 36.892 | 127.57 | Neung | 7,315,600 | 35.854 | 126.836 |
Chopyeong | 13,853,200 | 36.817 | 127.514 | Geumbong | 7,259,200 | 36.352 | 128.853 |
Okgu | 12,826,100 | 35.906 | 126.666 | Sucheong | 7,001,000 | 35.553 | 126.93 |
다변량 시계열모델의 입력자료로 사용된 일 강수 자료는 우리나라 기상청의 국지예보모델(Local Data Assimilation and Prediction System, LDAPS) 실황장의 강수량 데이터를 사용하였다. LDAPS는 영국 통합모델(UnifiedModel, UM)로부터 3시간 간격으로 경계장을 제공받아서 일 4회 48시간 예측을 수행하는 수치예보 시스템이며, UM은 기상관측소, 라디오존데, 위성정보 등의 소스에서 획득한 데이터를 바탕으로 예보를 수행한다(Korea Meteorological Administration, 2024). 본 연구에서는 3시간 단위의 LDAPS 자료로부터 강수량 레이어를 추출한 뒤 일 강수로 합성하여 모델 입력변수로 사용하였다.
본 연구에서는 순환신경망 구조의 시계열 모델로 LSTM과 gated reccurrent unit (GRU) (Cho et al., 2014)을 사용하였다(Fig. 2). 초기 시계열예측에는 Vanilla recurrent neural network (RNN)가 주로 사용되어 왔지만 기울기 소실 문제 및 역전파 과정의 비효율성 문제가 있었고 이후 Vanilla RNN 방식의 단점을 보완하기 위한 LSTM과 내부구조를 간소화한 GRU가 제안되었다. LSTM은 입력게이트, 출력게이트, 망각게이트, 셀의 내부구조를 통해 장기 종속성을 강화하여 과거 데이터 중 중요한 정보를 예측에 활용하며, GRU는 LSTM의 입력게이트, 출력게이트, 망각게이트를 축소하여 업데이트게이트와 리셋게이트로 구성함으로써 더 적은 파라미터를 학습에 사용하여 훈련 시간을 단축할 수 있다는 장점이 있다. LSTM과 GRU의 내부 게이트 구조 차이로 인해 어떤 Task를 대상으로 예측을 수행하는지에 따라 높은 정확도를 가지는 모델이 다르며, 내부구조가 더 복잡한 LSTM의 경우 일반적으로 더 복잡한 문제에 대한 예측 능력이 더 우수하며 GRU의 경우 LSTM에 비해 더 간단한 문제에 대한 예측 능력이 우수하다.
본 연구에서 사용한 트랜스포머 구조의 시계열모델인 TFT는 기존 순환신경망 구조의 모델들이 가지는 한계인 먼 미래에 대한 예측의 불확실성을 해결하였다. TFT는 관측해야만 알 수 있는 관측 변수(Observed Inputs)와 시점과 관계없이 알 수 있는 변수인 알고있는 변수(Known Inputs)를 구분하며 학습 및 예측단계에서 알고있는 변수를 LSTMDecoder, GRN 계층에 통과시켜 직접적으로 사용하여 중·장기에 대해서도 높은 정확도로 예측을 수행한다. 또한 1일 후 예측을 다음날 예측의 입력변수로 사용하는 재귀적 방식의 메커니즘 대신 트랜스포머 기반의 multi-head attention 메커니즘을 사용하여 Abhay, Alberto 순환신경망 구조의 시계열모델에 비해 중·장기 예측에서 강점을 가진다(Fig. 3).
시계열 예측모델의 타깃변수는 일일 저수율이며 이를 예측하기 위한 설명변수로 LSTM, GRU 모델은 과거 저수율, 일 강수, DOY를 사용하였고(Table 2) 파이썬(Python)의 Keras 라이브러리를 사용하여 구현하였다(Keras, 2024). TFT 모델은 관측 변수로는 과거저수율과 강수량, 알고있는 변수로는DOY, week of year (WOY), month of year (MOY)를 사용하였으며(Table 2), 파이썬의 PyTorch Forecasting 라이브러리를 사용하여 구현하였다(PyTorch Forecasting, 2024).
Table 2 Input variables for each multivariate time forecasting model
Model | Input variables |
---|---|
LSTM | Daily water storage rate, Daily precipitation, DOY |
GRU | Daily water storage rate, Daily precipitation, DOY |
TFT | Daily water storage rate, Daily precipitation, DOY, WOY, MOY |
LSTM: long short term memory, GRU: gated recurrent unit, TFT: temporal fusion transformer, DOY: date of year, WOY: week of year, MOY: month of year.
훈련데이터 셋의 기간은 2013년부터 2021년, 검증용 데이터셋의 기간은 2022년 평가용 데이터셋의 기간은 2023년으로 설정하였으며 시계열 모델링에서 중요한 하이퍼파라미터(hyperparameter)인 과거 며칠의 데이터를 사용하여 미래를 예측할 것인가는 과거저수율, 일 강수, DOY를 입력변수로 하여 모델 훈련을 진행하는 상황에서의 반복 실험을 통해 설정한 과거 20일로 설정하였고 반복 학습을 통해 여러 하이퍼파라미터의 최적화를 수행하였다(Table 3).
Table 3 Hyperparameter setting for each multivariate time forecasting model
Model | LSTM | GRU | Model | TFT |
---|---|---|---|---|
Number of epoch | 100 | 100 | Number of epoch | 100 |
Number of steps | 20 | 20 | Number of steps | 20 |
Number of layer | 100 | 120 | Number of layers | 160 |
Learning rate | 0.0001 | 0.0001 | Learning rate | 0.0001 |
Batch size | 32 | 32 | Batch size | 64 |
Activation function | ReLU | ReLU | Attention head size | 8 |
LSTM: long short term memory, GRU: gated recurrent unit, TFT: temporal fusion.
농업용 저수지의 1년간 저수율 패턴을 살펴보면, 5월 이전 비농업시기에 100%의 저수율에 가깝게 물을 저장하고 있다가 농업 시기가 오면 하류 농경지의 관개수 공급을 목적으로 농업수를 방류한다(Song et al., 2022). 그 후 강우량이 많아지는 장마철에는 증가한 물 유입량과 줄어든 농업수의 수요로 인하여 저수율이 급격하게 상승하게 된다. 이때 시설 피해를 막기 위해 저장과 방류를 반복하는 홍수 통제 기간을 가지고 이후 수확이 끝나면 다음 해 농업시기를 대비하여 물을 저장하는 패턴을 확인할 수 있다(Fig. 4).
대상 저수지들이 일반적인 농업용 저수지의 패턴을 따라가는지를 확인하기 위하여 48개 저수지의 월별 저수율평균, 표준편차, 평균 일간절대편차(mean of absolute daily difference, MADD)를 산출하였다(Table 4). 저수율의 월별 통계를 살펴보면, 비농업시기인 1월부터 4월 그리고 11월과 12월의 저수율은 농업시기인 5월에서 10월의 저수율에 비해 높은 것을 알 수 있다. 또한 장마철에 해당하는 7월과 8월의 경우 저장과 방류를 반복하는 홍수조절 기간의 영향으로 인해 평균일간절대편차가 다른 달에 비해 큰 값을 가지는 것을 확인할 수 있다. 계절적 특성이 뚜렷하게 나타나는 농업용 저수지의 저수율을 대상으로 한 시계열 모델링에서 계절 변수의 입력변수 반영은 모델 학습에 있어서 중요하다.
Table 4 Monthly average statistics of water storage rate from 2013 to 2023
Month | Average (%p) | SD | MADD |
---|---|---|---|
1 | 76.076 | 19.856 | 0.679 |
2 | 77.624 | 19.734 | 0.705 |
3 | 80.304 | 18.631 | 0.678 |
4 | 83.640 | 16.202 | 0.679 |
5 | 75.388 | 16.181 | 1.478 |
6 | 54.938 | 16.718 | 1.389 |
7 | 61.770 | 20.494 | 1.799 |
8 | 62.634 | 20.347 | 1.630 |
9 | 65.914 | 21.285 | 1.321 |
10 | 69.264 | 21.193 | 0.933 |
11 | 71.081 | 20.856 | 0.848 |
12 | 74.407 | 20.152 | 0.753 |
SD: standard deviation, MADD: mean of daily difference of water storage rate change.
본 연구에서는 3일 후까지의 예측 기간을 단기 예측으로 정의하였고 4일부터 20일 후 까지를 중기 예측으로 정의하여 순환신경망 구조 및 트랜스포머 구조 시계열모델의 저수율 예측 능력을 비교하였다(Table 5). 1일 후 예측에서는 저수지마다 차이가 있지만 GRU와 TFT의 예측 능력이 가장 우수하였고 2일 후, 3일 후 예측에서는 TFT의 저수율 예측 통계량이 LSTM과 GRU의 저수율 예측 통계량보다 우수하였다.
Table 5 Monthly average statistics of water storage rate from 2013 to 2023
After day | Reservoir | LSTM | GRU | TFT | ||||||
---|---|---|---|---|---|---|---|---|---|---|
MAEd) | RMSE | CC | MAE | RMSE | CC | MAE | RMSE | CC | ||
1 | Najuho | 1.059 | 1.767 | 0.992 | 0.865 | 1.403 | 0.995 | 1.347 | 1.772 | 0.994 |
Jangseongho | 1.308 | 1.790 | 0.996 | 1.047 | 1.805 | 0.996 | 1.199 | 1.788 | 0.996 | |
Damyangho | 4.088 | 5.440 | 0.995 | 0.925 | 1.444 | 0.998 | 1.861 | 2.279 | 0.998 | |
Daea | 1.547 | 3.008 | 0.921 | 1.387 | 2.968 | 0.921 | 0.973 | 2.741 | 0.929 | |
Yedang | 2.726 | 4.278 | 0.974 | 2.418 | 3.968 | 0.978 | 2.505 | 3.899 | 0.978 | |
Tapjeong | 1.781 | 3.480 | 0.947 | 1.721 | 3.557 | 0.944 | 2.022 | 3.699 | 0.941 | |
Donghwa | 1.918 | 2.814 | 0.975 | 0.988 | 1.554 | 0.991 | 1.254 | 1.850 | 0.988 | |
Hadong | 1.086 | 1.632 | 0.964 | 1.011 | 1.548 | 0.968 | 1.451 | 2.243 | 0.936 | |
Seongju | 1.515 | 3.099 | 0.915 | 1.372 | 2.944 | 0.925 | 1.943 | 3.495 | 0.889 | |
Gyeongcheon | 1.153 | 2.138 | 0.982 | 1.204 | 2.215 | 0.981 | 1.807 | 3.286 | 0.961 | |
Baekgok | 1.062 | 2.125 | 0.988 | 1.028 | 1.828 | 0.991 | 1.387 | 2.192 | 0.990 | |
Gyeongcheon | 1.792 | 3.267 | 0.948 | 1.666 | 3.100 | 0.952 | 2.010 | 3.861 | 0.923 | |
Deokdong | 1.125 | 1.807 | 0.976 | 0.977 | 1.643 | 0.980 | 0.869 | 1.822 | 0.975 | |
Idong | 1.884 | 2.828 | 0.989 | 1.712 | 2.666 | 0.989 | 2.188 | 3.696 | 0.983 | |
Cheongcheon | 1.479 | 2.263 | 0.985 | 1.315 | 2.255 | 0.985 | 1.559 | 2.664 | 0.979 | |
Cheongho | 0.753 | 1.133 | 0.984 | 0.745 | 1.163 | 0.984 | 0.972 | 1.338 | 0.979 | |
Togyo | 0.905 | 1.190 | 0.990 | 0.920 | 1.216 | 0.990 | 1.048 | 1.440 | 0.990 | |
Gosam | 1.235 | 2.521 | 0.990 | 1.059 | 2.340 | 0.992 | 1.514 | 3.104 | 0.990 | |
Bulgap | 3.887 | 5.164 | 0.976 | 1.607 | 2.422 | 0.991 | 2.991 | 4.083 | 0.984 | |
Gwangjuho | 1.528 | 3.175 | 0.934 | 1.311 | 2.901 | 0.946 | 1.777 | 3.344 | 0.920 | |
Obong | 1.973 | 2.840 | 0.989 | 1.308 | 1.904 | 0.995 | 2.156 | 3.108 | 0.989 | |
Maengdong | 2.739 | 3.636 | 0.975 | 1.542 | 2.088 | 0.992 | 1.953 | 2.433 | 0.990 | |
Chopyeong | 1.201 | 2.592 | 0.969 | 1.245 | 2.705 | 0.966 | 1.519 | 3.161 | 0.956 | |
Okgu | 1.505 | 2.139 | 0.980 | 1.196 | 1.766 | 0.987 | 1.328 | 1.965 | 0.983 | |
Geumgwang | 1.514 | 2.671 | 0.986 | 1.633 | 2.840 | 0.986 | 5.090 | 6.356 | 0.958 | |
Suyang | 4.273 | 5.699 | 0.975 | 2.465 | 4.289 | 0.978 | 2.567 | 4.142 | 0.977 | |
Giheung | 2.142 | 2.962 | 0.979 | 1.741 | 2.611 | 0.980 | 3.098 | 5.225 | 0.967 | |
Dongsang | 2.171 | 3.535 | 0.978 | 1.881 | 3.526 | 0.978 | 1.944 | 3.565 | 0.978 | |
Yongrim | 6.538 | 9.593 | 0.969 | 4.294 | 6.012 | 0.989 | 2.083 | 2.638 | 0.996 | |
Gui | 1.745 | 3.542 | 0.939 | 1.546 | 3.114 | 0.953 | 2.380 | 4.650 | 0.899 | |
Dongbu | 1.487 | 2.779 | 0.957 | 1.493 | 2.979 | 0.951 | 2.064 | 3.523 | 0.927 | |
Heungdeok | 2.714 | 5.175 | 0.846 | 2.593 | 5.191 | 0.853 | 2.856 | 6.130 | 0.779 | |
Bomun | 1.255 | 2.178 | 0.988 | 1.381 | 2.281 | 0.988 | 2.243 | 3.751 | 0.972 | |
Wonnam | 1.197 | 2.458 | 0.975 | 1.142 | 2.165 | 0.984 | 1.427 | 3.058 | 0.969 | |
Dalchang | 1.537 | 2.642 | 0.939 | 1.755 | 2.786 | 0.938 | 1.800 | 3.132 | 0.912 | |
Myogok | 1.142 | 2.419 | 0.979 | 1.080 | 2.290 | 0.981 | 1.756 | 3.189 | 0.964 | |
Otae | 1.489 | 2.449 | 0.987 | 1.233 | 2.134 | 0.991 | 1.270 | 2.047 | 0.991 | |
Gung | 1.286 | 1.892 | 0.981 | 0.913 | 1.509 | 0.983 | 1.216 | 1.724 | 0.977 | |
Biryong | 7.139 | 9.834 | 0.857 | 4.156 | 6.442 | 0.928 | 3.405 | 5.892 | 0.935 | |
Seobu | 1.912 | 3.221 | 0.952 | 1.875 | 3.240 | 0.954 | 1.803 | 3.146 | 0.949 | |
Gabuk | 1.372 | 2.360 | 0.945 | 1.260 | 2.310 | 0.946 | 1.474 | 2.873 | 0.925 | |
Jangnam | 1.537 | 2.745 | 0.925 | 1.541 | 2.316 | 0.948 | 1.535 | 3.077 | 0.899 | |
Gopung | 1.688 | 2.838 | 0.983 | 1.171 | 2.153 | 0.990 | 2.027 | 3.531 | 0.973 | |
Daegok | 1.130 | 1.895 | 0.974 | 1.306 | 2.012 | 0.970 | 1.631 | 2.667 | 0.945 | |
Daedong | 2.173 | 3.844 | 0.976 | 2.243 | 3.722 | 0.977 | 2.144 | 3.759 | 0.977 | |
Neung | 0.785 | 1.357 | 0.941 | 0.620 | 1.136 | 0.958 | 0.870 | 1.480 | 0.928 | |
Geumbong | 1.434 | 2.482 | 0.993 | 1.656 | 2.691 | 0.992 | 1.878 | 3.596 | 0.986 | |
Sucheong | 3.325 | 5.356 | 0.945 | 2.884 | 4.706 | 0.961 | 3.794 | 5.457 | 0.946 | |
2 | Najuho | 1.578 | 2.694 | 0.981 | 1.206 | 2.103 | 0.988 | 1.204 | 1.723 | 0.994 |
Jangseongho | 1.840 | 2.441 | 0.993 | 1.356 | 2.263 | 0.994 | 1.377 | 1.956 | 0.995 | |
Damyangho | 4.765 | 6.267 | 0.993 | 1.116 | 1.717 | 0.997 | 1.743 | 2.176 | 0.998 | |
Daea | 2.160 | 3.498 | 0.894 | 1.770 | 3.323 | 0.902 | 0.979 | 2.603 | 0.936 | |
Yedang | 3.966 | 5.791 | 0.952 | 3.525 | 5.200 | 0.965 | 2.569 | 3.951 | 0.978 | |
Tapjeong | 2.506 | 4.204 | 0.927 | 2.718 | 4.766 | 0.898 | 2.032 | 3.770 | 0.939 | |
Donghwa | 2.999 | 4.045 | 0.943 | 1.642 | 2.516 | 0.977 | 1.152 | 1.735 | 0.988 | |
Hadong | 1.458 | 2.049 | 0.944 | 1.541 | 2.094 | 0.944 | 1.413 | 2.177 | 0.938 | |
Seongju | 2.460 | 4.095 | 0.857 | 2.181 | 3.775 | 0.879 | 1.916 | 3.393 | 0.893 | |
Gyeongcheon | 1.682 | 2.874 | 0.967 | 1.667 | 2.855 | 0.970 | 1.794 | 3.264 | 0.961 | |
Baekgok | 1.725 | 3.232 | 0.973 | 1.530 | 2.935 | 0.976 | 1.348 | 2.108 | 0.990 | |
Gyeongcheon | 2.448 | 3.828 | 0.928 | 2.167 | 3.512 | 0.939 | 1.952 | 3.783 | 0.925 | |
Deokdong | 1.828 | 2.596 | 0.957 | 1.280 | 1.905 | 0.973 | 0.911 | 1.845 | 0.975 | |
Idong | 2.657 | 3.775 | 0.982 | 2.306 | 3.404 | 0.984 | 2.225 | 3.804 | 0.984 | |
Cheongcheon | 2.505 | 3.601 | 0.964 | 1.877 | 2.756 | 0.978 | 1.523 | 2.661 | 0.979 | |
Cheongho | 1.180 | 1.698 | 0.965 | 1.194 | 1.857 | 0.963 | 1.017 | 1.383 | 0.978 | |
Togyo | 1.402 | 1.842 | 0.976 | 1.273 | 1.650 | 0.982 | 1.157 | 1.539 | 0.990 | |
Gosam | 1.833 | 3.209 | 0.985 | 1.602 | 2.921 | 0.989 | 1.662 | 3.311 | 0.990 | |
Bulgap | 5.497 | 7.103 | 0.947 | 2.265 | 3.216 | 0.984 | 2.889 | 3.979 | 0.984 | |
Gwangjuho | 2.527 | 3.970 | 0.902 | 2.125 | 3.664 | 0.918 | 1.702 | 3.259 | 0.924 | |
Obong | 2.416 | 3.361 | 0.986 | 1.944 | 2.521 | 0.992 | 2.460 | 3.609 | 0.987 | |
Maengdong | 3.383 | 4.433 | 0.964 | 2.192 | 2.872 | 0.986 | 3.014 | 3.708 | 0.978 | |
Chopyeong | 1.843 | 3.375 | 0.949 | 1.867 | 3.647 | 0.937 | 1.528 | 3.457 | 0.947 | |
Okgu | 2.840 | 3.708 | 0.941 | 2.367 | 3.447 | 0.951 | 1.245 | 1.851 | 0.985 | |
Geumgwang | 2.318 | 3.655 | 0.976 | 2.612 | 4.002 | 0.977 | 5.039 | 6.370 | 0.957 | |
Suyang | 6.403 | 7.726 | 0.953 | 3.295 | 5.094 | 0.969 | 2.837 | 4.316 | 0.975 | |
Giheung | 3.905 | 4.903 | 0.953 | 2.893 | 3.988 | 0.953 | 3.273 | 5.305 | 0.964 | |
Dongsang | 4.018 | 5.909 | 0.939 | 3.978 | 6.671 | 0.918 | 1.965 | 3.638 | 0.977 | |
Yongrim | 9.160 | 13.083 | 0.934 | 5.309 | 7.204 | 0.982 | 2.553 | 3.093 | 0.995 | |
Gui | 3.022 | 5.165 | 0.877 | 2.213 | 3.665 | 0.936 | 2.371 | 4.736 | 0.895 | |
Dongbu | 1.901 | 3.302 | 0.943 | 1.801 | 3.362 | 0.939 | 2.002 | 3.416 | 0.932 | |
Heungdeok | 3.790 | 6.231 | 0.778 | 3.778 | 6.985 | 0.751 | 2.843 | 6.051 | 0.785 | |
Bomun | 2.167 | 3.402 | 0.972 | 1.690 | 2.693 | 0.985 | 2.233 | 3.721 | 0.972 | |
Wonnam | 1.706 | 3.459 | 0.951 | 1.746 | 3.143 | 0.975 | 1.307 | 2.913 | 0.972 | |
Dalchang | 1.995 | 3.171 | 0.911 | 2.417 | 3.639 | 0.901 | 1.746 | 3.125 | 0.912 | |
Myogok | 1.656 | 3.016 | 0.967 | 1.386 | 2.540 | 0.977 | 1.680 | 3.169 | 0.964 | |
Otae | 2.593 | 4.111 | 0.963 | 2.217 | 3.792 | 0.968 | 1.411 | 2.263 | 0.990 | |
Gung | 1.688 | 2.364 | 0.969 | 1.216 | 1.854 | 0.976 | 1.165 | 1.707 | 0.978 | |
Biryong | 10.304 | 14.079 | 0.716 | 6.001 | 8.862 | 0.872 | 3.267 | 5.846 | 0.935 | |
Seobu | 2.840 | 4.476 | 0.924 | 2.860 | 4.637 | 0.934 | 1.765 | 3.067 | 0.951 | |
Gabuk | 2.057 | 3.037 | 0.918 | 1.884 | 2.955 | 0.918 | 1.480 | 2.835 | 0.926 | |
Jangnam | 1.794 | 3.216 | 0.900 | 2.052 | 3.151 | 0.919 | 1.566 | 3.083 | 0.898 | |
Gopung | 2.515 | 4.183 | 0.963 | 1.707 | 2.820 | 0.983 | 2.012 | 3.377 | 0.975 | |
Daegok | 1.506 | 2.326 | 0.962 | 1.620 | 2.405 | 0.957 | 1.617 | 2.641 | 0.946 | |
Daedong | 3.275 | 5.020 | 0.961 | 3.450 | 4.930 | 0.960 | 2.139 | 3.730 | 0.977 | |
Neung | 1.142 | 1.868 | 0.895 | 0.707 | 1.172 | 0.955 | 0.875 | 1.465 | 0.930 | |
Geumbong | 1.856 | 2.817 | 0.991 | 1.782 | 2.807 | 0.991 | 1.849 | 3.547 | 0.987 | |
Sucheong | 5.537 | 8.515 | 0.867 | 3.830 | 5.313 | 0.957 | 3.951 | 5.507 | 0.946 | |
3 | Najuho | 1.999 | 3.328 | 0.970 | 1.442 | 2.499 | 0.983 | 1.332 | 2.031 | 0.990 |
Jangseongho | 2.344 | 3.141 | 0.988 | 1.585 | 2.572 | 0.992 | 1.675 | 2.387 | 0.993 | |
Damyangho | 5.465 | 7.147 | 0.989 | 1.259 | 1.908 | 0.996 | 1.969 | 2.400 | 0.997 | |
Daea | 2.759 | 4.064 | 0.861 | 2.058 | 3.597 | 0.889 | 1.019 | 2.535 | 0.940 | |
Yedang | 4.923 | 7.108 | 0.928 | 4.306 | 6.065 | 0.952 | 2.704 | 4.114 | 0.976 | |
Tapjeong | 3.360 | 5.238 | 0.899 | 3.648 | 6.115 | 0.839 | 2.146 | 3.967 | 0.932 | |
Donghwa | 3.961 | 5.179 | 0.904 | 2.268 | 3.398 | 0.961 | 1.181 | 1.769 | 0.988 | |
Hadong | 1.930 | 2.694 | 0.912 | 2.088 | 2.826 | 0.913 | 1.430 | 2.179 | 0.937 | |
Seongju | 3.366 | 5.182 | 0.788 | 2.943 | 4.753 | 0.813 | 1.921 | 3.447 | 0.887 | |
Gyeongcheon | 2.201 | 3.597 | 0.949 | 2.107 | 3.577 | 0.957 | 1.825 | 3.296 | 0.961 | |
Baekgok | 2.358 | 4.103 | 0.958 | 1.998 | 3.874 | 0.961 | 1.434 | 2.217 | 0.988 | |
Gyeongcheon | 3.148 | 4.619 | 0.894 | 2.600 | 4.036 | 0.922 | 1.987 | 3.829 | 0.924 | |
Deokdong | 2.576 | 3.497 | 0.937 | 1.496 | 2.086 | 0.969 | 0.954 | 1.885 | 0.973 | |
Idong | 3.346 | 4.733 | 0.974 | 2.804 | 4.153 | 0.977 | 2.339 | 3.912 | 0.984 | |
Cheongcheon | 3.704 | 5.485 | 0.926 | 2.438 | 3.360 | 0.968 | 1.545 | 2.693 | 0.979 | |
Cheongho | 1.666 | 2.525 | 0.928 | 1.698 | 2.758 | 0.922 | 1.080 | 1.451 | 0.976 | |
Togyo | 2.009 | 2.714 | 0.947 | 1.642 | 2.171 | 0.972 | 1.226 | 1.606 | 0.989 | |
Gosam | 2.362 | 3.956 | 0.978 | 2.249 | 3.836 | 0.983 | 1.771 | 3.400 | 0.990 | |
Bulgap | 6.793 | 8.646 | 0.912 | 2.805 | 3.908 | 0.976 | 3.034 | 4.125 | 0.983 | |
Gwangjuho | 3.649 | 5.212 | 0.841 | 2.914 | 4.535 | 0.879 | 1.741 | 3.220 | 0.926 | |
Obong | 3.121 | 4.305 | 0.979 | 2.544 | 3.154 | 0.989 | 2.852 | 4.150 | 0.983 | |
Maengdong | 3.927 | 5.055 | 0.955 | 2.593 | 3.321 | 0.982 | 3.337 | 3.944 | 0.973 | |
Chopyeong | 2.570 | 4.438 | 0.919 | 2.495 | 4.686 | 0.897 | 1.640 | 3.808 | 0.935 | |
Okgu | 4.205 | 5.314 | 0.882 | 3.837 | 5.544 | 0.878 | 1.300 | 1.914 | 0.984 | |
Geumgwang | 3.107 | 4.892 | 0.962 | 3.570 | 5.375 | 0.965 | 5.027 | 6.343 | 0.956 | |
Suyang | 8.378 | 9.783 | 0.916 | 3.975 | 5.738 | 0.960 | 3.119 | 4.584 | 0.972 | |
Giheung | 5.772 | 7.116 | 0.912 | 4.223 | 5.881 | 0.900 | 3.435 | 5.425 | 0.961 | |
Dongsang | 6.332 | 9.363 | 0.848 | 6.880 | 10.839 | 0.780 | 2.308 | 3.917 | 0.973 | |
Yongrim | 10.750 | 15.001 | 0.905 | 6.044 | 8.026 | 0.976 | 3.118 | 3.734 | 0.992 | |
Gui | 4.610 | 7.478 | 0.775 | 3.059 | 4.702 | 0.901 | 2.442 | 4.821 | 0.891 | |
Dongbu | 2.416 | 4.201 | 0.915 | 2.059 | 3.751 | 0.927 | 1.959 | 3.364 | 0.934 | |
Heungdeok | 5.085 | 7.607 | 0.688 | 5.135 | 9.160 | 0.618 | 2.931 | 6.133 | 0.778 | |
Bomun | 3.103 | 4.777 | 0.946 | 1.948 | 2.980 | 0.983 | 2.306 | 3.767 | 0.971 | |
Wonnam | 2.116 | 4.278 | 0.926 | 2.394 | 4.421 | 0.965 | 1.241 | 2.846 | 0.973 | |
Dalchang | 2.462 | 3.648 | 0.882 | 3.004 | 4.592 | 0.855 | 1.752 | 3.185 | 0.908 | |
Myogok | 2.264 | 3.988 | 0.944 | 1.634 | 2.896 | 0.972 | 1.703 | 3.207 | 0.963 | |
Otae | 3.637 | 5.546 | 0.931 | 3.123 | 5.249 | 0.937 | 1.712 | 2.755 | 0.984 | |
Gung | 2.170 | 3.022 | 0.951 | 1.533 | 2.301 | 0.966 | 1.194 | 1.751 | 0.977 | |
Biryong | 12.603 | 17.613 | 0.579 | 6.978 | 10.169 | 0.828 | 3.255 | 5.836 | 0.934 | |
Seobu | 3.836 | 6.203 | 0.880 | 3.943 | 6.566 | 0.904 | 1.743 | 3.053 | 0.951 | |
Gabuk | 2.881 | 3.980 | 0.883 | 2.628 | 3.954 | 0.873 | 1.529 | 2.869 | 0.923 | |
Jangnam | 2.044 | 3.675 | 0.876 | 2.505 | 4.100 | 0.893 | 1.608 | 3.119 | 0.894 | |
Gopung | 3.338 | 5.787 | 0.934 | 2.268 | 3.809 | 0.970 | 2.064 | 3.398 | 0.974 | |
Daegok | 1.944 | 2.844 | 0.946 | 1.850 | 2.724 | 0.945 | 1.613 | 2.639 | 0.946 | |
Daedong | 4.620 | 6.887 | 0.933 | 4.738 | 6.847 | 0.927 | 2.300 | 3.800 | 0.976 | |
Neung | 1.557 | 2.623 | 0.815 | 0.770 | 1.223 | 0.952 | 0.884 | 1.472 | 0.930 | |
Geumbong | 2.265 | 3.328 | 0.987 | 1.834 | 2.874 | 0.991 | 1.929 | 3.662 | 0.986 | |
Sucheong | 7.892 | 11.934 | 0.756 | 4.981 | 6.304 | 0.950 | 4.163 | 5.681 | 0.942 |
LSTM: long short term memory, GRU: gated recurrent unit, TFT: temporal fusion transformer, MAE: mean absolute error, RMSE: root mean squared error, CC: correlation
1일 후에서 3일 후 예측에 대한 48개 저수지의 통계량 평균(Table 6)을 살펴보면 1일 후 예측에서는 GRU 저수율 예측값의 MAE, RMSE, 상관계수가 각각 1.551, 2.664, 0.971로 가장 우수하였으나 2일 후 예측에서는 TFT 저수율 예측값의MAE, RMSE, 상관계수가 각각 1.942, 3.238, 0.958로 가장 우수하였으며, 3일 후 예측에서 또한 TFT 저수율 예측값의MAE, RMSE, 상관계수가 각각 2.047, 3.357, 0.956으로 가장 우수하였다.
Table 6 Monthly average statistics of water storage rate from 2013 to 2023
Afterday | LSTM | GRU | TFT | ||||||
---|---|---|---|---|---|---|---|---|---|
MAE | RMSE | CC | MAE | RMSE | CC | MAE | RMSE | CC | |
1 | 1.963 | 3.168 | 0.965 | 1.551 | 2.664 | 0.971 | 1.905 | 3.193 | 0.958 |
2 | 2.888 | 4.307 | 0.939 | 2.232 | 3.513 | 0.952 | 1.942 | 3.238 | 0.958 |
3 | 3.811 | 5.559 | 0.902 | 2.894 | 4.442 | 0.927 | 2.047 | 3.357 | 0.956 |
LSTM: long short term memory, GRU: gated recurrent unit, TFT: temporal fusion transformer, MAE: mean absolute error, RMSE: root mean squared error, CC: correlation coefficient.
순환신경망 구조 및 트랜스포머 구조 시계열모델을 사용하여 4일 후부터 20일 후까지의 농업용 저수지 저수율을 예측하였고 모델 간 48개 저수지의 평균 통계량을 비교해 보았다(Table 7).
Table 7 Monthly average statistics of water storage rate from 2013 to 2023
Afterday | LSTM | GRU | TFT | ||||||
---|---|---|---|---|---|---|---|---|---|
MAE | RMSE | CC | MAE | RMSE | CC | MAE | RMSE | CC | |
4 | 4.704 | 6.821 | 0.861 | 3.548 | 5.391 | 0.899 | 2.195 | 3.539 | 0.952 |
5 | 5.559 | 8.059 | 0.819 | 4.186 | 6.318 | 0.872 | 2.372 | 3.761 | 0.948 |
6 | 6.389 | 9.275 | 0.777 | 4.808 | 7.209 | 0.846 | 2.559 | 3.998 | 0.942 |
7 | 7.202 | 10.478 | 0.737 | 5.406 | 8.065 | 0.824 | 2.753 | 4.246 | 0.936 |
8 | 7.985 | 11.640 | 0.701 | 5.989 | 8.890 | 0.804 | 2.950 | 4.508 | 0.928 |
9 | 8.714 | 12.716 | 0.670 | 6.564 | 9.694 | 0.786 | 3.145 | 4.768 | 0.920 |
10 | 9.392 | 13.695 | 0.643 | 7.120 | 10.473 | 0.770 | 3.333 | 5.023 | 0.912 |
11 | 10.030 | 14.593 | 0.619 | 7.660 | 11.233 | 0.755 | 3.513 | 5.266 | 0.903 |
12 | 10.634 | 15.430 | 0.597 | 8.197 | 11.984 | 0.741 | 3.691 | 5.501 | 0.894 |
13 | 11.207 | 16.218 | 0.577 | 8.728 | 12.721 | 0.726 | 3.860 | 5.724 | 0.886 |
14 | 11.758 | 16.972 | 0.559 | 9.258 | 13.449 | 0.712 | 4.025 | 5.940 | 0.876 |
15 | 12.297 | 17.704 | 0.541 | 9.789 | 14.168 | 0.697 | 4.186 | 6.151 | 0.867 |
16 | 12.823 | 18.414 | 0.525 | 10.308 | 14.860 | 0.683 | 4.345 | 6.353 | 0.858 |
17 | 13.333 | 19.098 | 0.510 | 10.815 | 15.537 | 0.668 | 4.500 | 6.556 | 0.849 |
18 | 13.828 | 19.753 | 0.496 | 11.303 | 16.189 | 0.655 | 4.647 | 6.748 | 0.839 |
19 | 14.312 | 20.383 | 0.482 | 11.775 | 16.815 | 0.642 | 4.789 | 6.936 | 0.829 |
20 | 14.781 | 20.990 | 0.469 | 12.230 | 17.418 | 0.630 | 4.924 | 7.115 | 0.819 |
LSTM: long short term memory, GRU: gated recurrent unit, TFT: temporal fusion transformer, MAE: mean absolute error, RMSE: root mean squared error, CC: correlation
다음날 예측값을 그 다음 날 예측의 입력으로 활용하는 재귀적 방식의 LSTM과 GRU 모델의 경우 먼 일수를 예측할수록 TFT 모델보다 통계량이 더욱 저하되는 것을 확인할 수 있다. GRU 모델을 이용한 저수율예측에 대하여 4일 후 와 20일 후 예측값에 대한 통계량 차이를 살펴보면MAE, RMSE, 상관계수가 각각 8.682%, 12.027%, 0.269 저하됐지만 TFT 모델을 이용한 4일 후와 20일 후 예측값에 대한 통계량 차이를 살펴보면 MAE, RMSE, 상관계수 각각 2.729%, 3.576%, 0.133으로 먼 미래 일수를 예측할 때 GRU 모델의 통계량 저하 폭이 큰 것을 알 수 있다. 또한 GRU와 TFT 모델의 20일 후 저수율 예측 통계량의 차이를 살펴보면 MAE, RMSE, 상관계수 각각 7.306%, 10.303%, 0.189로 중기 예측에 있어서 트랜스포머 구조 시계열예측모델이 순환신경망 구조 시계열예측 모델보다 우수한 것을 알 수 있다. 정성적 평가를 위해 청호저수지를 대상으로 2023년 1년의 모델별 1, 5, 10, 15, 20일 후 예측값을 실측값과 비교해 보았고 TFT 모델을 사용한 저수율 예측값과 실측값의 관계를 나타내는 산점도를 확인하였다(Fig. 6).
1일 후 예측에서는 LSTM, GRU, TFT 모델 모두 실측값과 유사하게 예측값이 산출되었다. 또한 농업용 저수지를 대상으로 한 저수율 예측에 있어서 완만한 값보다는 급격히 상승하는 저수율 값을 높은 정확도로 예측하는 것이 중요한데, 강우량이 많은 7월과 8월의 급격한 저수율 상승 값과 홍수조절기간 동안에 대해서도 모델별 저수율 예측값이 실측값에 가까운 모습을 확인 할 수 있다. 5일 후 예측에서는 TFT를 사용한 저수율 예측값의 경우 7월과 8월에 대해서도 실측값에 가깝게 예측하는 모습을 확인할 수 있으나 LSTM과 GRU를 사용한 저수율 예측값은 7월과 8월을 제외하면 비교적 실측값에 가깝지만, 강우량이 많은 7월과 8월에 대해서는 1일 후 예측에 비해 실측값과의 차이가 큰 것을 확인할 수 있다. 10일 후 예측 및 그 이후 일 수에 대한 저수율 예측에서는 LSTM과 GRU를 사용한 저수율 예측값과 실측값의 차이가 5일 후 예측의 경우보다 더 커지며, TFT 모델을 사용한 저수율 예측값의 경우 7월과 8월에 대한 예측값이 실측값의 경향은 따라가지만, 1일 후 및 5일 후와 비교했을 때는 실측값과의 차이가 큰 것을 알 수 있다. 또한 예측하는 일수가 늘어남에 따라 TFT 모델을 사용한 저수율 예측값의MAE, RMSE, 상관계수 통계량이 점진적으로 저하되는 모습을 확인할 수 있다. 추가로 다변량 시계열모델의 입력변수 중요도(Deotte, 2021)를 살펴보았으며(Table 8), LSTM과 GRU의 경우 과거 저수율이 각각 89.7%, 89.2%로 가장 중요한 변수임을 알 수 있었고 일 강수량의 변수중요도는 각각 5.1%와 5.3%로 나타나, 그 다음으로 중요한 변수임을 알 수 있었다.
Table 8 Feature importance for the multivariate LSTM and GRU models to predict daily water
Rank | Variable | Percentage | Category | |
---|---|---|---|---|
LSTM | GRU | |||
1 | Daily water storage | 89.7% | 89.2% | Water source |
2 | DOY | 5.2% | 5.5% | Period |
3 | Daily Precipitation | 5.1% | 5.3% | Weather |
DOY: date of year.
관측변수와 알고있는 변수를 구분하여 학습하는 TFT의 변수중요도를 살펴보면 과거저수율이 82.5% 일 강수량이 4.1%의 변수중요도를 보여주었고 계절 변수인 DOY, MOY, WOY의 변수중요도가 각각 5.4%, 4.2%, 3.8%로 나타났다(Table 9). TFT의 DOY 변수중요도는 5.6%로 LSTM, GRU모델의DOY 변수중요도인 5.2%, 5.5%보다 조금 더 높았고 알고있는 변수에 해당하는 DOY, MOY, WOY의 변수중요도 합은 13.6%로 TFT모델이 학습 과정에서 알고있는 변수에 해당하는 계절 변수에 큰 가중치를 두어 중기 예측에서 LSTM과 GRU에 비해 저수율을 안정적으로 예측했다.
Table 9 Decoder Feature importance for the multivariate TFT model to predict daily water storage rate
Rank | Variable | Percentage | Category |
---|---|---|---|
1 | Daily water storage | 82.5% | Water source |
2 | DOY | 5.6% | Period |
3 | MOY | 4.2% | Period |
4 | Daily Precipitation | 3.9% | Weather |
5 | WOY | 3.8% | Period |
DOY: date of year, MOY: month of year, WOY: week of year.
우리나라의 저수량 기준 상위 48개 농업용 저수지를 대상으로 순환신경망 구조 및 트랜스포머 구조 시계열모델을 사용하여 기상 영향과 계절 영향을 입력변수로 반영한 저수율예측을 수행하였다. 1일 후 예측에서는 저수지 별 차이는 존재하였으나 GRU와 TFT 모델을 사용한 저수율 통계량이 가장 우수하였고 48개 저수지의 통계량 평균을 살펴보았을 때 GRU 모델을 사용한 저수율 예측값의 통계량이 가장 우수하였다. 그러나 2일 후와 3일 후 그리고 중기 예측에서는 TFT 모델을 이용한 저수율 예측값의 통계량이 가장 우수하였으며 20일 후 예측에서의GRU와 TFT 모델에 대한 통계량 차이는MAE, RMSE, 상관계수 7.306%, 10.303%, 0.189로 중기 예측에서 트랜스포머 구조 시계열모델의 우수성을 확인하였다. LSTM, GRU, TFT 모두 과거저수율을 가장 중요한 변수로 학습하였으며 특히 TFT는 알고있는 변수에 해당하는 계절 변수에 더 큰 가중치를 두어 학습하여 중기 예측에 있어서 LSTM과 GRU에 비해 안정적으로 저수율을 예측했다. 본 연구의 결과와 더불어 수표 면적 탐지연구 및 저수지의 수표면적을 저수율로 변환하는 등의 원격탐사 방법론과 함께 전국의 미계측저수지를 대상으로 단기 및 중기간 저수율을 예측함으로써, 농업 및 방재 분야에 유용한 정보를 제공할 수 있을 것으로 기대된다.
본 연구는 국토교통부/국토교통과학기술진흥원의 지원으로 수행되었음(과제번호 RS-2022-00155763).
No potential conflict of interest relevant to this article was reported.
Korean J. Remote Sens. 2024; 40(6): 1149-1162
Published online December 31, 2024 https://doi.org/10.7780/kjrs.2024.40.6.1.22
Copyright © Korean Society of Remote Sensing.
박재성1, 이양원2*
1국립부경대학교 지구환경시스템과학부 위성정보융합공학전공 학부과정생
2국립부경대학교 지구환경시스템과학부 위성정보융합공학전공 교수
1Undergraduate Student, Major of Geomatics Engineering, Division of Earth and Environmental System Science, Pukyong National University, Busan, Republic of Korea
2Professor, Major of Geomatics Engineering, Division of Earth Environmental System Science, Pukyong National University, Busan, Republic of Korea
Correspondence to:Yangwon Lee
E-mail: modconfi@pknu.ac.kr
This is an Open Access article distributed under the terms of the Creative Commons Attribution Non-Commercial License (https://creativecommons.org/licenses/by-nc/4.0/) which permits unrestricted non-commercial use, distribution, and reproduction in any medium, provided the original work is properly cited.
In Korea, there are 17,100 agricultural reservoirs that play the role of agricultural water supply and flood prevention, but more than 13,700 of them are not equipped with hydrological measurement facilities, making it difficult to operate properly. On the other hand, research on detecting reservoir water volume using satellite imagery and converting it into water yield is actively underway, and if the water yield prediction model can predict the water yield of agricultural reservoirs with high accuracy, it can enable effective operation of measured and unmeasured reservoirs. In this study, we compared and analyzed the ability of recurrent neural network structure and transformer structure time series models to predict water yield for the top 48 agricultural reservoirs by water volume. The 11 years of water yield data from 2013 to 2023 were constructed, and the 2013-2021 data were separated into training data, 2022 data were used as validation data, and 2023 data were used as test data, and the mean absolute error (MAE), root mean square error (RMSE), and correlation coefficient evaluation metrics were used to quantitatively evaluate the water yield prediction ability. Instead of univariate time series forecasting using only historical water storage rate as an input variable, multivariate time series forecasting reflecting meteorological and seasonal effects as input variables was used, The RMSE averages of 48 reservoirs for 20-day forecasts of temporal fusion transformer (TFT), a time series model with a transformer structure, and gated recurrent unit (GRU), a time series model with a recurrent neural network structure, were 7.115% and 17.428%, respectively, showing that the TFT model has a better ability to predict water storage in the medium term than the GRU model.
Keywords: Agricultural reservoir, Water storage, Time series forecasting, Artificial intelligence
우리나라와 같이 1년간 강우패턴이 불규칙한 지역에서는 안정적인 농작물 생산과 여름철 홍수 피해를 예방하기 위한 농업용 저수지의 운용이 중요하며(Lee, 2014), 기상적 영향과 계절적 영향을 반영한 인공지능 기반의 저수율 예측 기술을 이용한다면 가뭄시기의 농업수 공급 문제와 여름철 홍수피해에 대한 효과적대응을 통해 불규칙한 기상 조건 속에서도 적절한 농업용 저수지 운용이 가능하다. Ahn et al. (2004)은 autoregressive integratedmoving averagemodel (ARIMA) 모형을 이용한 저수량 예측과 자기회귀오차모형을 이용한 농업용 저수지의 저수량 예측 및 저수량에 영향을 주는 변수인 저수량, 평균 온도, 최고온도, 관개면적, 풍속, 습도 간의 관계를 분석하였다. Kim et al. (2018)은 형태학적 특성이 같은 저수지를 군집화 후 각 군집 특성을 반영한 회귀식을 개발 및 가뭄지수의 영향을 고려한 전망 저수율을 생산하였다. Kim et al. (2022)은 서포트벡터머신(support vector machine, SVM), 랜덤 포레스트(Random Forest, RF), 인공신경망 모형(artificial neural network, ANN) 등을 활용하여 1개월에서 3개월 최저 평균 저수율을 예측하였다.
Joh and Lee (2023)는 이동저수지를 대상으로 과거 저수율만을 입력변수로 사용한 단변량 long short-termmemory (LSTM) (Hochreiter and Schmidhuber, 1997; Olah, 2015) 및 강수 등의 기상 변수와 계절 변수를 추가한 다변량 LSTM을 사용하여 1일 후부터 5일 후까지의 저수율을 예측했으며 단변량 LSTM은 1일, 3일, 5일 후 저수율을 RMSE 1.04%, 2.52%, 4.18% 오차로 예측을 수행했고 다변량 LSTM은 저수율을 RMSE 0.98%, 1.95%, 2.76% 오차로 예측하여 다변량 시계열모델의 유용성을 입증하였으며, Park et al. (2024)은 전라북도 400여 개 저수지를 대상으로 기본 순방향 신경망을 이용하여 저수지의 복잡한 수문학·기후학적 환경요인을 반영한 저수율 예측 모델을 학습 및 검증하였으며 예측 모델의 각 입력 특성이 전체 성능에 끼치는 영향을 분석하였다. 현재 우리나라의 17,100여 개 농업용 저수지 중(Korea Rural Community Corporation, 2024) 13,700 여 곳의(80.1%) 소형 저수지 대상으로는 체계적인 계측이 이루어지지 않고 있으나, 원격탐사는 미계측되는 소형 저수지에 대한 좋은 방법론이 될 수 있다. Sentinel-1 합성개구레이더 영상과 딥러닝 모델을 이용하여 국내 농업용 저수지의 수표 면적을 탐지한 연구(Choi et al., 2023)와 Sentinel-1 합성개구레이더 영상을 이용한 댐 및 저수지의 수표 면적 모니터링 및 회귀 방정식을 사용하여 수체면적을 저장량으로 추정한 연구(Kim et al., 2024)결과에 저수율 예측기술을 접목한다면 미계측저수지에 대한 효과적 운영이 가능할 것으로 보인다.
그러나 앞선 연구에서의 순환신경망 구조 시계열모델과 순방향 신경망을 이용한 저수율예측은 1일 후의 예측치를 다시 다음 1일 후 예측에 재귀적으로 사용하므로 중기예측에서의 정확도가 감소하게 되는데, 트랜스포머 구조의 시계열예측 모델인 temporal fusion transformer (TFT) (Lim et al., 2021; Kang, 2024)는 강수량, 기온과 같이 관측해야만 알 수 있는 관측 변수와 date of year (DOY)와 같은 시점과 관계없이 알 수 있는 변수를 구분하고 이를 학습에 반영하여 기존 모델보다 정확도 높은 중·장기 예측 정확도를 가지며 재귀적 방식이 아닌 트랜스포머 기반의 multi-head attention 기법을 사용하여 순환신경망 구조의 시계열예측 모델이 가지는 한계점을 개선할 수 있다. 이에 본 연구는 과거 저수율, 기상 변수, 계절 변수를 입력변수로 한 다변량 순환신경망 및 트랜스포머 시계열모델을 이용하여 전국의 주요 농업용 저수지의 저수율을 단기 및 중기간 예측하며, 검증통계량을 사용한 모델 간 결과에 대한 비교 분석과 중기간 저수율 예측에서 트랜스포머 모델의 사용 가능성을 검토하는 것을 목적으로 한다.
본 연구는 우리나라의 농업용 저수지 중 유효저수량 기준 상위 48개(Table 1)를 대상으로 하며 전체 경지면적 중 논의 비율이 높은 충청도, 전라도에 집중적으로 분포해 있다(Fig. 1). 저수율데이터는 농촌용수종합정보시스템(Rural AgriculturalWater Resource Information System, RAWRIS)을 통해 제공받았으며 2013년부터 2023년까지의 11년 일일 단위 저수율데이터를 추출하여 연구에 사용하였고 결측치의 경우 선형보간을 적용하여 연구에 사용하였다.
Table 1 . List of top 48 agricultural reservoirs by effective water storage in South Korea.
Reservoir | Effective water storage (m3) | Latitude | Longitude | Reservoir | Effective water storage (m3) | Latitude | Longitude |
---|---|---|---|---|---|---|---|
Najuho | 107,000,000 | 34.964 | 126.852 | Geumgwang | 12,047,000 | 36.996 | 127.326 |
Jangseongho | 99,707,200 | 35.359 | 126.814 | Suyang | 11,834,100 | 35.228 | 126.686 |
Damyangho | 76,669,600 | 35.382 | 127.001 | Giheung | 11,630,000 | 37.225 | 127.111 |
Daea | 57,688,000 | 35.982 | 127.301 | Dongsang | 11,241,000 | 35.982 | 127.301 |
Yedang | 46,070,200 | 36.653 | 126.805 | Yongrim | 11,188,000 | 35.616 | 127.559 |
Tapjeong | 34,940,000 | 36.17 | 127.151 | Gui | 10,878,000 | 35.744 | 127.119 |
Donghwa | 31,348,000 | 35.544 | 127.539 | Dongbu | 10,733,800 | 36.106 | 126.777 |
Hadong | 30,336,900 | 35.156 | 127.8 | Heungdeok | 9,946,000 | 35.556 | 126.714 |
Seongju | 28,150,000 | 35.903 | 128.154 | Bomun | 9,834,000 | 35.834 | 129.253 |
Gyeongcheon (Gyeongsangbuk-do) | 27,200,000 | 36.691 | 128.311 | Wonnam | 8,690,200 | 36.864 | 127.564 |
Baekgok | 26,372,000 | 36.86 | 127.417 | Dalchang | 8,649,000 | 35.645 | 128.462 |
Gyeongcheon (Jeonrabuk-do) | 25,346,000 | 36.028 | 127.227 | Myogok | 8,441,000 | 36.526 | 129.346 |
Deokdong | 22,537,100 | 35.823 | 129.285 | Otae | 8,291,000 | 36.504 | 128.123 |
Idong | 20,906,000 | 37.111 | 127.201 | Gung | 8,222,000 | 36.521 | 127.647 |
Cheongcheon | 20,753,100 | 36.365 | 126.61 | Biryong | 8,163,000 | 36.482 | 127.809 |
Cheongho | 18,045,000 | 35.734 | 126.697 | Seobu | 7,989,000 | 36.117 | 126.699 |
Togyo | 17,412,000 | 38.263 | 127.277 | Gabuk | 7,979,000 | 35.785 | 128.001 |
Gosam | 15,217,000 | 37.076 | 127.281 | Jangnam | 7,920,800 | 35.552 | 127.486 |
Bulgap | 15,200,000 | 35.229 | 126.506 | Gopung | 7,821,800 | 36.78 | 126.61 |
Gwangjuho | 15,198,000 | 35.204 | 126.985 | Daegok | 7,712,000 | 35.684 | 127.622 |
Obong | 14,329,100 | 37.71 | 128.819 | Daedong | 7,502,100 | 35.118 | 126.507 |
Maengdong | 13,910,000 | 36.892 | 127.57 | Neung | 7,315,600 | 35.854 | 126.836 |
Chopyeong | 13,853,200 | 36.817 | 127.514 | Geumbong | 7,259,200 | 36.352 | 128.853 |
Okgu | 12,826,100 | 35.906 | 126.666 | Sucheong | 7,001,000 | 35.553 | 126.93 |
다변량 시계열모델의 입력자료로 사용된 일 강수 자료는 우리나라 기상청의 국지예보모델(Local Data Assimilation and Prediction System, LDAPS) 실황장의 강수량 데이터를 사용하였다. LDAPS는 영국 통합모델(UnifiedModel, UM)로부터 3시간 간격으로 경계장을 제공받아서 일 4회 48시간 예측을 수행하는 수치예보 시스템이며, UM은 기상관측소, 라디오존데, 위성정보 등의 소스에서 획득한 데이터를 바탕으로 예보를 수행한다(Korea Meteorological Administration, 2024). 본 연구에서는 3시간 단위의 LDAPS 자료로부터 강수량 레이어를 추출한 뒤 일 강수로 합성하여 모델 입력변수로 사용하였다.
본 연구에서는 순환신경망 구조의 시계열 모델로 LSTM과 gated reccurrent unit (GRU) (Cho et al., 2014)을 사용하였다(Fig. 2). 초기 시계열예측에는 Vanilla recurrent neural network (RNN)가 주로 사용되어 왔지만 기울기 소실 문제 및 역전파 과정의 비효율성 문제가 있었고 이후 Vanilla RNN 방식의 단점을 보완하기 위한 LSTM과 내부구조를 간소화한 GRU가 제안되었다. LSTM은 입력게이트, 출력게이트, 망각게이트, 셀의 내부구조를 통해 장기 종속성을 강화하여 과거 데이터 중 중요한 정보를 예측에 활용하며, GRU는 LSTM의 입력게이트, 출력게이트, 망각게이트를 축소하여 업데이트게이트와 리셋게이트로 구성함으로써 더 적은 파라미터를 학습에 사용하여 훈련 시간을 단축할 수 있다는 장점이 있다. LSTM과 GRU의 내부 게이트 구조 차이로 인해 어떤 Task를 대상으로 예측을 수행하는지에 따라 높은 정확도를 가지는 모델이 다르며, 내부구조가 더 복잡한 LSTM의 경우 일반적으로 더 복잡한 문제에 대한 예측 능력이 더 우수하며 GRU의 경우 LSTM에 비해 더 간단한 문제에 대한 예측 능력이 우수하다.
본 연구에서 사용한 트랜스포머 구조의 시계열모델인 TFT는 기존 순환신경망 구조의 모델들이 가지는 한계인 먼 미래에 대한 예측의 불확실성을 해결하였다. TFT는 관측해야만 알 수 있는 관측 변수(Observed Inputs)와 시점과 관계없이 알 수 있는 변수인 알고있는 변수(Known Inputs)를 구분하며 학습 및 예측단계에서 알고있는 변수를 LSTMDecoder, GRN 계층에 통과시켜 직접적으로 사용하여 중·장기에 대해서도 높은 정확도로 예측을 수행한다. 또한 1일 후 예측을 다음날 예측의 입력변수로 사용하는 재귀적 방식의 메커니즘 대신 트랜스포머 기반의 multi-head attention 메커니즘을 사용하여 Abhay, Alberto 순환신경망 구조의 시계열모델에 비해 중·장기 예측에서 강점을 가진다(Fig. 3).
시계열 예측모델의 타깃변수는 일일 저수율이며 이를 예측하기 위한 설명변수로 LSTM, GRU 모델은 과거 저수율, 일 강수, DOY를 사용하였고(Table 2) 파이썬(Python)의 Keras 라이브러리를 사용하여 구현하였다(Keras, 2024). TFT 모델은 관측 변수로는 과거저수율과 강수량, 알고있는 변수로는DOY, week of year (WOY), month of year (MOY)를 사용하였으며(Table 2), 파이썬의 PyTorch Forecasting 라이브러리를 사용하여 구현하였다(PyTorch Forecasting, 2024).
Table 2 . Input variables for each multivariate time forecasting model.
Model | Input variables |
---|---|
LSTM | Daily water storage rate, Daily precipitation, DOY |
GRU | Daily water storage rate, Daily precipitation, DOY |
TFT | Daily water storage rate, Daily precipitation, DOY, WOY, MOY |
LSTM: long short term memory, GRU: gated recurrent unit, TFT: temporal fusion transformer, DOY: date of year, WOY: week of year, MOY: month of year..
훈련데이터 셋의 기간은 2013년부터 2021년, 검증용 데이터셋의 기간은 2022년 평가용 데이터셋의 기간은 2023년으로 설정하였으며 시계열 모델링에서 중요한 하이퍼파라미터(hyperparameter)인 과거 며칠의 데이터를 사용하여 미래를 예측할 것인가는 과거저수율, 일 강수, DOY를 입력변수로 하여 모델 훈련을 진행하는 상황에서의 반복 실험을 통해 설정한 과거 20일로 설정하였고 반복 학습을 통해 여러 하이퍼파라미터의 최적화를 수행하였다(Table 3).
Table 3 . Hyperparameter setting for each multivariate time forecasting model.
Model | LSTM | GRU | Model | TFT |
---|---|---|---|---|
Number of epoch | 100 | 100 | Number of epoch | 100 |
Number of steps | 20 | 20 | Number of steps | 20 |
Number of layer | 100 | 120 | Number of layers | 160 |
Learning rate | 0.0001 | 0.0001 | Learning rate | 0.0001 |
Batch size | 32 | 32 | Batch size | 64 |
Activation function | ReLU | ReLU | Attention head size | 8 |
LSTM: long short term memory, GRU: gated recurrent unit, TFT: temporal fusion..
농업용 저수지의 1년간 저수율 패턴을 살펴보면, 5월 이전 비농업시기에 100%의 저수율에 가깝게 물을 저장하고 있다가 농업 시기가 오면 하류 농경지의 관개수 공급을 목적으로 농업수를 방류한다(Song et al., 2022). 그 후 강우량이 많아지는 장마철에는 증가한 물 유입량과 줄어든 농업수의 수요로 인하여 저수율이 급격하게 상승하게 된다. 이때 시설 피해를 막기 위해 저장과 방류를 반복하는 홍수 통제 기간을 가지고 이후 수확이 끝나면 다음 해 농업시기를 대비하여 물을 저장하는 패턴을 확인할 수 있다(Fig. 4).
대상 저수지들이 일반적인 농업용 저수지의 패턴을 따라가는지를 확인하기 위하여 48개 저수지의 월별 저수율평균, 표준편차, 평균 일간절대편차(mean of absolute daily difference, MADD)를 산출하였다(Table 4). 저수율의 월별 통계를 살펴보면, 비농업시기인 1월부터 4월 그리고 11월과 12월의 저수율은 농업시기인 5월에서 10월의 저수율에 비해 높은 것을 알 수 있다. 또한 장마철에 해당하는 7월과 8월의 경우 저장과 방류를 반복하는 홍수조절 기간의 영향으로 인해 평균일간절대편차가 다른 달에 비해 큰 값을 가지는 것을 확인할 수 있다. 계절적 특성이 뚜렷하게 나타나는 농업용 저수지의 저수율을 대상으로 한 시계열 모델링에서 계절 변수의 입력변수 반영은 모델 학습에 있어서 중요하다.
Table 4 . Monthly average statistics of water storage rate from 2013 to 2023.
Month | Average (%p) | SD | MADD |
---|---|---|---|
1 | 76.076 | 19.856 | 0.679 |
2 | 77.624 | 19.734 | 0.705 |
3 | 80.304 | 18.631 | 0.678 |
4 | 83.640 | 16.202 | 0.679 |
5 | 75.388 | 16.181 | 1.478 |
6 | 54.938 | 16.718 | 1.389 |
7 | 61.770 | 20.494 | 1.799 |
8 | 62.634 | 20.347 | 1.630 |
9 | 65.914 | 21.285 | 1.321 |
10 | 69.264 | 21.193 | 0.933 |
11 | 71.081 | 20.856 | 0.848 |
12 | 74.407 | 20.152 | 0.753 |
SD: standard deviation, MADD: mean of daily difference of water storage rate change..
본 연구에서는 3일 후까지의 예측 기간을 단기 예측으로 정의하였고 4일부터 20일 후 까지를 중기 예측으로 정의하여 순환신경망 구조 및 트랜스포머 구조 시계열모델의 저수율 예측 능력을 비교하였다(Table 5). 1일 후 예측에서는 저수지마다 차이가 있지만 GRU와 TFT의 예측 능력이 가장 우수하였고 2일 후, 3일 후 예측에서는 TFT의 저수율 예측 통계량이 LSTM과 GRU의 저수율 예측 통계량보다 우수하였다.
Table 5 . Monthly average statistics of water storage rate from 2013 to 2023.
After day | Reservoir | LSTM | GRU | TFT | ||||||
---|---|---|---|---|---|---|---|---|---|---|
MAEd) | RMSE | CC | MAE | RMSE | CC | MAE | RMSE | CC | ||
1 | Najuho | 1.059 | 1.767 | 0.992 | 0.865 | 1.403 | 0.995 | 1.347 | 1.772 | 0.994 |
Jangseongho | 1.308 | 1.790 | 0.996 | 1.047 | 1.805 | 0.996 | 1.199 | 1.788 | 0.996 | |
Damyangho | 4.088 | 5.440 | 0.995 | 0.925 | 1.444 | 0.998 | 1.861 | 2.279 | 0.998 | |
Daea | 1.547 | 3.008 | 0.921 | 1.387 | 2.968 | 0.921 | 0.973 | 2.741 | 0.929 | |
Yedang | 2.726 | 4.278 | 0.974 | 2.418 | 3.968 | 0.978 | 2.505 | 3.899 | 0.978 | |
Tapjeong | 1.781 | 3.480 | 0.947 | 1.721 | 3.557 | 0.944 | 2.022 | 3.699 | 0.941 | |
Donghwa | 1.918 | 2.814 | 0.975 | 0.988 | 1.554 | 0.991 | 1.254 | 1.850 | 0.988 | |
Hadong | 1.086 | 1.632 | 0.964 | 1.011 | 1.548 | 0.968 | 1.451 | 2.243 | 0.936 | |
Seongju | 1.515 | 3.099 | 0.915 | 1.372 | 2.944 | 0.925 | 1.943 | 3.495 | 0.889 | |
Gyeongcheon | 1.153 | 2.138 | 0.982 | 1.204 | 2.215 | 0.981 | 1.807 | 3.286 | 0.961 | |
Baekgok | 1.062 | 2.125 | 0.988 | 1.028 | 1.828 | 0.991 | 1.387 | 2.192 | 0.990 | |
Gyeongcheon | 1.792 | 3.267 | 0.948 | 1.666 | 3.100 | 0.952 | 2.010 | 3.861 | 0.923 | |
Deokdong | 1.125 | 1.807 | 0.976 | 0.977 | 1.643 | 0.980 | 0.869 | 1.822 | 0.975 | |
Idong | 1.884 | 2.828 | 0.989 | 1.712 | 2.666 | 0.989 | 2.188 | 3.696 | 0.983 | |
Cheongcheon | 1.479 | 2.263 | 0.985 | 1.315 | 2.255 | 0.985 | 1.559 | 2.664 | 0.979 | |
Cheongho | 0.753 | 1.133 | 0.984 | 0.745 | 1.163 | 0.984 | 0.972 | 1.338 | 0.979 | |
Togyo | 0.905 | 1.190 | 0.990 | 0.920 | 1.216 | 0.990 | 1.048 | 1.440 | 0.990 | |
Gosam | 1.235 | 2.521 | 0.990 | 1.059 | 2.340 | 0.992 | 1.514 | 3.104 | 0.990 | |
Bulgap | 3.887 | 5.164 | 0.976 | 1.607 | 2.422 | 0.991 | 2.991 | 4.083 | 0.984 | |
Gwangjuho | 1.528 | 3.175 | 0.934 | 1.311 | 2.901 | 0.946 | 1.777 | 3.344 | 0.920 | |
Obong | 1.973 | 2.840 | 0.989 | 1.308 | 1.904 | 0.995 | 2.156 | 3.108 | 0.989 | |
Maengdong | 2.739 | 3.636 | 0.975 | 1.542 | 2.088 | 0.992 | 1.953 | 2.433 | 0.990 | |
Chopyeong | 1.201 | 2.592 | 0.969 | 1.245 | 2.705 | 0.966 | 1.519 | 3.161 | 0.956 | |
Okgu | 1.505 | 2.139 | 0.980 | 1.196 | 1.766 | 0.987 | 1.328 | 1.965 | 0.983 | |
Geumgwang | 1.514 | 2.671 | 0.986 | 1.633 | 2.840 | 0.986 | 5.090 | 6.356 | 0.958 | |
Suyang | 4.273 | 5.699 | 0.975 | 2.465 | 4.289 | 0.978 | 2.567 | 4.142 | 0.977 | |
Giheung | 2.142 | 2.962 | 0.979 | 1.741 | 2.611 | 0.980 | 3.098 | 5.225 | 0.967 | |
Dongsang | 2.171 | 3.535 | 0.978 | 1.881 | 3.526 | 0.978 | 1.944 | 3.565 | 0.978 | |
Yongrim | 6.538 | 9.593 | 0.969 | 4.294 | 6.012 | 0.989 | 2.083 | 2.638 | 0.996 | |
Gui | 1.745 | 3.542 | 0.939 | 1.546 | 3.114 | 0.953 | 2.380 | 4.650 | 0.899 | |
Dongbu | 1.487 | 2.779 | 0.957 | 1.493 | 2.979 | 0.951 | 2.064 | 3.523 | 0.927 | |
Heungdeok | 2.714 | 5.175 | 0.846 | 2.593 | 5.191 | 0.853 | 2.856 | 6.130 | 0.779 | |
Bomun | 1.255 | 2.178 | 0.988 | 1.381 | 2.281 | 0.988 | 2.243 | 3.751 | 0.972 | |
Wonnam | 1.197 | 2.458 | 0.975 | 1.142 | 2.165 | 0.984 | 1.427 | 3.058 | 0.969 | |
Dalchang | 1.537 | 2.642 | 0.939 | 1.755 | 2.786 | 0.938 | 1.800 | 3.132 | 0.912 | |
Myogok | 1.142 | 2.419 | 0.979 | 1.080 | 2.290 | 0.981 | 1.756 | 3.189 | 0.964 | |
Otae | 1.489 | 2.449 | 0.987 | 1.233 | 2.134 | 0.991 | 1.270 | 2.047 | 0.991 | |
Gung | 1.286 | 1.892 | 0.981 | 0.913 | 1.509 | 0.983 | 1.216 | 1.724 | 0.977 | |
Biryong | 7.139 | 9.834 | 0.857 | 4.156 | 6.442 | 0.928 | 3.405 | 5.892 | 0.935 | |
Seobu | 1.912 | 3.221 | 0.952 | 1.875 | 3.240 | 0.954 | 1.803 | 3.146 | 0.949 | |
Gabuk | 1.372 | 2.360 | 0.945 | 1.260 | 2.310 | 0.946 | 1.474 | 2.873 | 0.925 | |
Jangnam | 1.537 | 2.745 | 0.925 | 1.541 | 2.316 | 0.948 | 1.535 | 3.077 | 0.899 | |
Gopung | 1.688 | 2.838 | 0.983 | 1.171 | 2.153 | 0.990 | 2.027 | 3.531 | 0.973 | |
Daegok | 1.130 | 1.895 | 0.974 | 1.306 | 2.012 | 0.970 | 1.631 | 2.667 | 0.945 | |
Daedong | 2.173 | 3.844 | 0.976 | 2.243 | 3.722 | 0.977 | 2.144 | 3.759 | 0.977 | |
Neung | 0.785 | 1.357 | 0.941 | 0.620 | 1.136 | 0.958 | 0.870 | 1.480 | 0.928 | |
Geumbong | 1.434 | 2.482 | 0.993 | 1.656 | 2.691 | 0.992 | 1.878 | 3.596 | 0.986 | |
Sucheong | 3.325 | 5.356 | 0.945 | 2.884 | 4.706 | 0.961 | 3.794 | 5.457 | 0.946 | |
2 | Najuho | 1.578 | 2.694 | 0.981 | 1.206 | 2.103 | 0.988 | 1.204 | 1.723 | 0.994 |
Jangseongho | 1.840 | 2.441 | 0.993 | 1.356 | 2.263 | 0.994 | 1.377 | 1.956 | 0.995 | |
Damyangho | 4.765 | 6.267 | 0.993 | 1.116 | 1.717 | 0.997 | 1.743 | 2.176 | 0.998 | |
Daea | 2.160 | 3.498 | 0.894 | 1.770 | 3.323 | 0.902 | 0.979 | 2.603 | 0.936 | |
Yedang | 3.966 | 5.791 | 0.952 | 3.525 | 5.200 | 0.965 | 2.569 | 3.951 | 0.978 | |
Tapjeong | 2.506 | 4.204 | 0.927 | 2.718 | 4.766 | 0.898 | 2.032 | 3.770 | 0.939 | |
Donghwa | 2.999 | 4.045 | 0.943 | 1.642 | 2.516 | 0.977 | 1.152 | 1.735 | 0.988 | |
Hadong | 1.458 | 2.049 | 0.944 | 1.541 | 2.094 | 0.944 | 1.413 | 2.177 | 0.938 | |
Seongju | 2.460 | 4.095 | 0.857 | 2.181 | 3.775 | 0.879 | 1.916 | 3.393 | 0.893 | |
Gyeongcheon | 1.682 | 2.874 | 0.967 | 1.667 | 2.855 | 0.970 | 1.794 | 3.264 | 0.961 | |
Baekgok | 1.725 | 3.232 | 0.973 | 1.530 | 2.935 | 0.976 | 1.348 | 2.108 | 0.990 | |
Gyeongcheon | 2.448 | 3.828 | 0.928 | 2.167 | 3.512 | 0.939 | 1.952 | 3.783 | 0.925 | |
Deokdong | 1.828 | 2.596 | 0.957 | 1.280 | 1.905 | 0.973 | 0.911 | 1.845 | 0.975 | |
Idong | 2.657 | 3.775 | 0.982 | 2.306 | 3.404 | 0.984 | 2.225 | 3.804 | 0.984 | |
Cheongcheon | 2.505 | 3.601 | 0.964 | 1.877 | 2.756 | 0.978 | 1.523 | 2.661 | 0.979 | |
Cheongho | 1.180 | 1.698 | 0.965 | 1.194 | 1.857 | 0.963 | 1.017 | 1.383 | 0.978 | |
Togyo | 1.402 | 1.842 | 0.976 | 1.273 | 1.650 | 0.982 | 1.157 | 1.539 | 0.990 | |
Gosam | 1.833 | 3.209 | 0.985 | 1.602 | 2.921 | 0.989 | 1.662 | 3.311 | 0.990 | |
Bulgap | 5.497 | 7.103 | 0.947 | 2.265 | 3.216 | 0.984 | 2.889 | 3.979 | 0.984 | |
Gwangjuho | 2.527 | 3.970 | 0.902 | 2.125 | 3.664 | 0.918 | 1.702 | 3.259 | 0.924 | |
Obong | 2.416 | 3.361 | 0.986 | 1.944 | 2.521 | 0.992 | 2.460 | 3.609 | 0.987 | |
Maengdong | 3.383 | 4.433 | 0.964 | 2.192 | 2.872 | 0.986 | 3.014 | 3.708 | 0.978 | |
Chopyeong | 1.843 | 3.375 | 0.949 | 1.867 | 3.647 | 0.937 | 1.528 | 3.457 | 0.947 | |
Okgu | 2.840 | 3.708 | 0.941 | 2.367 | 3.447 | 0.951 | 1.245 | 1.851 | 0.985 | |
Geumgwang | 2.318 | 3.655 | 0.976 | 2.612 | 4.002 | 0.977 | 5.039 | 6.370 | 0.957 | |
Suyang | 6.403 | 7.726 | 0.953 | 3.295 | 5.094 | 0.969 | 2.837 | 4.316 | 0.975 | |
Giheung | 3.905 | 4.903 | 0.953 | 2.893 | 3.988 | 0.953 | 3.273 | 5.305 | 0.964 | |
Dongsang | 4.018 | 5.909 | 0.939 | 3.978 | 6.671 | 0.918 | 1.965 | 3.638 | 0.977 | |
Yongrim | 9.160 | 13.083 | 0.934 | 5.309 | 7.204 | 0.982 | 2.553 | 3.093 | 0.995 | |
Gui | 3.022 | 5.165 | 0.877 | 2.213 | 3.665 | 0.936 | 2.371 | 4.736 | 0.895 | |
Dongbu | 1.901 | 3.302 | 0.943 | 1.801 | 3.362 | 0.939 | 2.002 | 3.416 | 0.932 | |
Heungdeok | 3.790 | 6.231 | 0.778 | 3.778 | 6.985 | 0.751 | 2.843 | 6.051 | 0.785 | |
Bomun | 2.167 | 3.402 | 0.972 | 1.690 | 2.693 | 0.985 | 2.233 | 3.721 | 0.972 | |
Wonnam | 1.706 | 3.459 | 0.951 | 1.746 | 3.143 | 0.975 | 1.307 | 2.913 | 0.972 | |
Dalchang | 1.995 | 3.171 | 0.911 | 2.417 | 3.639 | 0.901 | 1.746 | 3.125 | 0.912 | |
Myogok | 1.656 | 3.016 | 0.967 | 1.386 | 2.540 | 0.977 | 1.680 | 3.169 | 0.964 | |
Otae | 2.593 | 4.111 | 0.963 | 2.217 | 3.792 | 0.968 | 1.411 | 2.263 | 0.990 | |
Gung | 1.688 | 2.364 | 0.969 | 1.216 | 1.854 | 0.976 | 1.165 | 1.707 | 0.978 | |
Biryong | 10.304 | 14.079 | 0.716 | 6.001 | 8.862 | 0.872 | 3.267 | 5.846 | 0.935 | |
Seobu | 2.840 | 4.476 | 0.924 | 2.860 | 4.637 | 0.934 | 1.765 | 3.067 | 0.951 | |
Gabuk | 2.057 | 3.037 | 0.918 | 1.884 | 2.955 | 0.918 | 1.480 | 2.835 | 0.926 | |
Jangnam | 1.794 | 3.216 | 0.900 | 2.052 | 3.151 | 0.919 | 1.566 | 3.083 | 0.898 | |
Gopung | 2.515 | 4.183 | 0.963 | 1.707 | 2.820 | 0.983 | 2.012 | 3.377 | 0.975 | |
Daegok | 1.506 | 2.326 | 0.962 | 1.620 | 2.405 | 0.957 | 1.617 | 2.641 | 0.946 | |
Daedong | 3.275 | 5.020 | 0.961 | 3.450 | 4.930 | 0.960 | 2.139 | 3.730 | 0.977 | |
Neung | 1.142 | 1.868 | 0.895 | 0.707 | 1.172 | 0.955 | 0.875 | 1.465 | 0.930 | |
Geumbong | 1.856 | 2.817 | 0.991 | 1.782 | 2.807 | 0.991 | 1.849 | 3.547 | 0.987 | |
Sucheong | 5.537 | 8.515 | 0.867 | 3.830 | 5.313 | 0.957 | 3.951 | 5.507 | 0.946 | |
3 | Najuho | 1.999 | 3.328 | 0.970 | 1.442 | 2.499 | 0.983 | 1.332 | 2.031 | 0.990 |
Jangseongho | 2.344 | 3.141 | 0.988 | 1.585 | 2.572 | 0.992 | 1.675 | 2.387 | 0.993 | |
Damyangho | 5.465 | 7.147 | 0.989 | 1.259 | 1.908 | 0.996 | 1.969 | 2.400 | 0.997 | |
Daea | 2.759 | 4.064 | 0.861 | 2.058 | 3.597 | 0.889 | 1.019 | 2.535 | 0.940 | |
Yedang | 4.923 | 7.108 | 0.928 | 4.306 | 6.065 | 0.952 | 2.704 | 4.114 | 0.976 | |
Tapjeong | 3.360 | 5.238 | 0.899 | 3.648 | 6.115 | 0.839 | 2.146 | 3.967 | 0.932 | |
Donghwa | 3.961 | 5.179 | 0.904 | 2.268 | 3.398 | 0.961 | 1.181 | 1.769 | 0.988 | |
Hadong | 1.930 | 2.694 | 0.912 | 2.088 | 2.826 | 0.913 | 1.430 | 2.179 | 0.937 | |
Seongju | 3.366 | 5.182 | 0.788 | 2.943 | 4.753 | 0.813 | 1.921 | 3.447 | 0.887 | |
Gyeongcheon | 2.201 | 3.597 | 0.949 | 2.107 | 3.577 | 0.957 | 1.825 | 3.296 | 0.961 | |
Baekgok | 2.358 | 4.103 | 0.958 | 1.998 | 3.874 | 0.961 | 1.434 | 2.217 | 0.988 | |
Gyeongcheon | 3.148 | 4.619 | 0.894 | 2.600 | 4.036 | 0.922 | 1.987 | 3.829 | 0.924 | |
Deokdong | 2.576 | 3.497 | 0.937 | 1.496 | 2.086 | 0.969 | 0.954 | 1.885 | 0.973 | |
Idong | 3.346 | 4.733 | 0.974 | 2.804 | 4.153 | 0.977 | 2.339 | 3.912 | 0.984 | |
Cheongcheon | 3.704 | 5.485 | 0.926 | 2.438 | 3.360 | 0.968 | 1.545 | 2.693 | 0.979 | |
Cheongho | 1.666 | 2.525 | 0.928 | 1.698 | 2.758 | 0.922 | 1.080 | 1.451 | 0.976 | |
Togyo | 2.009 | 2.714 | 0.947 | 1.642 | 2.171 | 0.972 | 1.226 | 1.606 | 0.989 | |
Gosam | 2.362 | 3.956 | 0.978 | 2.249 | 3.836 | 0.983 | 1.771 | 3.400 | 0.990 | |
Bulgap | 6.793 | 8.646 | 0.912 | 2.805 | 3.908 | 0.976 | 3.034 | 4.125 | 0.983 | |
Gwangjuho | 3.649 | 5.212 | 0.841 | 2.914 | 4.535 | 0.879 | 1.741 | 3.220 | 0.926 | |
Obong | 3.121 | 4.305 | 0.979 | 2.544 | 3.154 | 0.989 | 2.852 | 4.150 | 0.983 | |
Maengdong | 3.927 | 5.055 | 0.955 | 2.593 | 3.321 | 0.982 | 3.337 | 3.944 | 0.973 | |
Chopyeong | 2.570 | 4.438 | 0.919 | 2.495 | 4.686 | 0.897 | 1.640 | 3.808 | 0.935 | |
Okgu | 4.205 | 5.314 | 0.882 | 3.837 | 5.544 | 0.878 | 1.300 | 1.914 | 0.984 | |
Geumgwang | 3.107 | 4.892 | 0.962 | 3.570 | 5.375 | 0.965 | 5.027 | 6.343 | 0.956 | |
Suyang | 8.378 | 9.783 | 0.916 | 3.975 | 5.738 | 0.960 | 3.119 | 4.584 | 0.972 | |
Giheung | 5.772 | 7.116 | 0.912 | 4.223 | 5.881 | 0.900 | 3.435 | 5.425 | 0.961 | |
Dongsang | 6.332 | 9.363 | 0.848 | 6.880 | 10.839 | 0.780 | 2.308 | 3.917 | 0.973 | |
Yongrim | 10.750 | 15.001 | 0.905 | 6.044 | 8.026 | 0.976 | 3.118 | 3.734 | 0.992 | |
Gui | 4.610 | 7.478 | 0.775 | 3.059 | 4.702 | 0.901 | 2.442 | 4.821 | 0.891 | |
Dongbu | 2.416 | 4.201 | 0.915 | 2.059 | 3.751 | 0.927 | 1.959 | 3.364 | 0.934 | |
Heungdeok | 5.085 | 7.607 | 0.688 | 5.135 | 9.160 | 0.618 | 2.931 | 6.133 | 0.778 | |
Bomun | 3.103 | 4.777 | 0.946 | 1.948 | 2.980 | 0.983 | 2.306 | 3.767 | 0.971 | |
Wonnam | 2.116 | 4.278 | 0.926 | 2.394 | 4.421 | 0.965 | 1.241 | 2.846 | 0.973 | |
Dalchang | 2.462 | 3.648 | 0.882 | 3.004 | 4.592 | 0.855 | 1.752 | 3.185 | 0.908 | |
Myogok | 2.264 | 3.988 | 0.944 | 1.634 | 2.896 | 0.972 | 1.703 | 3.207 | 0.963 | |
Otae | 3.637 | 5.546 | 0.931 | 3.123 | 5.249 | 0.937 | 1.712 | 2.755 | 0.984 | |
Gung | 2.170 | 3.022 | 0.951 | 1.533 | 2.301 | 0.966 | 1.194 | 1.751 | 0.977 | |
Biryong | 12.603 | 17.613 | 0.579 | 6.978 | 10.169 | 0.828 | 3.255 | 5.836 | 0.934 | |
Seobu | 3.836 | 6.203 | 0.880 | 3.943 | 6.566 | 0.904 | 1.743 | 3.053 | 0.951 | |
Gabuk | 2.881 | 3.980 | 0.883 | 2.628 | 3.954 | 0.873 | 1.529 | 2.869 | 0.923 | |
Jangnam | 2.044 | 3.675 | 0.876 | 2.505 | 4.100 | 0.893 | 1.608 | 3.119 | 0.894 | |
Gopung | 3.338 | 5.787 | 0.934 | 2.268 | 3.809 | 0.970 | 2.064 | 3.398 | 0.974 | |
Daegok | 1.944 | 2.844 | 0.946 | 1.850 | 2.724 | 0.945 | 1.613 | 2.639 | 0.946 | |
Daedong | 4.620 | 6.887 | 0.933 | 4.738 | 6.847 | 0.927 | 2.300 | 3.800 | 0.976 | |
Neung | 1.557 | 2.623 | 0.815 | 0.770 | 1.223 | 0.952 | 0.884 | 1.472 | 0.930 | |
Geumbong | 2.265 | 3.328 | 0.987 | 1.834 | 2.874 | 0.991 | 1.929 | 3.662 | 0.986 | |
Sucheong | 7.892 | 11.934 | 0.756 | 4.981 | 6.304 | 0.950 | 4.163 | 5.681 | 0.942 |
LSTM: long short term memory, GRU: gated recurrent unit, TFT: temporal fusion transformer, MAE: mean absolute error, RMSE: root mean squared error, CC: correlation.
1일 후에서 3일 후 예측에 대한 48개 저수지의 통계량 평균(Table 6)을 살펴보면 1일 후 예측에서는 GRU 저수율 예측값의 MAE, RMSE, 상관계수가 각각 1.551, 2.664, 0.971로 가장 우수하였으나 2일 후 예측에서는 TFT 저수율 예측값의MAE, RMSE, 상관계수가 각각 1.942, 3.238, 0.958로 가장 우수하였으며, 3일 후 예측에서 또한 TFT 저수율 예측값의MAE, RMSE, 상관계수가 각각 2.047, 3.357, 0.956으로 가장 우수하였다.
Table 6 . Monthly average statistics of water storage rate from 2013 to 2023.
Afterday | LSTM | GRU | TFT | ||||||
---|---|---|---|---|---|---|---|---|---|
MAE | RMSE | CC | MAE | RMSE | CC | MAE | RMSE | CC | |
1 | 1.963 | 3.168 | 0.965 | 1.551 | 2.664 | 0.971 | 1.905 | 3.193 | 0.958 |
2 | 2.888 | 4.307 | 0.939 | 2.232 | 3.513 | 0.952 | 1.942 | 3.238 | 0.958 |
3 | 3.811 | 5.559 | 0.902 | 2.894 | 4.442 | 0.927 | 2.047 | 3.357 | 0.956 |
LSTM: long short term memory, GRU: gated recurrent unit, TFT: temporal fusion transformer, MAE: mean absolute error, RMSE: root mean squared error, CC: correlation coefficient..
순환신경망 구조 및 트랜스포머 구조 시계열모델을 사용하여 4일 후부터 20일 후까지의 농업용 저수지 저수율을 예측하였고 모델 간 48개 저수지의 평균 통계량을 비교해 보았다(Table 7).
Table 7 . Monthly average statistics of water storage rate from 2013 to 2023.
Afterday | LSTM | GRU | TFT | ||||||
---|---|---|---|---|---|---|---|---|---|
MAE | RMSE | CC | MAE | RMSE | CC | MAE | RMSE | CC | |
4 | 4.704 | 6.821 | 0.861 | 3.548 | 5.391 | 0.899 | 2.195 | 3.539 | 0.952 |
5 | 5.559 | 8.059 | 0.819 | 4.186 | 6.318 | 0.872 | 2.372 | 3.761 | 0.948 |
6 | 6.389 | 9.275 | 0.777 | 4.808 | 7.209 | 0.846 | 2.559 | 3.998 | 0.942 |
7 | 7.202 | 10.478 | 0.737 | 5.406 | 8.065 | 0.824 | 2.753 | 4.246 | 0.936 |
8 | 7.985 | 11.640 | 0.701 | 5.989 | 8.890 | 0.804 | 2.950 | 4.508 | 0.928 |
9 | 8.714 | 12.716 | 0.670 | 6.564 | 9.694 | 0.786 | 3.145 | 4.768 | 0.920 |
10 | 9.392 | 13.695 | 0.643 | 7.120 | 10.473 | 0.770 | 3.333 | 5.023 | 0.912 |
11 | 10.030 | 14.593 | 0.619 | 7.660 | 11.233 | 0.755 | 3.513 | 5.266 | 0.903 |
12 | 10.634 | 15.430 | 0.597 | 8.197 | 11.984 | 0.741 | 3.691 | 5.501 | 0.894 |
13 | 11.207 | 16.218 | 0.577 | 8.728 | 12.721 | 0.726 | 3.860 | 5.724 | 0.886 |
14 | 11.758 | 16.972 | 0.559 | 9.258 | 13.449 | 0.712 | 4.025 | 5.940 | 0.876 |
15 | 12.297 | 17.704 | 0.541 | 9.789 | 14.168 | 0.697 | 4.186 | 6.151 | 0.867 |
16 | 12.823 | 18.414 | 0.525 | 10.308 | 14.860 | 0.683 | 4.345 | 6.353 | 0.858 |
17 | 13.333 | 19.098 | 0.510 | 10.815 | 15.537 | 0.668 | 4.500 | 6.556 | 0.849 |
18 | 13.828 | 19.753 | 0.496 | 11.303 | 16.189 | 0.655 | 4.647 | 6.748 | 0.839 |
19 | 14.312 | 20.383 | 0.482 | 11.775 | 16.815 | 0.642 | 4.789 | 6.936 | 0.829 |
20 | 14.781 | 20.990 | 0.469 | 12.230 | 17.418 | 0.630 | 4.924 | 7.115 | 0.819 |
LSTM: long short term memory, GRU: gated recurrent unit, TFT: temporal fusion transformer, MAE: mean absolute error, RMSE: root mean squared error, CC: correlation.
다음날 예측값을 그 다음 날 예측의 입력으로 활용하는 재귀적 방식의 LSTM과 GRU 모델의 경우 먼 일수를 예측할수록 TFT 모델보다 통계량이 더욱 저하되는 것을 확인할 수 있다. GRU 모델을 이용한 저수율예측에 대하여 4일 후 와 20일 후 예측값에 대한 통계량 차이를 살펴보면MAE, RMSE, 상관계수가 각각 8.682%, 12.027%, 0.269 저하됐지만 TFT 모델을 이용한 4일 후와 20일 후 예측값에 대한 통계량 차이를 살펴보면 MAE, RMSE, 상관계수 각각 2.729%, 3.576%, 0.133으로 먼 미래 일수를 예측할 때 GRU 모델의 통계량 저하 폭이 큰 것을 알 수 있다. 또한 GRU와 TFT 모델의 20일 후 저수율 예측 통계량의 차이를 살펴보면 MAE, RMSE, 상관계수 각각 7.306%, 10.303%, 0.189로 중기 예측에 있어서 트랜스포머 구조 시계열예측모델이 순환신경망 구조 시계열예측 모델보다 우수한 것을 알 수 있다. 정성적 평가를 위해 청호저수지를 대상으로 2023년 1년의 모델별 1, 5, 10, 15, 20일 후 예측값을 실측값과 비교해 보았고 TFT 모델을 사용한 저수율 예측값과 실측값의 관계를 나타내는 산점도를 확인하였다(Fig. 6).
1일 후 예측에서는 LSTM, GRU, TFT 모델 모두 실측값과 유사하게 예측값이 산출되었다. 또한 농업용 저수지를 대상으로 한 저수율 예측에 있어서 완만한 값보다는 급격히 상승하는 저수율 값을 높은 정확도로 예측하는 것이 중요한데, 강우량이 많은 7월과 8월의 급격한 저수율 상승 값과 홍수조절기간 동안에 대해서도 모델별 저수율 예측값이 실측값에 가까운 모습을 확인 할 수 있다. 5일 후 예측에서는 TFT를 사용한 저수율 예측값의 경우 7월과 8월에 대해서도 실측값에 가깝게 예측하는 모습을 확인할 수 있으나 LSTM과 GRU를 사용한 저수율 예측값은 7월과 8월을 제외하면 비교적 실측값에 가깝지만, 강우량이 많은 7월과 8월에 대해서는 1일 후 예측에 비해 실측값과의 차이가 큰 것을 확인할 수 있다. 10일 후 예측 및 그 이후 일 수에 대한 저수율 예측에서는 LSTM과 GRU를 사용한 저수율 예측값과 실측값의 차이가 5일 후 예측의 경우보다 더 커지며, TFT 모델을 사용한 저수율 예측값의 경우 7월과 8월에 대한 예측값이 실측값의 경향은 따라가지만, 1일 후 및 5일 후와 비교했을 때는 실측값과의 차이가 큰 것을 알 수 있다. 또한 예측하는 일수가 늘어남에 따라 TFT 모델을 사용한 저수율 예측값의MAE, RMSE, 상관계수 통계량이 점진적으로 저하되는 모습을 확인할 수 있다. 추가로 다변량 시계열모델의 입력변수 중요도(Deotte, 2021)를 살펴보았으며(Table 8), LSTM과 GRU의 경우 과거 저수율이 각각 89.7%, 89.2%로 가장 중요한 변수임을 알 수 있었고 일 강수량의 변수중요도는 각각 5.1%와 5.3%로 나타나, 그 다음으로 중요한 변수임을 알 수 있었다.
Table 8 . Feature importance for the multivariate LSTM and GRU models to predict daily water.
Rank | Variable | Percentage | Category | |
---|---|---|---|---|
LSTM | GRU | |||
1 | Daily water storage | 89.7% | 89.2% | Water source |
2 | DOY | 5.2% | 5.5% | Period |
3 | Daily Precipitation | 5.1% | 5.3% | Weather |
DOY: date of year..
관측변수와 알고있는 변수를 구분하여 학습하는 TFT의 변수중요도를 살펴보면 과거저수율이 82.5% 일 강수량이 4.1%의 변수중요도를 보여주었고 계절 변수인 DOY, MOY, WOY의 변수중요도가 각각 5.4%, 4.2%, 3.8%로 나타났다(Table 9). TFT의 DOY 변수중요도는 5.6%로 LSTM, GRU모델의DOY 변수중요도인 5.2%, 5.5%보다 조금 더 높았고 알고있는 변수에 해당하는 DOY, MOY, WOY의 변수중요도 합은 13.6%로 TFT모델이 학습 과정에서 알고있는 변수에 해당하는 계절 변수에 큰 가중치를 두어 중기 예측에서 LSTM과 GRU에 비해 저수율을 안정적으로 예측했다.
Table 9 . Decoder Feature importance for the multivariate TFT model to predict daily water storage rate.
Rank | Variable | Percentage | Category |
---|---|---|---|
1 | Daily water storage | 82.5% | Water source |
2 | DOY | 5.6% | Period |
3 | MOY | 4.2% | Period |
4 | Daily Precipitation | 3.9% | Weather |
5 | WOY | 3.8% | Period |
DOY: date of year, MOY: month of year, WOY: week of year..
우리나라의 저수량 기준 상위 48개 농업용 저수지를 대상으로 순환신경망 구조 및 트랜스포머 구조 시계열모델을 사용하여 기상 영향과 계절 영향을 입력변수로 반영한 저수율예측을 수행하였다. 1일 후 예측에서는 저수지 별 차이는 존재하였으나 GRU와 TFT 모델을 사용한 저수율 통계량이 가장 우수하였고 48개 저수지의 통계량 평균을 살펴보았을 때 GRU 모델을 사용한 저수율 예측값의 통계량이 가장 우수하였다. 그러나 2일 후와 3일 후 그리고 중기 예측에서는 TFT 모델을 이용한 저수율 예측값의 통계량이 가장 우수하였으며 20일 후 예측에서의GRU와 TFT 모델에 대한 통계량 차이는MAE, RMSE, 상관계수 7.306%, 10.303%, 0.189로 중기 예측에서 트랜스포머 구조 시계열모델의 우수성을 확인하였다. LSTM, GRU, TFT 모두 과거저수율을 가장 중요한 변수로 학습하였으며 특히 TFT는 알고있는 변수에 해당하는 계절 변수에 더 큰 가중치를 두어 학습하여 중기 예측에 있어서 LSTM과 GRU에 비해 안정적으로 저수율을 예측했다. 본 연구의 결과와 더불어 수표 면적 탐지연구 및 저수지의 수표면적을 저수율로 변환하는 등의 원격탐사 방법론과 함께 전국의 미계측저수지를 대상으로 단기 및 중기간 저수율을 예측함으로써, 농업 및 방재 분야에 유용한 정보를 제공할 수 있을 것으로 기대된다.
본 연구는 국토교통부/국토교통과학기술진흥원의 지원으로 수행되었음(과제번호 RS-2022-00155763).
No potential conflict of interest relevant to this article was reported.
Table 1 . List of top 48 agricultural reservoirs by effective water storage in South Korea.
Reservoir | Effective water storage (m3) | Latitude | Longitude | Reservoir | Effective water storage (m3) | Latitude | Longitude |
---|---|---|---|---|---|---|---|
Najuho | 107,000,000 | 34.964 | 126.852 | Geumgwang | 12,047,000 | 36.996 | 127.326 |
Jangseongho | 99,707,200 | 35.359 | 126.814 | Suyang | 11,834,100 | 35.228 | 126.686 |
Damyangho | 76,669,600 | 35.382 | 127.001 | Giheung | 11,630,000 | 37.225 | 127.111 |
Daea | 57,688,000 | 35.982 | 127.301 | Dongsang | 11,241,000 | 35.982 | 127.301 |
Yedang | 46,070,200 | 36.653 | 126.805 | Yongrim | 11,188,000 | 35.616 | 127.559 |
Tapjeong | 34,940,000 | 36.17 | 127.151 | Gui | 10,878,000 | 35.744 | 127.119 |
Donghwa | 31,348,000 | 35.544 | 127.539 | Dongbu | 10,733,800 | 36.106 | 126.777 |
Hadong | 30,336,900 | 35.156 | 127.8 | Heungdeok | 9,946,000 | 35.556 | 126.714 |
Seongju | 28,150,000 | 35.903 | 128.154 | Bomun | 9,834,000 | 35.834 | 129.253 |
Gyeongcheon (Gyeongsangbuk-do) | 27,200,000 | 36.691 | 128.311 | Wonnam | 8,690,200 | 36.864 | 127.564 |
Baekgok | 26,372,000 | 36.86 | 127.417 | Dalchang | 8,649,000 | 35.645 | 128.462 |
Gyeongcheon (Jeonrabuk-do) | 25,346,000 | 36.028 | 127.227 | Myogok | 8,441,000 | 36.526 | 129.346 |
Deokdong | 22,537,100 | 35.823 | 129.285 | Otae | 8,291,000 | 36.504 | 128.123 |
Idong | 20,906,000 | 37.111 | 127.201 | Gung | 8,222,000 | 36.521 | 127.647 |
Cheongcheon | 20,753,100 | 36.365 | 126.61 | Biryong | 8,163,000 | 36.482 | 127.809 |
Cheongho | 18,045,000 | 35.734 | 126.697 | Seobu | 7,989,000 | 36.117 | 126.699 |
Togyo | 17,412,000 | 38.263 | 127.277 | Gabuk | 7,979,000 | 35.785 | 128.001 |
Gosam | 15,217,000 | 37.076 | 127.281 | Jangnam | 7,920,800 | 35.552 | 127.486 |
Bulgap | 15,200,000 | 35.229 | 126.506 | Gopung | 7,821,800 | 36.78 | 126.61 |
Gwangjuho | 15,198,000 | 35.204 | 126.985 | Daegok | 7,712,000 | 35.684 | 127.622 |
Obong | 14,329,100 | 37.71 | 128.819 | Daedong | 7,502,100 | 35.118 | 126.507 |
Maengdong | 13,910,000 | 36.892 | 127.57 | Neung | 7,315,600 | 35.854 | 126.836 |
Chopyeong | 13,853,200 | 36.817 | 127.514 | Geumbong | 7,259,200 | 36.352 | 128.853 |
Okgu | 12,826,100 | 35.906 | 126.666 | Sucheong | 7,001,000 | 35.553 | 126.93 |
Table 2 . Input variables for each multivariate time forecasting model.
Model | Input variables |
---|---|
LSTM | Daily water storage rate, Daily precipitation, DOY |
GRU | Daily water storage rate, Daily precipitation, DOY |
TFT | Daily water storage rate, Daily precipitation, DOY, WOY, MOY |
LSTM: long short term memory, GRU: gated recurrent unit, TFT: temporal fusion transformer, DOY: date of year, WOY: week of year, MOY: month of year..
Table 3 . Hyperparameter setting for each multivariate time forecasting model.
Model | LSTM | GRU | Model | TFT |
---|---|---|---|---|
Number of epoch | 100 | 100 | Number of epoch | 100 |
Number of steps | 20 | 20 | Number of steps | 20 |
Number of layer | 100 | 120 | Number of layers | 160 |
Learning rate | 0.0001 | 0.0001 | Learning rate | 0.0001 |
Batch size | 32 | 32 | Batch size | 64 |
Activation function | ReLU | ReLU | Attention head size | 8 |
LSTM: long short term memory, GRU: gated recurrent unit, TFT: temporal fusion..
Table 4 . Monthly average statistics of water storage rate from 2013 to 2023.
Month | Average (%p) | SD | MADD |
---|---|---|---|
1 | 76.076 | 19.856 | 0.679 |
2 | 77.624 | 19.734 | 0.705 |
3 | 80.304 | 18.631 | 0.678 |
4 | 83.640 | 16.202 | 0.679 |
5 | 75.388 | 16.181 | 1.478 |
6 | 54.938 | 16.718 | 1.389 |
7 | 61.770 | 20.494 | 1.799 |
8 | 62.634 | 20.347 | 1.630 |
9 | 65.914 | 21.285 | 1.321 |
10 | 69.264 | 21.193 | 0.933 |
11 | 71.081 | 20.856 | 0.848 |
12 | 74.407 | 20.152 | 0.753 |
SD: standard deviation, MADD: mean of daily difference of water storage rate change..
Table 5 . Monthly average statistics of water storage rate from 2013 to 2023.
After day | Reservoir | LSTM | GRU | TFT | ||||||
---|---|---|---|---|---|---|---|---|---|---|
MAEd) | RMSE | CC | MAE | RMSE | CC | MAE | RMSE | CC | ||
1 | Najuho | 1.059 | 1.767 | 0.992 | 0.865 | 1.403 | 0.995 | 1.347 | 1.772 | 0.994 |
Jangseongho | 1.308 | 1.790 | 0.996 | 1.047 | 1.805 | 0.996 | 1.199 | 1.788 | 0.996 | |
Damyangho | 4.088 | 5.440 | 0.995 | 0.925 | 1.444 | 0.998 | 1.861 | 2.279 | 0.998 | |
Daea | 1.547 | 3.008 | 0.921 | 1.387 | 2.968 | 0.921 | 0.973 | 2.741 | 0.929 | |
Yedang | 2.726 | 4.278 | 0.974 | 2.418 | 3.968 | 0.978 | 2.505 | 3.899 | 0.978 | |
Tapjeong | 1.781 | 3.480 | 0.947 | 1.721 | 3.557 | 0.944 | 2.022 | 3.699 | 0.941 | |
Donghwa | 1.918 | 2.814 | 0.975 | 0.988 | 1.554 | 0.991 | 1.254 | 1.850 | 0.988 | |
Hadong | 1.086 | 1.632 | 0.964 | 1.011 | 1.548 | 0.968 | 1.451 | 2.243 | 0.936 | |
Seongju | 1.515 | 3.099 | 0.915 | 1.372 | 2.944 | 0.925 | 1.943 | 3.495 | 0.889 | |
Gyeongcheon | 1.153 | 2.138 | 0.982 | 1.204 | 2.215 | 0.981 | 1.807 | 3.286 | 0.961 | |
Baekgok | 1.062 | 2.125 | 0.988 | 1.028 | 1.828 | 0.991 | 1.387 | 2.192 | 0.990 | |
Gyeongcheon | 1.792 | 3.267 | 0.948 | 1.666 | 3.100 | 0.952 | 2.010 | 3.861 | 0.923 | |
Deokdong | 1.125 | 1.807 | 0.976 | 0.977 | 1.643 | 0.980 | 0.869 | 1.822 | 0.975 | |
Idong | 1.884 | 2.828 | 0.989 | 1.712 | 2.666 | 0.989 | 2.188 | 3.696 | 0.983 | |
Cheongcheon | 1.479 | 2.263 | 0.985 | 1.315 | 2.255 | 0.985 | 1.559 | 2.664 | 0.979 | |
Cheongho | 0.753 | 1.133 | 0.984 | 0.745 | 1.163 | 0.984 | 0.972 | 1.338 | 0.979 | |
Togyo | 0.905 | 1.190 | 0.990 | 0.920 | 1.216 | 0.990 | 1.048 | 1.440 | 0.990 | |
Gosam | 1.235 | 2.521 | 0.990 | 1.059 | 2.340 | 0.992 | 1.514 | 3.104 | 0.990 | |
Bulgap | 3.887 | 5.164 | 0.976 | 1.607 | 2.422 | 0.991 | 2.991 | 4.083 | 0.984 | |
Gwangjuho | 1.528 | 3.175 | 0.934 | 1.311 | 2.901 | 0.946 | 1.777 | 3.344 | 0.920 | |
Obong | 1.973 | 2.840 | 0.989 | 1.308 | 1.904 | 0.995 | 2.156 | 3.108 | 0.989 | |
Maengdong | 2.739 | 3.636 | 0.975 | 1.542 | 2.088 | 0.992 | 1.953 | 2.433 | 0.990 | |
Chopyeong | 1.201 | 2.592 | 0.969 | 1.245 | 2.705 | 0.966 | 1.519 | 3.161 | 0.956 | |
Okgu | 1.505 | 2.139 | 0.980 | 1.196 | 1.766 | 0.987 | 1.328 | 1.965 | 0.983 | |
Geumgwang | 1.514 | 2.671 | 0.986 | 1.633 | 2.840 | 0.986 | 5.090 | 6.356 | 0.958 | |
Suyang | 4.273 | 5.699 | 0.975 | 2.465 | 4.289 | 0.978 | 2.567 | 4.142 | 0.977 | |
Giheung | 2.142 | 2.962 | 0.979 | 1.741 | 2.611 | 0.980 | 3.098 | 5.225 | 0.967 | |
Dongsang | 2.171 | 3.535 | 0.978 | 1.881 | 3.526 | 0.978 | 1.944 | 3.565 | 0.978 | |
Yongrim | 6.538 | 9.593 | 0.969 | 4.294 | 6.012 | 0.989 | 2.083 | 2.638 | 0.996 | |
Gui | 1.745 | 3.542 | 0.939 | 1.546 | 3.114 | 0.953 | 2.380 | 4.650 | 0.899 | |
Dongbu | 1.487 | 2.779 | 0.957 | 1.493 | 2.979 | 0.951 | 2.064 | 3.523 | 0.927 | |
Heungdeok | 2.714 | 5.175 | 0.846 | 2.593 | 5.191 | 0.853 | 2.856 | 6.130 | 0.779 | |
Bomun | 1.255 | 2.178 | 0.988 | 1.381 | 2.281 | 0.988 | 2.243 | 3.751 | 0.972 | |
Wonnam | 1.197 | 2.458 | 0.975 | 1.142 | 2.165 | 0.984 | 1.427 | 3.058 | 0.969 | |
Dalchang | 1.537 | 2.642 | 0.939 | 1.755 | 2.786 | 0.938 | 1.800 | 3.132 | 0.912 | |
Myogok | 1.142 | 2.419 | 0.979 | 1.080 | 2.290 | 0.981 | 1.756 | 3.189 | 0.964 | |
Otae | 1.489 | 2.449 | 0.987 | 1.233 | 2.134 | 0.991 | 1.270 | 2.047 | 0.991 | |
Gung | 1.286 | 1.892 | 0.981 | 0.913 | 1.509 | 0.983 | 1.216 | 1.724 | 0.977 | |
Biryong | 7.139 | 9.834 | 0.857 | 4.156 | 6.442 | 0.928 | 3.405 | 5.892 | 0.935 | |
Seobu | 1.912 | 3.221 | 0.952 | 1.875 | 3.240 | 0.954 | 1.803 | 3.146 | 0.949 | |
Gabuk | 1.372 | 2.360 | 0.945 | 1.260 | 2.310 | 0.946 | 1.474 | 2.873 | 0.925 | |
Jangnam | 1.537 | 2.745 | 0.925 | 1.541 | 2.316 | 0.948 | 1.535 | 3.077 | 0.899 | |
Gopung | 1.688 | 2.838 | 0.983 | 1.171 | 2.153 | 0.990 | 2.027 | 3.531 | 0.973 | |
Daegok | 1.130 | 1.895 | 0.974 | 1.306 | 2.012 | 0.970 | 1.631 | 2.667 | 0.945 | |
Daedong | 2.173 | 3.844 | 0.976 | 2.243 | 3.722 | 0.977 | 2.144 | 3.759 | 0.977 | |
Neung | 0.785 | 1.357 | 0.941 | 0.620 | 1.136 | 0.958 | 0.870 | 1.480 | 0.928 | |
Geumbong | 1.434 | 2.482 | 0.993 | 1.656 | 2.691 | 0.992 | 1.878 | 3.596 | 0.986 | |
Sucheong | 3.325 | 5.356 | 0.945 | 2.884 | 4.706 | 0.961 | 3.794 | 5.457 | 0.946 | |
2 | Najuho | 1.578 | 2.694 | 0.981 | 1.206 | 2.103 | 0.988 | 1.204 | 1.723 | 0.994 |
Jangseongho | 1.840 | 2.441 | 0.993 | 1.356 | 2.263 | 0.994 | 1.377 | 1.956 | 0.995 | |
Damyangho | 4.765 | 6.267 | 0.993 | 1.116 | 1.717 | 0.997 | 1.743 | 2.176 | 0.998 | |
Daea | 2.160 | 3.498 | 0.894 | 1.770 | 3.323 | 0.902 | 0.979 | 2.603 | 0.936 | |
Yedang | 3.966 | 5.791 | 0.952 | 3.525 | 5.200 | 0.965 | 2.569 | 3.951 | 0.978 | |
Tapjeong | 2.506 | 4.204 | 0.927 | 2.718 | 4.766 | 0.898 | 2.032 | 3.770 | 0.939 | |
Donghwa | 2.999 | 4.045 | 0.943 | 1.642 | 2.516 | 0.977 | 1.152 | 1.735 | 0.988 | |
Hadong | 1.458 | 2.049 | 0.944 | 1.541 | 2.094 | 0.944 | 1.413 | 2.177 | 0.938 | |
Seongju | 2.460 | 4.095 | 0.857 | 2.181 | 3.775 | 0.879 | 1.916 | 3.393 | 0.893 | |
Gyeongcheon | 1.682 | 2.874 | 0.967 | 1.667 | 2.855 | 0.970 | 1.794 | 3.264 | 0.961 | |
Baekgok | 1.725 | 3.232 | 0.973 | 1.530 | 2.935 | 0.976 | 1.348 | 2.108 | 0.990 | |
Gyeongcheon | 2.448 | 3.828 | 0.928 | 2.167 | 3.512 | 0.939 | 1.952 | 3.783 | 0.925 | |
Deokdong | 1.828 | 2.596 | 0.957 | 1.280 | 1.905 | 0.973 | 0.911 | 1.845 | 0.975 | |
Idong | 2.657 | 3.775 | 0.982 | 2.306 | 3.404 | 0.984 | 2.225 | 3.804 | 0.984 | |
Cheongcheon | 2.505 | 3.601 | 0.964 | 1.877 | 2.756 | 0.978 | 1.523 | 2.661 | 0.979 | |
Cheongho | 1.180 | 1.698 | 0.965 | 1.194 | 1.857 | 0.963 | 1.017 | 1.383 | 0.978 | |
Togyo | 1.402 | 1.842 | 0.976 | 1.273 | 1.650 | 0.982 | 1.157 | 1.539 | 0.990 | |
Gosam | 1.833 | 3.209 | 0.985 | 1.602 | 2.921 | 0.989 | 1.662 | 3.311 | 0.990 | |
Bulgap | 5.497 | 7.103 | 0.947 | 2.265 | 3.216 | 0.984 | 2.889 | 3.979 | 0.984 | |
Gwangjuho | 2.527 | 3.970 | 0.902 | 2.125 | 3.664 | 0.918 | 1.702 | 3.259 | 0.924 | |
Obong | 2.416 | 3.361 | 0.986 | 1.944 | 2.521 | 0.992 | 2.460 | 3.609 | 0.987 | |
Maengdong | 3.383 | 4.433 | 0.964 | 2.192 | 2.872 | 0.986 | 3.014 | 3.708 | 0.978 | |
Chopyeong | 1.843 | 3.375 | 0.949 | 1.867 | 3.647 | 0.937 | 1.528 | 3.457 | 0.947 | |
Okgu | 2.840 | 3.708 | 0.941 | 2.367 | 3.447 | 0.951 | 1.245 | 1.851 | 0.985 | |
Geumgwang | 2.318 | 3.655 | 0.976 | 2.612 | 4.002 | 0.977 | 5.039 | 6.370 | 0.957 | |
Suyang | 6.403 | 7.726 | 0.953 | 3.295 | 5.094 | 0.969 | 2.837 | 4.316 | 0.975 | |
Giheung | 3.905 | 4.903 | 0.953 | 2.893 | 3.988 | 0.953 | 3.273 | 5.305 | 0.964 | |
Dongsang | 4.018 | 5.909 | 0.939 | 3.978 | 6.671 | 0.918 | 1.965 | 3.638 | 0.977 | |
Yongrim | 9.160 | 13.083 | 0.934 | 5.309 | 7.204 | 0.982 | 2.553 | 3.093 | 0.995 | |
Gui | 3.022 | 5.165 | 0.877 | 2.213 | 3.665 | 0.936 | 2.371 | 4.736 | 0.895 | |
Dongbu | 1.901 | 3.302 | 0.943 | 1.801 | 3.362 | 0.939 | 2.002 | 3.416 | 0.932 | |
Heungdeok | 3.790 | 6.231 | 0.778 | 3.778 | 6.985 | 0.751 | 2.843 | 6.051 | 0.785 | |
Bomun | 2.167 | 3.402 | 0.972 | 1.690 | 2.693 | 0.985 | 2.233 | 3.721 | 0.972 | |
Wonnam | 1.706 | 3.459 | 0.951 | 1.746 | 3.143 | 0.975 | 1.307 | 2.913 | 0.972 | |
Dalchang | 1.995 | 3.171 | 0.911 | 2.417 | 3.639 | 0.901 | 1.746 | 3.125 | 0.912 | |
Myogok | 1.656 | 3.016 | 0.967 | 1.386 | 2.540 | 0.977 | 1.680 | 3.169 | 0.964 | |
Otae | 2.593 | 4.111 | 0.963 | 2.217 | 3.792 | 0.968 | 1.411 | 2.263 | 0.990 | |
Gung | 1.688 | 2.364 | 0.969 | 1.216 | 1.854 | 0.976 | 1.165 | 1.707 | 0.978 | |
Biryong | 10.304 | 14.079 | 0.716 | 6.001 | 8.862 | 0.872 | 3.267 | 5.846 | 0.935 | |
Seobu | 2.840 | 4.476 | 0.924 | 2.860 | 4.637 | 0.934 | 1.765 | 3.067 | 0.951 | |
Gabuk | 2.057 | 3.037 | 0.918 | 1.884 | 2.955 | 0.918 | 1.480 | 2.835 | 0.926 | |
Jangnam | 1.794 | 3.216 | 0.900 | 2.052 | 3.151 | 0.919 | 1.566 | 3.083 | 0.898 | |
Gopung | 2.515 | 4.183 | 0.963 | 1.707 | 2.820 | 0.983 | 2.012 | 3.377 | 0.975 | |
Daegok | 1.506 | 2.326 | 0.962 | 1.620 | 2.405 | 0.957 | 1.617 | 2.641 | 0.946 | |
Daedong | 3.275 | 5.020 | 0.961 | 3.450 | 4.930 | 0.960 | 2.139 | 3.730 | 0.977 | |
Neung | 1.142 | 1.868 | 0.895 | 0.707 | 1.172 | 0.955 | 0.875 | 1.465 | 0.930 | |
Geumbong | 1.856 | 2.817 | 0.991 | 1.782 | 2.807 | 0.991 | 1.849 | 3.547 | 0.987 | |
Sucheong | 5.537 | 8.515 | 0.867 | 3.830 | 5.313 | 0.957 | 3.951 | 5.507 | 0.946 | |
3 | Najuho | 1.999 | 3.328 | 0.970 | 1.442 | 2.499 | 0.983 | 1.332 | 2.031 | 0.990 |
Jangseongho | 2.344 | 3.141 | 0.988 | 1.585 | 2.572 | 0.992 | 1.675 | 2.387 | 0.993 | |
Damyangho | 5.465 | 7.147 | 0.989 | 1.259 | 1.908 | 0.996 | 1.969 | 2.400 | 0.997 | |
Daea | 2.759 | 4.064 | 0.861 | 2.058 | 3.597 | 0.889 | 1.019 | 2.535 | 0.940 | |
Yedang | 4.923 | 7.108 | 0.928 | 4.306 | 6.065 | 0.952 | 2.704 | 4.114 | 0.976 | |
Tapjeong | 3.360 | 5.238 | 0.899 | 3.648 | 6.115 | 0.839 | 2.146 | 3.967 | 0.932 | |
Donghwa | 3.961 | 5.179 | 0.904 | 2.268 | 3.398 | 0.961 | 1.181 | 1.769 | 0.988 | |
Hadong | 1.930 | 2.694 | 0.912 | 2.088 | 2.826 | 0.913 | 1.430 | 2.179 | 0.937 | |
Seongju | 3.366 | 5.182 | 0.788 | 2.943 | 4.753 | 0.813 | 1.921 | 3.447 | 0.887 | |
Gyeongcheon | 2.201 | 3.597 | 0.949 | 2.107 | 3.577 | 0.957 | 1.825 | 3.296 | 0.961 | |
Baekgok | 2.358 | 4.103 | 0.958 | 1.998 | 3.874 | 0.961 | 1.434 | 2.217 | 0.988 | |
Gyeongcheon | 3.148 | 4.619 | 0.894 | 2.600 | 4.036 | 0.922 | 1.987 | 3.829 | 0.924 | |
Deokdong | 2.576 | 3.497 | 0.937 | 1.496 | 2.086 | 0.969 | 0.954 | 1.885 | 0.973 | |
Idong | 3.346 | 4.733 | 0.974 | 2.804 | 4.153 | 0.977 | 2.339 | 3.912 | 0.984 | |
Cheongcheon | 3.704 | 5.485 | 0.926 | 2.438 | 3.360 | 0.968 | 1.545 | 2.693 | 0.979 | |
Cheongho | 1.666 | 2.525 | 0.928 | 1.698 | 2.758 | 0.922 | 1.080 | 1.451 | 0.976 | |
Togyo | 2.009 | 2.714 | 0.947 | 1.642 | 2.171 | 0.972 | 1.226 | 1.606 | 0.989 | |
Gosam | 2.362 | 3.956 | 0.978 | 2.249 | 3.836 | 0.983 | 1.771 | 3.400 | 0.990 | |
Bulgap | 6.793 | 8.646 | 0.912 | 2.805 | 3.908 | 0.976 | 3.034 | 4.125 | 0.983 | |
Gwangjuho | 3.649 | 5.212 | 0.841 | 2.914 | 4.535 | 0.879 | 1.741 | 3.220 | 0.926 | |
Obong | 3.121 | 4.305 | 0.979 | 2.544 | 3.154 | 0.989 | 2.852 | 4.150 | 0.983 | |
Maengdong | 3.927 | 5.055 | 0.955 | 2.593 | 3.321 | 0.982 | 3.337 | 3.944 | 0.973 | |
Chopyeong | 2.570 | 4.438 | 0.919 | 2.495 | 4.686 | 0.897 | 1.640 | 3.808 | 0.935 | |
Okgu | 4.205 | 5.314 | 0.882 | 3.837 | 5.544 | 0.878 | 1.300 | 1.914 | 0.984 | |
Geumgwang | 3.107 | 4.892 | 0.962 | 3.570 | 5.375 | 0.965 | 5.027 | 6.343 | 0.956 | |
Suyang | 8.378 | 9.783 | 0.916 | 3.975 | 5.738 | 0.960 | 3.119 | 4.584 | 0.972 | |
Giheung | 5.772 | 7.116 | 0.912 | 4.223 | 5.881 | 0.900 | 3.435 | 5.425 | 0.961 | |
Dongsang | 6.332 | 9.363 | 0.848 | 6.880 | 10.839 | 0.780 | 2.308 | 3.917 | 0.973 | |
Yongrim | 10.750 | 15.001 | 0.905 | 6.044 | 8.026 | 0.976 | 3.118 | 3.734 | 0.992 | |
Gui | 4.610 | 7.478 | 0.775 | 3.059 | 4.702 | 0.901 | 2.442 | 4.821 | 0.891 | |
Dongbu | 2.416 | 4.201 | 0.915 | 2.059 | 3.751 | 0.927 | 1.959 | 3.364 | 0.934 | |
Heungdeok | 5.085 | 7.607 | 0.688 | 5.135 | 9.160 | 0.618 | 2.931 | 6.133 | 0.778 | |
Bomun | 3.103 | 4.777 | 0.946 | 1.948 | 2.980 | 0.983 | 2.306 | 3.767 | 0.971 | |
Wonnam | 2.116 | 4.278 | 0.926 | 2.394 | 4.421 | 0.965 | 1.241 | 2.846 | 0.973 | |
Dalchang | 2.462 | 3.648 | 0.882 | 3.004 | 4.592 | 0.855 | 1.752 | 3.185 | 0.908 | |
Myogok | 2.264 | 3.988 | 0.944 | 1.634 | 2.896 | 0.972 | 1.703 | 3.207 | 0.963 | |
Otae | 3.637 | 5.546 | 0.931 | 3.123 | 5.249 | 0.937 | 1.712 | 2.755 | 0.984 | |
Gung | 2.170 | 3.022 | 0.951 | 1.533 | 2.301 | 0.966 | 1.194 | 1.751 | 0.977 | |
Biryong | 12.603 | 17.613 | 0.579 | 6.978 | 10.169 | 0.828 | 3.255 | 5.836 | 0.934 | |
Seobu | 3.836 | 6.203 | 0.880 | 3.943 | 6.566 | 0.904 | 1.743 | 3.053 | 0.951 | |
Gabuk | 2.881 | 3.980 | 0.883 | 2.628 | 3.954 | 0.873 | 1.529 | 2.869 | 0.923 | |
Jangnam | 2.044 | 3.675 | 0.876 | 2.505 | 4.100 | 0.893 | 1.608 | 3.119 | 0.894 | |
Gopung | 3.338 | 5.787 | 0.934 | 2.268 | 3.809 | 0.970 | 2.064 | 3.398 | 0.974 | |
Daegok | 1.944 | 2.844 | 0.946 | 1.850 | 2.724 | 0.945 | 1.613 | 2.639 | 0.946 | |
Daedong | 4.620 | 6.887 | 0.933 | 4.738 | 6.847 | 0.927 | 2.300 | 3.800 | 0.976 | |
Neung | 1.557 | 2.623 | 0.815 | 0.770 | 1.223 | 0.952 | 0.884 | 1.472 | 0.930 | |
Geumbong | 2.265 | 3.328 | 0.987 | 1.834 | 2.874 | 0.991 | 1.929 | 3.662 | 0.986 | |
Sucheong | 7.892 | 11.934 | 0.756 | 4.981 | 6.304 | 0.950 | 4.163 | 5.681 | 0.942 |
LSTM: long short term memory, GRU: gated recurrent unit, TFT: temporal fusion transformer, MAE: mean absolute error, RMSE: root mean squared error, CC: correlation.
Table 6 . Monthly average statistics of water storage rate from 2013 to 2023.
Afterday | LSTM | GRU | TFT | ||||||
---|---|---|---|---|---|---|---|---|---|
MAE | RMSE | CC | MAE | RMSE | CC | MAE | RMSE | CC | |
1 | 1.963 | 3.168 | 0.965 | 1.551 | 2.664 | 0.971 | 1.905 | 3.193 | 0.958 |
2 | 2.888 | 4.307 | 0.939 | 2.232 | 3.513 | 0.952 | 1.942 | 3.238 | 0.958 |
3 | 3.811 | 5.559 | 0.902 | 2.894 | 4.442 | 0.927 | 2.047 | 3.357 | 0.956 |
LSTM: long short term memory, GRU: gated recurrent unit, TFT: temporal fusion transformer, MAE: mean absolute error, RMSE: root mean squared error, CC: correlation coefficient..
Table 7 . Monthly average statistics of water storage rate from 2013 to 2023.
Afterday | LSTM | GRU | TFT | ||||||
---|---|---|---|---|---|---|---|---|---|
MAE | RMSE | CC | MAE | RMSE | CC | MAE | RMSE | CC | |
4 | 4.704 | 6.821 | 0.861 | 3.548 | 5.391 | 0.899 | 2.195 | 3.539 | 0.952 |
5 | 5.559 | 8.059 | 0.819 | 4.186 | 6.318 | 0.872 | 2.372 | 3.761 | 0.948 |
6 | 6.389 | 9.275 | 0.777 | 4.808 | 7.209 | 0.846 | 2.559 | 3.998 | 0.942 |
7 | 7.202 | 10.478 | 0.737 | 5.406 | 8.065 | 0.824 | 2.753 | 4.246 | 0.936 |
8 | 7.985 | 11.640 | 0.701 | 5.989 | 8.890 | 0.804 | 2.950 | 4.508 | 0.928 |
9 | 8.714 | 12.716 | 0.670 | 6.564 | 9.694 | 0.786 | 3.145 | 4.768 | 0.920 |
10 | 9.392 | 13.695 | 0.643 | 7.120 | 10.473 | 0.770 | 3.333 | 5.023 | 0.912 |
11 | 10.030 | 14.593 | 0.619 | 7.660 | 11.233 | 0.755 | 3.513 | 5.266 | 0.903 |
12 | 10.634 | 15.430 | 0.597 | 8.197 | 11.984 | 0.741 | 3.691 | 5.501 | 0.894 |
13 | 11.207 | 16.218 | 0.577 | 8.728 | 12.721 | 0.726 | 3.860 | 5.724 | 0.886 |
14 | 11.758 | 16.972 | 0.559 | 9.258 | 13.449 | 0.712 | 4.025 | 5.940 | 0.876 |
15 | 12.297 | 17.704 | 0.541 | 9.789 | 14.168 | 0.697 | 4.186 | 6.151 | 0.867 |
16 | 12.823 | 18.414 | 0.525 | 10.308 | 14.860 | 0.683 | 4.345 | 6.353 | 0.858 |
17 | 13.333 | 19.098 | 0.510 | 10.815 | 15.537 | 0.668 | 4.500 | 6.556 | 0.849 |
18 | 13.828 | 19.753 | 0.496 | 11.303 | 16.189 | 0.655 | 4.647 | 6.748 | 0.839 |
19 | 14.312 | 20.383 | 0.482 | 11.775 | 16.815 | 0.642 | 4.789 | 6.936 | 0.829 |
20 | 14.781 | 20.990 | 0.469 | 12.230 | 17.418 | 0.630 | 4.924 | 7.115 | 0.819 |
LSTM: long short term memory, GRU: gated recurrent unit, TFT: temporal fusion transformer, MAE: mean absolute error, RMSE: root mean squared error, CC: correlation.
Table 8 . Feature importance for the multivariate LSTM and GRU models to predict daily water.
Rank | Variable | Percentage | Category | |
---|---|---|---|---|
LSTM | GRU | |||
1 | Daily water storage | 89.7% | 89.2% | Water source |
2 | DOY | 5.2% | 5.5% | Period |
3 | Daily Precipitation | 5.1% | 5.3% | Weather |
DOY: date of year..
Table 9 . Decoder Feature importance for the multivariate TFT model to predict daily water storage rate.
Rank | Variable | Percentage | Category |
---|---|---|---|
1 | Daily water storage | 82.5% | Water source |
2 | DOY | 5.6% | Period |
3 | MOY | 4.2% | Period |
4 | Daily Precipitation | 3.9% | Weather |
5 | WOY | 3.8% | Period |
DOY: date of year, MOY: month of year, WOY: week of year..
Rogelio Ruzcko Tobias, Sejeong Bae, Hwanhee Cho, Jungho Im
Korean J. Remote Sens. 2024; 40(6): 1505-1521Jaeung Sim, Jaeil Cho, Kyungdo Lee, Yangwon Lee
Korean J. Remote Sens. 2024; 40(6): 1195-1208Kwangjae Lee
Korean J. Remote Sens. 2024; 40(5): 695-712