This research demonstrates groundwater level variability in Sylhet using ARIMA, random forest, and LSTM-RNN, suggesting effective management strategies in data-scarce regions.
Groundwater resources in northeastern Bangladesh, particularly in Sylhet, face growing pressure from land use changes, population growth, and limited hydroclimatic data. This study investigates groundwater level (GWL) variability and develops a forecasting framework suitable for data-scarce environments. Monthly GWL data (1990–2024) from 27 observation wells were analyzed using the Mann–Kendall test and the Sen's slope estimator to detect long-term trends. Land use and land cover (LULC) changes were assessed using the normalized difference vegetation index derived from Landsat imagery, revealing that vegetation loss and urban expansion contribute to groundwater depletion. Three forecasting models, such as autoregressive integrated moving average (ARIMA), random forest (RF), and long short-term memory recurrent neural network (LSTM-RNN), were developed using historical GWL data only. ARIMA applied Box–Jenkins methods, RF used lagged inputs with tuned hyperparameters, and LSTM-RNN employed deep learning with five hidden layers and the Adam optimizer. Model performance was evaluated using mean absolute error, mean squared error, root mean square error, coefficient of determination, Nash–Sutcliffe efficiency, relative standard error, volume error, and correlation coefficient for calibration (1990–2013) and validation (2014–2024) phases. Results indicate that while all models performed well, LSTM-RNN achieved the highest accuracy, particularly under non-linear conditions. The separation of LULC analysis from modeling ensures robustness in forecasting, offering valuable insights for groundwater management in Sylhet and other data-limited regions.
No takes yet. Share an insight, caveat, or question.
Nury et al. (2025) studied this question.
Synapse has enriched 5 closely related papers on similar clinical questions. Consider them for comparative context: