중소도시 미세먼지 농도 예측을 위한 머신러닝 기법 적용 가능성 평가
Evaluation of Machine Learning Application on the Prediction of Particulate Matter Concentrations in Small/Medium-Sized City
Article information
Abstract
목적
본 연구는 중소도시의 대기환경 및 기상 데이터를 이용하여 미세먼지(PM10 및 PM2.5) 농도를 예측하는 머신러닝 모델의 성능을 평가하였다.
방법
Multiple Linear Regression (MLR), Decision Tree Regression (DTR), Random Forest (RF), Extreme Gradient Boosting (XGB), Light Gradient Boosting Machine (LGB)의 5개 머신러닝 모델을 이용하여 PM10과 PM2.5 농도를 예측하였다. 2017년부터 2022년까지 5개의 대기환경 데이터(NO2, SO2, CO, PM10, PM2.5)와 7개의 기상 데이터(기온, 습도, 증기압, 풍속, 강수량, 현지기압, 해면기압)를 3개의 대기질 측정소와 1개의 기상대에서 수집하였고, 이를 머신러닝 학습, 검증, 테스트 자료로 사용하였다. 머신러닝 예측 성능은 Root Mean Squared Error(RMSE), Mean Absolute Error(MAE), Coefficient of determination(R2)의 3가지 성능 평가 지표를 이용하여 정확도를 평가하였다.
결과 및 토의
미세먼지(PM10 및 PM2.5) 농도 예측에서 입력 변수에 예측하고자 하는 미세먼지 정보가 포함된 데이터셋을 학습한 모델이 그렇지 않은 모델보다 더 높은 예측 성능을 보였다. XGB 모델이 다른 머신러닝 모델들 보다 대부분의 경우에 가장 우수한 성능을 나타내었다. 그러나 미세먼지 농도를 예측하는 시간이 길어질수록 모든 머신러닝의 예측 정확도가 크게 감소하였다.
결론
본 연구에서 머신러닝 기법을 이용한 1시간 후의 미세먼지(PM10 및 PM2.5) 농도 예측은 충분히 적용 가능한 수준의 결과로 확인되었다. 그러나 장기간의 미세먼지를 예측하기 위해서는 딥러닝 모델을 적용하거나 미세먼지 농도에 영향을 미치는 추가적인 영향 인자 데이터를 확보하여 적용하는 것이 필요할 것이다.
Trans Abstract
Objectives
In this study, Machine Learning (ML) algorithms were evaluated to predict the concentration of particulate matter (PM10 and PM2.5) using air quality and meteorological data in small/medium-sized city.
Methods
ML models, including Multiple Linear Regression (MLR), Decision Tree Regression (DTR), Random Forest (RF), Extreme Gradient Boosting (XGB), Light Gradient Boosting Machine (LGB), were used to predict PM10 and PM2.5 concentrations. Five air quality variables, including NO2, SO2, CO, PM10 and PM2.5, and seven meteorological variables, including temperature, humidity, vapor pressure, wind speed, precipitation, local atmospheric pressure, and sea-level atmosphere pressure, were collected from three air quality monitoring stations and one meteorological observatory from 2017 to 2022. A total of 52,583 sets of data were used for ML. The prediction accuracies of the applied ML models were evaluated using the Root Mean Squared Error (RMSE), Mean Absolute Error (MAE), and Coefficient of determination (R2).
Results and Discussion
Higher ML performance was obtained when using the data including PM10 and PM2.5 compared to the data excluding these variables. Among five different ML models, the XGB model showed the highest accuracy in predicting PM10 and PM2.5 one hour in the future. However, poorer performance was obtained as the predicted period increased from one hour to 72 hours.
Conclusion
The application of ML algorithms for the short-term prediction of PM10 and PM2.5 was successful in this study. However, more input variables and deep learning algorithms are needed for long-term prediction of PM10 and PM2.5.
1. 서 론
미세먼지(Particulate Matter, PM)는 공기 중에 부유하는 흡입 가능한 고체 화합물로[1], 직경에 따라 10μm 이하의 PM10과 2.5μm 이하의 PM2.5으로 구분한다. 미세먼지는 다양한 자연적, 인위적 발생원에 따라 생성되는데, PM10은 사업장 및 자동차 배출가스와 황사 등으로 인하여 발생하며, PM2.5는 황산화물(SOx), 질소산화물(NOx), 휘발성유기화합물(VOCs)과 같은 전구물질의 대기화학적 상호작용으로 인해 2차 생산된다[2]. WHO는 2019년 대기 오염으로 인해 전세계적으로 연간 420만 명이 사망하는 것으로 추정하였으며, 이는 미세먼지에 대한 노출로 인해 발생하였다고 발표하였다[3]. 미세먼지의 장시간 노출은 천식, 만성 폐쇄성 폐질환, 폐암 등 호흡기 질환은 물론, 골다공증, 당뇨병, 심혈관 질환, 면역 질환, 신경 질환, 정신 질환, 저체중아 출산, 영아 사망률과 관련이 있으며, 이에 대한 연구가 다수 보고된 바 있다[4-7]. 이러한 미세먼지의 위험성 저감과 대기질 개선을 위하여 미세먼지 농도 모니터링 및 예측에 대한 연구가 활발하게 보고되고 있다.
최근 수질, 대기, 토양 등 다양한 환경 분야에 IoT 기술이 활용되어 많은 데이터가 실시간으로 축적되고 있다. 축적된 데이터의 양적 및 질적 수준이 높아지고, 기존의 분석 기법으로 처리가 어려워짐에 따라 보다 효과적인 분석 기법의 도입이 요구되었다. 이러한 요구를 충족시킬 수 있는 방안 중 하나로 머신러닝 기법이 제안되고 있다[8]. 머신러닝이란 인공지능의 한 분야로서, 컴퓨터가 명시적으로 프로그래밍되지 않고도 주어진 데이터를 반복적으로 학습하여 목표한 결과를 찾아내는 기술을 말한다[9]. 환경 분야 중 머신러닝 기법이 가장 활발하게 적용되고 있는 분야는 상대적으로 많은 데이터가 축적되어 있는 대기환경분야이다[8]. Kang 등[10]은 머신러닝 모델을 적용하여 동아시아의 NO2, O3 농도를 추정하였으며, Du 등[11]과 Hosseinpour 등[12]은 미국의 O3 농도를 예측하였고, Araki 등[13]과 Chi 등[14]은 각각 오사카와 중국 전역의 NO2 농도를 예측하였다. 또한, Cole 등[15]은 머신러닝 모델을 통하여 중국의 지역 봉쇄가 대기 오염 수준에 미치는 영향을 확인하였으며, Xiao 등[16]은 딥러닝 모델을 이용하여 중국의 발전소에 의한 대기 오염 모델링을 수행하였다.
머신러닝은 특히 상대적으로 관심이 높은 미세먼지 분석 연구에도 많이 사용되고 있는데, 주로 Multiple Linear Regression(MLR), Decision Tree Regression(DTR), Random Forest(RF), Extreme Gradient Boosting(XGB), Light Gradient Boosting Machine(LGB), Support Vector Regression(SVR) 등의 머신러닝 모델[10,11,17,18]과 Long Short Term Memory(LSTM), Convolutional Neural Network(CNN), Deep Neural Network (DNN) 등의 딥러닝 모델[19-21]을 사용하고 있다. 위성 데이터와 기상 데이터를 같이 이용하거나[22-24], 대기환경 데이터와 기상 데이터를 이용하여 미세먼지 농도를 예측한 결과들이 보고되고 있다[19,20,25,26].
머신러닝을 활용한 미세먼지 농도 예측 연구에서 입력 변수를 구분하여 살펴보면, 예측하고자 하는 미세먼지 항목을 학습시키지 않고 나머지 대기환경 데이터 및 기상 데이터를 이용하여 미세먼지 농도를 예측하는 방법과[19,21,23,25,27], 예측하고자 하는 미세먼지 항목을 학습에 포함하는 방법으로 구분할 수 있다[20,22,28,29]. 기존 연구에서 두 가지 방법을 동시에 적용하여 비교한 연구는 거의 보고되지 않고 있어 어떤 방법이 더 적합한지에 대한 연구가 필요할 수 있다. 또한 머신러닝을 활용하여 미래의 미세먼지의 농도를 예측하는 연구는 국외 연구에서 다수 보고되어 있으나 국내에서는 현재까지 거의 보고되지 않고 있다[20,21,29-31].
본 연구에서는 미세먼지 예측에 자주 사용되는 머신러닝 모델을 활용하여 위에서 언급한 바와 같이 미세먼지의 포함 여부를 구분하여, 1시간 후의 미세먼지 농도 예측을 수행한 후 두 방법의 예측 성능을 비교하였다. 또한, 학습된 머신러닝 모델이 높은 신뢰성으로 1시간 보다 더 먼 미래의 미세먼지 농도를 예측할 수 있는지 여부를 확인하였다. 본 연구에서 사용된 머신러닝 기법은 MLR, DTR, RF, XGB, LGB이며, 학습된 모델의 미세먼지 농도 예측 성능을 비교평가하기 위해 Root Mean Squared Error(RMSE), Mean Absolute Error (MAE), Coefficient of determination(R2)을 활용하였다.
2. 실험방법
대기환경 데이터와 기상 데이터를 이용하여 미세먼지 농도를 예측하는 머신러닝 연구방법을 Fig. 1에 나타내었다. 본 연구에서 머신러닝 연구는 데이터 수집, 데이터 전처리, 입력/목표 변수 구분 및 학습 데이터셋 분할, 학습된 머신러닝 모델의 성능 평가 등을 포함한다.
2.1. 데이터 수집
미세먼지 농도 예측을 위한 머신러닝 입력 데이터 수집을 위하여 대기환경 데이터는 한국환경공단 에어코리아(https://www.airkorea.or.kr)에서 기상데이터는 기상자료개방포털(https://data.kma.go.kr)에서 다운로드 받아 이용하였다. 데이터 수집 대상 지역은 대한민국 경상북도 A시로 선정하였으며, 데이터 수집 기간은 2017년 1월 1일부터 2022년 12월 31일까지로 하였다. A시는 615km2의 면적을 가지며, 국가산업단지를 보유한 도농복합도시로, 북쪽 지역은 주로 농업이 발달되어 있으며, 남서쪽 지역에는 상업 및 주택단지가 위치하고 있고, 남동쪽 지역에는 국가산업단지가 있다. 이러한 지역적 특성을 고려하여 Fig. 2에 나타낸 바와 같이 북쪽 지역에는 대기질 측정소를 설치/운영하고 있지 않으며, 총 5개의 대기질 측정소(A-1 - A-5) 모두 남쪽 지역에 설치/운영되고 있다. 본 연구에서는 3개 측정소(A-1, A-2, A-3)를 대상 측정소로 하였는데, 이는 이들 측정소가 가장 먼저 설치/운영되어 상대적으로 많은 5년 이상의 데이터를 확보할 수 있기 때문이다. 결과적으로 대기질 측정소 A-1, A-2, A-3는 각각 공업지역, 주거지역, 상업지역을 대표하는 것으로 판단하였다. 또한, A시의 기상 데이터는 한 곳에서만 측정/수집되었기 때문에 대상 측정소 3곳(A-1, A-2, A-3)의 기상 데이터는 모두 동일한 기상 데이터를 적용하였는데, 대상 지역의 기상이 대기질 측정소 지점에 따라 크게 변화하지는 않을 것으로 판단하였다. 다만, 보다 의미 있는 결과 도출을 위해서는 대기질 측정소에서의 기상 데이터 확인이 필요할 것으로 판단된다. 대기환경 데이터는 NO2, SO2, CO, PM10, PM2.5를, 기상 데이터는 기온, 풍속, 강수량, 현지기압, 해면기압, 습도, 증기압을 수집하여 머신러닝에 적용하였다. 대기환경 데이터가 1시간 간격으로 제공되어, 기상 데이터 역시 1시간 간격의 데이터를 이용하였다.
2.2. 데이터 전처리
수집한 데이터셋은 6년간의 총 52,583개이며, 일부 데이터셋은 항목별로 전체 데이터셋의 0.01%에서 9.10% 수준의 결측값이 존재하였다(강수량의 경우, 결측된 데이터는 비가 오지 않는 것으로 고려하여 0으로 대체하였으며, 결측값에서 제외하였음). 결측값은 최소 1시간에서 최대 5개월 동안 측정되지 않았다. 선행 연구에서는 linear interpolation, k-nearest neighbors 등의 방법[7,31,32]으로 결측값을 처리하였으나, 긴 기간 동안 결측값을 단순하게 예측하여 처리할 경우, 계절적/시간적인 오차가 발생할 수 있어 본 연구에서는 결측값이 포함된 기간에 대한 데이터를 모두 제거하였다. 결측값 처리 후 측정소 별로 A-1: 43,829개, A-2: 42,968개, A-3: 46,142개 데이터셋을 이용하였다.
대기환경 및 기상 데이터의 항목별 스케일의 차이가 있으며, 이러한 차이가 머신러닝 모델의 학습에 영향을 미칠 수 있기 때문에 정규화 과정이 필요하다. 수집된 데이터의 항목별로 스케일의 차이를 조정하기 위하여 모든 항목의 데이터에 대해 평균값이 0이며, 표준편차가 1이 되게 하는 정규화(Standardization)를 수행한 후 이를 모델 학습에 적용하였다[33,34].
머신러닝 모델의 학습 및 학습결과 평가를 위해 대상 데이터를 학습 데이터와 테스트 데이터로 분할하는 것이 필요하다. 총 6년간의 전체 데이터 중 5년간의 데이터(A-1: 36,451개, A-2: 35,675개, A-3: 38,916개 데이터셋, 2017년~2021년)를 학습 데이터로 지정하였고, 나머지 1년 간의 데이터를 테스트 데이터(A-1: 7,378개, A-2: 7,293개, A-3: 7,226개 데이터셋, 2022년)로 하였다. 또한, 다양한 조건의 데이터를 학습시켜 모델의 일반화 성능을 확인하기 위해 Fig. 3과 같이 시계열 교차 검증(Time Series Cross Validation)을 사용하였다(K = 6). 이는 데이터셋을 시기별로 K개로 구분하고, 구분된 데이터셋을 다시 학습 데이터(과거 데이터)와 검증 데이터(미래 데이터)로 구분하여 (K-1)번 반복 학습하는 것을 의미한다. 반복 학습이 수행된 모델의 성능 평가는 각 학습에 대한 성능 평가 지표의 평균값을 이용하였다[35-38].
2.3. 모델 적용 및 모델의 예측 성능 평가
세먼지 농도를 예측하기 위하여 기존의 머신러닝을 활용한 미세먼지 예측 연구를 포함하는 환경공학 분야의 머신러닝 연구에서 자주 사용되는 5개의 머신러닝 모델을 적용하였다[22,28,30,32,39,40]. 비교적 간단한 알고리즘을 갖고 있는 머신러닝 모델인 MLR, DTR과 최근 자주 사용되는 트리 기반의 앙상블 모델인 RF, XGB, LGB을 본 연구에서 사용하였다. MLR 모델은 독립 변수의 영향력을 쉽게 이해할 수 있어 해석이 용이하나 선형 관계를 가정하므로 비선형 패턴을 모델링하기에 어렵다[41]. DTR 모델은 비선형 관계를 잘 포착하며 직관적이고 시각적으로 이해하기 쉽지만, 과적합에 취약하며 데이터에 민감하여 작은 변화에도 크게 영향을 받는다[42]. RF 모델은 과적합에 강하며, 노이즈에 강하고 안정적인 예측 성능을 보이지만 연산 자원과 시간이 많이 필요하며, 많은 트리 생성을 통해 예측하기 때문에 해석이 어렵다[43]. XGB 모델은 과적합 방지 및 결측값이 존재하는 경우에도 학습이 가능하나, 비교적 복잡한 구조의 모델로 튜닝이 필요하며 시간이 많이 필요하다[44]. LGB 모델은 연산 자원과 시간이 비교적 적게 필요하나, 해당 모델도 튜닝이 필요하며, 과적합될 가능성이 있다[45]. 결과적으로 아직까지 다양한 분야에 범용적으로 사용할 수 있는 머신러닝 모델이 제시되지 않고 있으며, 기존 연구에서는 다양한 머신러닝 모델을 복수로 선정·적용하여 그 결과를 비교하고, 적용 사례에 적합한 모델을 보고하고 있다. 본 연구에서도 기존의 이러한 연구 동향을 고려하여 5개의 머신러닝을 선정하여 적용하고 그 결과를 비교 분석하였다.
적용 모델은 scikit-learn (ver. 1.4.1, MLR, DTR, RF 포함), XGBoost(ver. 2.0.3, XGB 포함), LightGBM(ver. 4.3.0, LGB 포함) 라이브러리를 이용하였다. 또한, 머신러닝 모델의 제어 프로그램 작성을 위해 Python(ver. 3.12.3)을 사용하였다.
머신러닝에 의해 예측된 미세먼지 농도와 실제 미세먼지 농도의 비교를 통해 학습된 머신러닝의 성능 평가를 수행하였는데, 이를 위해 Eq. 1 ~ 3에 나타낸 바와 같이 관련 연구에서 많이 사용되고 있는 RMSE, MAE, R2의 세 가지 성능 평가 지표를 활용하였다[19,25,29]. 각 성능 평가 지표에서 yi는 실제값,
3. 결과 및 고찰
3.1. 수집된 데이터 통계 분석
2017년부터 2022년까지 6년 동안 수집한 대기환경(SO2, CO, NO2, PM10, PM2.5) 및 기상 데이터(기온, 풍속, 강수량, 현지기압, 해면기압, 습도, 증기압)에 대한 기본 통계 분석을 수행하였고, 이를 Table 1과 Table 2에 각각 나타내었다. 대상 지역의 기상 데이터는 여름철에 기온, 강수량 등이 증가하고, 현지기압 등이 감소하며 겨울철에는 반대 현상이 일어나는 등의 전형적인 한국 기상 데이터 양상을 나타내었다. Fig. 1S에 나타낸 바와 같이, 대기환경 데이터의 경우에도 전반적으로 각 항목별 시기별 변화가 나타났다. SO2, CO, NO2의 경우 겨울철인 11월부터 2월까지 평균 농도가 증가하였으며, O3는 1부터 6월까지 농도가 증가하고 7월부터 12월까지 감소하였다. PM10은 7월부터 10월까지 농도가 상대적으로 낮게 확인되고 나머지 기간에는 유사한 수준이었다. PM2.5 역시 7월부터 10월기간 동안 상대적으로 낮은 농도가 확인되었으나, 11월부터 3월까지의 기간에 4월부터 6월까지의 기간보다 높은 수준을 나타내었다. 이는 겨울철에는 화석 연료 사용의 증가로 NO2, SO2, CO, PM10, PM2.5의 농도가 증가하며, 봄철에는 중국에서 이동하는 미세먼지로 인해 농도가 증가하게 된다. 또한, 여름철의 잦은 강수로 인하여 PM10, PM2.5의 농도가 감소하게 된다[49]. 결과적으로 해당지역의 대기환경 항목들은 우리나라의 전형적인 계절적 특성이 뚜렷하게 나타났으며, 대상 기간동안 지속적으로 감소하는 경향을 나타내었다.
공업지역(A-1), 주거지역(A-2), 상업지역(A-3)으로 구분한 데이터 측정소 별로 살펴보면, 대부분의 항목에서 큰 차이는 확인되지 않았다. 그러나 NO2의 경우 A-1에서, PM10의 경우 A-3에서 각각 다른 측정소보다 상대적으로 낮은 수준을 나타나는 등 각 지역 특성에 따른 유의미한 차이를 논의하기 어려울 것으로 판단하였다. 이는 각 지역의 측정소가 각 지역을 대표하는 지점에 설치되지 않은 부분이 크게 작용하였을 것으로 고려된다.
각 항목별 각각의 대기환경 데이터에 대한 환경기준 만족 수준을 살펴보면, SO2, CO, NO2의 경우 환경기준을 초과한 사례가 한 건도 확인되지 않았으며, O3의 경우 세 개 측정소에서 각각 114~158회의 초과 사례가 확인되었는데, 이는 각 측정소 전체 측정 횟수 대비 0.26%~0.37% 수준이었다. PM10 및 PM2.5는 환경기준 초과 사례가 봄, 겨울철에 매우 높게 확인되었는데, 측정소별로 대기 환경 기준 초과 일수는 PM10의 경우 A-1: 61일, A-2: 39일, A-3: 64일, PM2.5의 경우 A-1: 265일, A-2: 230일, A-3: 222일이었다 (PM10: 24hr 평균 100 μg/m3 이하, PM2.5: 24hr 평균 35 μg/m3 이하). Fig. 4에 세 개 측정소에 대한 PM10 및 PM2.5의 시계열 농도 변화를 나타내었다(다른 대기환경 데이터 농도 변화 그래프는 생략하였음). 2020년 11월 14일에는 A-1 측정소가 위치한 지역에서 화재로 인하여 높은 PM10 및 PM2.5 농도가 관찰되었다. 2021년 3월 29일에 매우 높은 PM10 및 PM2.5 농도가 관찰되었는데, 이는 황사로 인한 것으로 확인되었다.
2020년 이후의 PM10, PM2.5의 연평균 농도가 기존 수치 대비 각각 10 μg/m3, 5 μg/m3 정도 감소한 경향을 보였으나[2,50], 여전히 대기환경 기준을 만족하지 못하는 사례는 확인되었다. 결과적으로 해당 지역은 PM2.5 및 PM10에 대한 모니터링 및 농도저감을 위한 관리가 지속적으로 필요할 것으로 판단되었다.
수집된 데이터를 대상으로 기상 및 대기환경 항목간 선형적 상관관계를 분석하기 위해 측정소별로 피어슨 상관 계수를 산정하여 비교분석을 수행하였다. 세 개 측정소 모두 전반적으로 항목간의 선형적 상관성이 높지는 않은 것으로 확인되었다. 기존 연구에서는 상관 계수가 0.3~0.4 이상인 경우 상관성이 보통 이상인 것으로 보고하였다[21,50] 일반적으로 기상 요인의 경우 풍속, 기압은 오염물질의 혼합에 영향을 주며, 강우는 습식 침착을 통해 미세먼지의 농도를 감소시킬 수 있는 것으로 알려져 있다[49]. 그러나 본 연구에서는 이러한 내용이 뚜렷하게 확인되지 않았는데, 이는 기상데이터 측정 장소와 대기질 데이터 측정장소의 위치가 동일하지 않았기 때문일 수 있으며, 추가적인 연구가 필요할 것으로 판단되었다. 대기환경 항목간 가장 높은 피어슨 상관 계수는 서로 간의 선형적 상관성이 높을 수밖에 없는 PM2.5와 PM10 사이의 상관 계수였으며, 0.68~0.76 수준을 나타내었다. PM2.5와 PM10 사이 이외에 PM2.5 혹은 PM10와의 상관 계수가 높은 대기 환경 항목은 Fig. 5에 나타낸 바와 같이 CO와 NO2 항목이었으며, PM2.5가 좀 더 높은 상관성을 보였다(세 개 측정소에서 PM2.5와 CO 및 NO2에 대한 0.46~0.61의 상관 계수 확인). A-3 측정소에서는 PM2.5와 SO2와의 상관 계수가 0.43으로 상대적으로 높은 수준이 확인되기도 하였다. 미세먼지는 CO, NO2, SO2와 같은 연소 부산물에 의해 생성되며, NO2, SO2는 미세먼지의 주요 전구 물질이고, CO는 2차 에어로졸을 형성하는데 기여한다고 보고되고 있다[49]. 본 연구에서 수집된 데이터 간의 선형적 상관성이 높지 않으나, 머신러닝 기법은 비선형 관계를 가진 데이터를 처리하고 정규분포를 따르지 않는 데이터의 분석이 가능하기 때문에[52] 수집된 데이터를 통해 미세먼지 농도를 예측할 수 있음을 기대할 수 있다.
3.2. 머신러닝 학습 및 예측
기존 머신러닝에 의한 미세먼지 예측 연구에서 입력 변수에 미세먼지 항목 자체를 포함시켜 학습하는 경우[19,21,23,25,27]와 미세먼지 항목을 뺀 나머지 항목들로 학습하는 경우[20,22, 28,29]로 구분되었다. 본 연구에서는 두 가지 방법을 적용하여 머신러닝 모델의 예측 성능을 비교 분석하였다. 기상 데이터 및 예측하고자 하는 미세먼지(PM10 또는 PM2.5)를 제외한 대기환경 데이터를 입력 변수로 이용하는 방법과 해당 미세먼지 농도를 입력 변수에 포함하는 방법으로 나누어 데이터셋을 구축하였다. 각 데이터셋을 5개의 머신러닝 모델(MLR, DTR, RF, XGB, LGB)을 통해 1시간 후의 PM10 및 PM2.5 농도 예측에 대한 학습(Train), 검증(Validation), 테스트(Test)를 순차적으로 수행하였으며, 각 모델의 성능 평가 지표(RMSE, R2)를 미세먼지 항목 포함 여부에 따라 Fig. 6과 7에 각각 나타내었다 (검증 데이터에 대한 성능 평가 지표 및 학습/테스트 데이터에 대한 MAE는 부록 Fig. 2S~4S에 수록됨).
입력 변수에 예측하고자 하는 미세먼지 정보가 포함된 데이터셋을 학습한 모델이 그렇지 않은 모델보다 PM10과 PM2.5 모두에 대해 더 높은 예측 성능을 보였으며, 5개 적용 모델 중 RF, XGB, LGB 모델의 성능이 비교적 우수한 것으로 확인되었다. XGB 모델이 전반적으로 가장 우수한 모델로 선정되었다(A-1: R2=0.895(PM10), R2=0.908(PM2.5)/A-2: R2=0.905 (PM10), R2=0.891(PM2.5)/A-3: R2=0.877(PM10), R2=0.819 (PM2.5)). 본 연구에서 사용한 5가지 모델은 회귀 모델(MLR), 분류기반 모델(DTR), DTR 기반 앙상블 모델(RF, XGB, LGB)로 구분할 수 있다. 선형 회귀 모델인 MLR은 수집된 데이터 간의 선형적 상관관계가 낮기 때문에 예측 정확도가 분류 모델에 비해 낮았으며, DTR은 학습 데이터에 대한 과적합이 나타나 예측 성능이 낮게 나타났다[53]. 결과적으로 3개의 앙상블 모델의 예측 성능이 MLR 및 DTR 모델보다 전반적으로 높게 나타났는데, 선행 연구에서도 RF, LGB 등의 앙상블 모델이 대부분 높은 예측 성능을 보였다. 모델에서 도출된 결과의 해석은 변수 중요도[17,26,28,39], SHAP(Shapley Additive Explanation) method[54] 등을 이용하여 변수들이 모델의 출력에 어떠한 영향을 미치는지를 통해 이루어질 수 있는데, 본 연구에서는 PM10 및 PM2.5가 1시간 후 PM10 및 PM2.5 농도를 예측하는데 90% 이상의 중요도를 나타내었다. 머신러닝의 예측 성능 중 R2 값이 음수가 나오는 경우가 일부 케이스에서 확인되었는데, 이는 머신러닝 학습이 제대로 되지 않았음을 의미한다[46].
기존 연구에서 딥러닝 및 머신러닝을 이용하여 예측하고자 하는 미세먼지 데이터를 입력 변수에 포함하거나 포함하지 않은 연구 결과를 비교분석 하였다. 우선, 미세먼지 데이터를 입력 변수에 포함한 경우를 살펴보면, Wei 등[20]은 대만의 2개 지역(지룽시 및 시즈구)를 대상으로 해당 지역과 주변 지역의 PM10, PM2.5, O3, SO2, CO, NOx, NO, NO2, THC, 기온, 풍속, 시간당 풍속, 풍향, 시간당 풍향, 강수량, 상대습도의 총 16개의 대기환경 및 기상 데이터를 입력 변수로 하여 1, 3, 6, 12시간 후의 PM2.5 농도를 예측하였다. 사용된 모델은 DNN의 딥러닝 모델과 M5P, M5Rules, AMT(Alternating model trees), MLR의 머신러닝 모델이며, 가장 높은 성능을 나타낸 모델은 머신러닝 모델인 M5P(R2=0.97, 시즈구)이며, 1시간 후 예측 결과였다. Zhao 등[29]은 중국 4개 도시(베이징, 광저우, 시안, 선양)를 대상으로 PM2.5, PM10, SO2, NO2, O3, CO2, 기온, 이슬점 온도, 풍향, 풍속의 총 10개의 대기환경 데이터와 기상 데이터를 입력 변수로 하여 1, 2, 3 시간 후 PM2.5 농도를 예측하기 위하여 LSTM, RF-BiLSTM(RF-bidirectional LSTM)의 딥러닝 모델과 SVR, RF, DTR의 머신러닝 모델을 적용하였다. RF-BiLSTM 모델을 이용한 경우가 가장 높은 예측 성능을 얻을 수 있었으며(1시간 후 베이징 PM2.5 농도 예측 성능은 R2=1.0), 머신러닝 모델 중에는 RF 모델이 가장 높은 성능을 나타내었다(1시간 후 베이징 PM2.5 농도 예측 성능은 R2=0.94). Wood [30]는 PM2.5의 값을 활용하여 생성한 변수들과 계절 성분의 13개 데이터를 입력 변수로 사용하여 딥러닝 모델인 LSTM, BiLSTM, MLP(Multi-layer perceptron), CNN, EncDecCNN-LSTM(Encoder-Decoder-CNN-LSTM), EncDecLSTM-LSTM, GRU(Gated recurrent unit) 및 머신러닝 모델인 DT(Decision tree), AdaBoost, KNN(K-nearest neighbor), ELM(Extreme learning machine), MLR, RF, SVR, XGB 등의 15가지 모델을 이용하여 현재 PM2.5 농도 예측 성능을 비교하였는데, 머신 러닝 모델인 MLR과 SVR 모델이 가장 높은 성능을 나타내었다. 해당 모델을 이용하여 다시 1, 3, 6, 12시간 후의 PM2.5 농도를 예측하였으며, 1시간 후 PM2.5 농도 예측 성능은 SVR 모델이 R2=0.83으로 가장 높았다.
다음으로 미세먼지 데이터를 입력 변수에 포함하지 않는 경우를 살펴보면, Kim 등[39]은 기온, 이슬점 온도, 습수, 대기압, 상대습도, 풍향, 풍속, 가시거리, 운량, 행성경계층 높이, 강수량, 일 수, 요일, 미세먼지 관측소 위치의 기상, 날짜, 위치 데이터를 입력 변수로 하여 서울의 PM10과 PM2.5 농도를 예측하였다. 본 연구와 동일하게 RF, XGB, LGB의 머신러닝 모델에 적용되었으며, 가장 높은 성능을 보인 것은 LGB 모델이었다(R2 = 0.86). 이 연구는 1시간 간격의 데이터를 이용한 다른 연구들과는 다르게 1일 간격의 데이터를 이용하였다. Panneerselvam 등[40]은 LR(Linear regression), stepwise LR, Ridge, DTR, RF, SVR, GPR(Gaussian process regression)의 머신러닝 모델과 NN(Neural network)의 딥러닝 모델을 사용하여 기온, 기압, 풍속, 비습, 강수량의 5가지 기상 데이터를 입력 변수로 하여 태국 방콕의 PM10과 PM2.5 농도를 예측하였다. 가장 높은 성능을 보인 것은 GPR 모델로 R2 0.787의 성능을 보였다. Ren 등[19]은 딥러닝 모델인 TCN-LSTM (Temporal Convolutional network-LSTM)을 주요 모델로 적용하여 SO2, NO2, O3, CO, 풍속, 풍향, 상대습도, 강수량, 기압, 기온의 대기환경 및 기상 데이터를 입력 변수로 하여 중국 시안의 PM10 및 PM2.5 농도를 예측하였으며, 해당 모델과 비교하기 위하여 딥러닝 모델인 CNN-LSTM, TCN, LSTM과 머신러닝 모델인 SVR, RF에도 동일하게 적용하여 예측을 수행하였다. TCN-LSTM 모델이 R2=0.88(PM2.5), R2=0.87 (PM10)로 가장 높은 예측 성능을 보였으며, 머신러닝 모델인 RF는 R2=0.79(PM2.5), R2=0.75(PM10)의 예측 성능을 보였다. 이상의 입력 변수에 예측하고자 하는 미세먼지 농도가 없는 방법을 선택한 선행 연구의 예측 성능은 R2가 0.7 이상으로 미세먼지 농도를 제외하고 수행한 본 연구의 결과보다 비교적 높은 예측 성능을 보였다. 이는 미세먼지 예측 성능의 최적 조건이 지역, 연도, 계절, 위치, 농도 등 기상 및 대기환경 데이터의 특성에 따라 크게 달라질 수 있음을 의미한다[55]. 또한, 미세먼지 농도가 다른 입력 변수와의 상관성이 높았을 수 있기 때문인데, 예를 들어 위의 Ren 등의 연구에서 PM10과 PM2.5에 대한 CO, NO2, SO2의 상관계수가 0.60 이상의 비교적 높은 수준을 나타내었다[19].
3.3. 1시간 이상의 미래 예측
1시간 이상 미래의 미세먼지 농도를 예측하였을 때의 성능 변화를 확인하기 위하여 모든 측정소에서 공통으로 성능이 가장 높은 RF, XGB, LGB 모델을 적용하여 6시간, 12시간, 24시간, 72시간 후의 미세먼지 농도 예측을 수행한 후 테스트에 대한 각 성능 평가 지표를 Table 3에 나타내었다. 모델 적용 결과, 모든 측정소에서 미세먼지 농도를 예측하는 시간이 길어질수록 머신러닝의 예측 정확도가 크게 감소하는 것으로 확인되었다. 6시간 후의 예측 정확도는 1시간 후의 예측 성능의 2배 이상 차이로 감소하였다. 또한 72시간 후 예측 결과의 대부분은 R2가 음수 값이 나타났으며, 특히 측정소 A-2의 RF 모델의 경우 12시간 후 PM10 농도 예측부터 R2가 음수로 나타난다. 이는 앞서 설명한 바와 같이 학습이 제대로 이루어지지 않은 것을 의미한다[46].
예측 시간이 길어질수록 미세먼지 농도 예측 성능이 낮아지는 것은 선행 연구에서도 유사하게 나타났다. 앞서 언급한 선행 연구 중, Wei 등[20]의 연구에서 1시간 후 예측 시 가장 높은 성능을 나타낸 DNN 모델에서 예측하는 시간이 길어짐에 따라 모델의 예측 성능이 크게 낮아진 것을 확인하였다 (1시간 후 PM2.5: R2=0.91, 12시간 후 PM2.5: R2=0.54). 또한, Zhao 등[29]의 연구에서 가장 높은 성능의 딥러닝 모델인 RF-BiLSTM의 1시간 후 예측 성능은 R2=1.00이며, 12시간 후 예측 성능은 R2=0.95으로 큰 성능의 차이가 없었으나, 머신러닝 모델인 SVM의 경우 1시간 후 예측 성능은 R2=0.97, 3시간 후 예측 성능은 R2=0.84로 성능이 감소하는 것을 확인하였다(RF-BiLSTM 모델을 제외한 나머지 모델들은 3시간 이후의 학습을 진행하지 않음). MLR과 SVR 모델을 적용하여 1, 3, 6, 12시간 후의 PM2.5 농도를 예측한 Wood [30]의 연구에서도 두 개의 모델 모두 예측 시간이 길어질수록 예측 성능이 감소하는 것을 확인하였다(SVR 모델, 1시간 후: R2=0.827, 12시간 후: R2=0.396).
본 연구 결과와 선행 연구들을 통하여 미래의 미세먼지 농도를 예측하였을 때, 현재 수준의 머신러닝 기술로 학습된 데이터의 시간 간격보다 더 큰 간격으로 예측을 수행할 경우, 그 성능은 크게 감소하여 예측 결과를 이용하기 어려운 것으로 판단되었다[56] (본 연구 및 대부분의 연구에서 이용 데이터는 1시간 간격 데이터를 이용함). 머신러닝 모델은 모델이 학습한 범위 내에서 값을 예측하기 때문에 미세먼지 농도가 매우 높거나 낮은 경우 해당 이벤트에 대한 데이터가 부족하여 이에 대해 모델이 잘 학습하지 못할 수 있다고 보고되었다[57]. 머신러닝 모델은 입력되는 데이터셋을 개별적으로 활용하기 때문에 스스로 데이터셋 간의 관계를 판단하지 못하나, 딥러닝 모델은 학습한 데이터셋 정보를 이후 학습에 사용하여 순차적 관계를 함께 학습할 수 있어 시계열 데이터의 패턴을 잘 파악할 수 있다[58]. 대부분의 연구에서는 머신러닝 모델보다 딥러닝 모델의 먼 미래 예측 성능이 보다 우수한 것으로 확인되는 사례가 있어[30], 더 먼 미래의 예측을 위해서는 딥러닝 모델을 활용하는 연구가 필요할 것이며, 미세먼지 농도에 영향을 미치는 추가적인 영향 인자 데이터를 확보하는 것 역시 필요하다.
4. 결론
본 연구에서는 MLR, DTR, RF, XGB, LGB의 5가지 머신러닝 모델을 활용하여 5개의 대기환경 데이터(NO2, SO2, CO, PM10, PM2.5)와 7개의 기상 데이터(기온, 습도, 증기압, 풍속, 강수량, 현지기압, 해면기압)를 통해 경상북도 1개 도시의 PM10 및 PM2.5 농도를 예측하였다. 입력 변수에 예측하고자 하는 미세먼지 데이터를 포함하는 경우와 포함하지 않는 경우의 두가지 방법을 통하여 1시간 후의 PM10 및 PM2.5 농도를 예측하고 각 모델에 대한 성능 평가 지표(RMSE, MAE, R2)를 산정하였다. 입력 변수에 예측하고자 하는 미세먼지 데이터를 포함하는 방법의 성능이 그렇지 않은 방법보다 높은 정확도를 나타내었으며, 5개 적용 머신러닝 모델 중 XGB 모델이 가장 높은 성능을 보였다. 6시간 이후 예측부터 성능이 낮아지기 시작하여 그 이상의 미세먼지 농도 예측이 어려운 것을 확인하였다. 결과적으로 과거 6년 동안의 4만여개의 데이터셋을 이용하였으나 수시간 이상의 미래 미세먼지 농도 예측을 하기에는 현재 수준의 머신러닝 기법과 본 연구에서 활용한 입력 데이터 만으로는 한계가 있을 것으로 판단되었다. 보다 먼 미래의 미세먼지 농도 예측을 위해서는 다양한 딥러닝 기법의 적용 및 미세먼지와 관련된 영향 인자 데이터를 보다 많이 수집/학습하는 등의 연구가 필요할 것이다.
Supplementary Materials
Acknowledgements
이 연구는 국립금오공과대학교 학술연구비로 지원되었음(2022~2024).
Notes
Declaration of Competing Interest
The authors declare that they have no known competing interests or personal relationships that could have appeared to influence the work reported in this paper.