## 2 Materials and Methods
### Experimental Phase  
The air pollution forecasting models were built using one air quality variable (e.g., PM\({}_{10}\)) and all meteorological variables and other variables for each type of pollutant. This process was repeated for PM\({}_{2.5}\), NO\({}_{2}\), and CO. The entire dataset was first split into the training set and testing set in a ratio of 7:2. The training set contains data from 2013 to 2019, while the testing set contains data from 2020 to 2021. In the training set, the data for the year 2019 were allocated as the validation set to optimize the hyperparameters of models. After the determination of hyperparameters, the models were trained on the entire training dataset from 2013 to 2019, and the evaluation of model performance on the testing dataset from 2020 to 2021 was performed. Each of the six models (ANN, GRU, LSTM, RF, RNN, and SVR) was run five times in Python using TensorFlow 2.6.2, and the result shown is the average of the five model runs. The parameters used to evaluate the models are known as the model performance indicators, which include root mean square error (RMSE), mean absolute error (MAE), Pearson's correlation coefficient (PCC), and Kendall's tau coefficient \begin{table}
\begin{tabular}{c c c} \hline \hline
**Types of Data** & **Variables** & **Description of Variables** \\ \hline \multirow{7}{*}{Air Quality} & PM\({}_{10}\), PM\({}_{2.5}\), NO\({}_{2}\), CO & Mean hourly concentration values (micrograms per cubic meter) \\ \cline{2-3}  & & 16D1: 24 h concentration averaging period between 16:00 of D1 and 15:00 of D0 \\  & 16D1, 23D0, 23D1, & 23D0: 24 h concentration averaging period between 0:00 and 23:59 of D0 \\  & 23D2, 23D3 & 23D1: 24 h concentration averaging period between 0:00 and 23:59 of D1 \\  & 23D2: 24 h concentration averaging period between 0:00 and 23:59 of D2 \\ \cline{2-3}  & D0, D1, D2, D3 & D0: Prediction Day; D1: Prediction Day Minus One; D2: Prediction Day Minus Two; D3: Prediction Day Minus Three \\ \hline \multirow{7}{*}{Air Quality} & H1000, H850, H700, H500 & Geopotential height of one thousand hetopascal, eight hundred and fifty \\  & H500 & hetopascal, seven hundred hetopascal, and five hundred hetopascal (meters) \\ \cline{2-3}  & TAR925, TAR850, & Air temperature of nine hundred and twenty-five hetopascal, eight hundred and fifty hetopascal, seven hundred hetopascal (hedgeree Celsius) \\ \cline{2-3}  & HR925, HR850, HR700 & Relative humidity of nine hundred and twenty-five hetopascal, eight hundred \\  & and fifty hetopascal, seven hundred hetopascal (percentage) \\ \cline{2-3}  & TD925, TD850, TD700 & Dew point temperature of nine hundred and twenty-five hetopascal, eight \\  & hundred and fifty hetopascal, seven hundred hetopascal (degree Celsius) \\ \cline{2-3}  & TH1850, THI700, & Thickness of eight hundred and fifty hetopascal, seven hundred hetopascal, and five hundred hetopascal (meters) \\ \cline{2-3}  & STB925, STB850, & Stability of nine hundred and twenty-five hetopascal, eight hundred and fifty \\  & STB700 & hetopascal, seven hundred hetopascal (degree Celsius) \\ \cline{2-3}  & T\_AIR\_MX, & \\  & T\_AIR\_MD, & Highest, mean, and lowest air temperature (degree Celsius) \\  & T\_AIR\_MN & \\ \cline{2-3}  & HRMX, HRMD, & Highest, mean, and lowest relative humidity (percentage) \\ \cline{2-3}  & HRMN & \\ \cline{2-3}  & TD\_MD & Mean dew point temperature (degree Celsius) \\ \cline{2-3}  & RRTT & Rainfall (millimeters) \\ \cline{2-3}  & VMED & Mean wind speed (meters per second) \\ \cline{2-3}  & PREV\_WDIR & Predominant wind direction (degree) \\ \hline \multirow{2}{*}{Other Variables} & DD & Number of sunshine hours per day (hour) \\ \cline{2-3}  & FF & Weekday indicator: non-weekend = 0 and weekend = 1 \\ \hline \hline \end{tabular}
\end{table} 
Table 1: Different variables applied in the air pollution prediction models. (KTC). Figure 2 shows the workflow for the air pollution prediction in this study.