Spaces:
Sleeping
Sleeping
| """ | |
| Central config β paths, constants, feature definitions. | |
| """ | |
| from pathlib import Path | |
| # ββ Paths ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ | |
| ROOT = Path(__file__).resolve().parents[1] | |
| DATA_RAW = ROOT / "data" / "raw" | |
| DATA_PROC = ROOT / "data" / "processed" | |
| MODELS_DIR = ROOT / "models" | |
| REPORTS_DIR = ROOT / "reports" | |
| FIGURES_DIR = REPORTS_DIR / "figures" | |
| TRAIN_PARQUET = DATA_PROC / "train.parquet" | |
| TEST_PARQUET = DATA_PROC / "test.parquet" | |
| # ββ Dataset ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ | |
| # M5 competition (Walmart sales) loaded via datasetsforecast | |
| # 42,840 series Γ 1941 daily obs. We use a representative subset. | |
| DATASET_NAME = "m5" | |
| # We cap the portfolio subset at N_SERIES series (100 per store Γ 3 stores). | |
| # Full M5 has 30,490 series β too large for a portfolio demo. | |
| N_SERIES = 300 # total series cap (evenly distributed across stores) | |
| TARGET_COL = "y" | |
| DATE_COL = "ds" | |
| ID_COL = "unique_id" | |
| # ββ Forecast horizon βββββββββββββββββββββββββββββββββββββββββββββββββββββββ | |
| HORIZON = 28 # 28-day ahead forecast (same as M5 competition) | |
| FREQ = "D" # Daily | |
| # ββ Train / validation split βββββββββββββββββββββββββββββββββββββββββββββββ | |
| # Keep last HORIZON days as validation set (walk-forward style) | |
| VAL_SIZE = HORIZON | |
| # ββ MLflow βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ | |
| MLFLOW_EXPERIMENT = "demand-forecasting" | |
| # ββ Random seed ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ | |
| RANDOM_SEED = 42 | |
| # ββ Model save paths βββββββββββββββββββββββββββββββββββββββββββββββββββββββ | |
| LGBM_MODEL_PATH = MODELS_DIR / "lgbm_model.pkl" | |
| CHRONOS_MODEL_NAME = "amazon/chronos-t5-small" # ~250MB, good balance speed/accuracy | |
| FORECAST_CACHE = MODELS_DIR / "forecast_cache.parquet" | |
| MODEL_META_PATH = MODELS_DIR / "model_meta.json" | |