{ "model_type": "TCN", "architecture": "TCN(nb_filters=32, kernel_size=3, dilations=[1, 2, 4, 8]) \u2192 Dense(1)", "framework": "TensorFlow/Keras (keras-tcn)", "task": "Single-step monthly groundwater level forecasting", "features": [ "water_level", "temperature", "precipitation", "wind_speed" ], "target": "water_level", "lookback_months": 24, "horizon_months": 1, "tuning": { "method": "Bayesian Optimisation (Keras Tuner)", "n_trials": 20, "best_config": { "nb_filters": 32, "kernel_size": 3, "dilations": [ 1, 2, 4, 8 ], "dropout_rate": 0.1, "learning_rate": 0.001, "receptive_field": 61 } }, "data_splits": { "train": { "start": "1944-01-01", "end": "2007-10-01", "n_months": 766 }, "validation": { "start": "2007-11-01", "end": "2015-10-01", "n_months": 96 }, "test": { "start": "2015-11-01", "end": "2023-10-01", "n_months": 96 } }, "test_metrics": { "RMSE": 3.5771, "MAE": 2.8901, "MAPE_pct": 4.3138, "R2": 0.334, "NSE": 0.334 }, "notes": "Scaler fitted on train only. Oracle exog assumption \u2014 contemporaneous met vars used at forecast time." }