{ "cells": [ { "cell_type": "markdown", "id": "afa53af3", "metadata": {}, "source": [ "# 06 — Dynamic-Graph iTransformer (v3)\n", "\n", "## v3 Improvements\n", "- **Cross-battery split** (no data leakage)\n", "- **18 features** per timestep (6 new physics-informed features)\n", "\n", "## Architecture\n", "- **iTransformer backbone** with inverted (feature-wise) attention\n", "- **Dynamic Graph Convolution** layer that learns inter-feature adjacency dynamically\n", "- Fuses local (graph) + global (attention) representations\n", "- Built with TensorFlow/Keras" ] }, { "cell_type": "code", "execution_count": 1, "id": "20d26377", "metadata": { "execution": { "iopub.execute_input": "2026-02-24T18:15:16.341799Z", "iopub.status.busy": "2026-02-24T18:15:16.341799Z", "iopub.status.idle": "2026-02-24T18:15:18.735982Z", "shell.execute_reply": "2026-02-24T18:15:18.735982Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "TensorFlow: 2.20.0\n", "GPUs: []\n" ] }, { "data": { "text/plain": [ "{'root': WindowsPath('E:/VIT/aiBatteryLifecycle/artifacts/v3'),\n", " 'models_classical': WindowsPath('E:/VIT/aiBatteryLifecycle/artifacts/v3/models/classical'),\n", " 'models_deep': WindowsPath('E:/VIT/aiBatteryLifecycle/artifacts/v3/models/deep'),\n", " 'models_ensemble': WindowsPath('E:/VIT/aiBatteryLifecycle/artifacts/v3/models/ensemble'),\n", " 'scalers': WindowsPath('E:/VIT/aiBatteryLifecycle/artifacts/v3/scalers'),\n", " 'figures': WindowsPath('E:/VIT/aiBatteryLifecycle/artifacts/v3/figures'),\n", " 'results': WindowsPath('E:/VIT/aiBatteryLifecycle/artifacts/v3/results'),\n", " 'logs': WindowsPath('E:/VIT/aiBatteryLifecycle/artifacts/v3/logs')}" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import sys, os\n", "sys.path.insert(0, os.path.abspath(\"..\"))\n", "\n", "import numpy as np\n", "import pandas as pd\n", "import matplotlib.pyplot as plt\n", "import seaborn as sns\n", "import warnings\n", "warnings.filterwarnings(\"ignore\")\n", "\n", "import tensorflow as tf\n", "from src.models.deep.itransformer import build_dynamic_graph_itransformer\n", "from src.evaluation.metrics import regression_metrics, tolerance_accuracy\n", "from src.utils.plotting import save_fig\n", "from src.utils.config import (\n", " ARTIFACTS_DIR, FIGURES_DIR, MODELS_DIR,\n", " get_version_paths, ensure_version_dirs,\n", " WINDOW_SIZE, BATCH_SIZE, MAX_EPOCHS, EARLY_STOP_PATIENCE,\n", " TRANSFORMER_D_MODEL, TRANSFORMER_NHEAD, TRANSFORMER_LAYERS, DROPOUT,\n", ")\n", "\n", "print(f\"TensorFlow: {tf.__version__}\")\n", "print(f\"GPUs: {tf.config.list_physical_devices('GPU')}\")\n", "plt.style.use(\"seaborn-v0_8-whitegrid\")\n", "\n", "# v3 paths\n", "v3 = get_version_paths('v3')\n", "ensure_version_dirs('v3')" ] }, { "cell_type": "markdown", "id": "2b806d3a", "metadata": {}, "source": [ "## 1. Load & Prepare Data" ] }, { "cell_type": "code", "execution_count": 2, "id": "bdd1403f", "metadata": { "execution": { "iopub.execute_input": "2026-02-24T18:15:18.738372Z", "iopub.status.busy": "2026-02-24T18:15:18.738372Z", "iopub.status.idle": "2026-02-24T18:15:18.758405Z", "shell.execute_reply": "2026-02-24T18:15:18.758405Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Train: (1444, 32, 18) | Test: (290, 32, 18)\n", "Overlap: NONE ✓\n" ] } ], "source": [ "V3_FEATURES = v3[\"root\"] / \"features\"\n", "data = np.load(str(V3_FEATURES / \"battery_sequences.npz\"), allow_pickle=True)\n", "X_multi = data[\"X_multi\"]\n", "y_multi = data[\"y_multi\"]\n", "bids = data[\"bids_multi\"]\n", "\n", "# ── v3 FIX: Cross-battery grouped split ──\n", "unique_bids = np.unique(bids)\n", "rng = np.random.RandomState(42)\n", "shuffled = unique_bids.copy()\n", "rng.shuffle(shuffled)\n", "n_train = max(1, int(len(shuffled) * 0.8))\n", "train_bats = set(shuffled[:n_train])\n", "test_bats = set(shuffled[n_train:])\n", "\n", "train_mask = np.isin(bids, list(train_bats))\n", "test_mask = np.isin(bids, list(test_bats))\n", "\n", "X_train, y_train = X_multi[train_mask], y_multi[train_mask]\n", "X_test, y_test = X_multi[test_mask], y_multi[test_mask]\n", "\n", "from sklearn.preprocessing import StandardScaler\n", "n_samples, seq_len, n_feat = X_train.shape\n", "scaler = StandardScaler().fit(X_train.reshape(-1, n_feat))\n", "X_train = scaler.transform(X_train.reshape(-1, n_feat)).reshape(n_samples, seq_len, n_feat)\n", "X_test = scaler.transform(X_test.reshape(-1, n_feat)).reshape(X_test.shape[0], seq_len, n_feat)\n", "\n", "print(f\"Train: {X_train.shape} | Test: {X_test.shape}\")\n", "print(f\"Overlap: {train_bats & test_bats if train_bats & test_bats else 'NONE ✓'}\")" ] }, { "cell_type": "markdown", "id": "71722721", "metadata": {}, "source": [ "## 2. Build Dynamic-Graph iTransformer" ] }, { "cell_type": "code", "execution_count": 3, "id": "06243bd4", "metadata": { "execution": { "iopub.execute_input": "2026-02-24T18:15:18.760606Z", "iopub.status.busy": "2026-02-24T18:15:18.759601Z", "iopub.status.idle": "2026-02-24T18:15:19.494309Z", "shell.execute_reply": "2026-02-24T18:15:19.494309Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "WARNING:tensorflow:From e:\\VIT\\aiBatteryLifecycle\\venv\\Lib\\site-packages\\keras\\src\\backend\\tensorflow\\core.py:232: The name tf.placeholder is deprecated. Please use tf.compat.v1.placeholder instead.\n", "\n" ] }, { "data": { "text/html": [ "
Model: \"DynamicGraph_iTransformer\"\n",
"\n"
],
"text/plain": [
"\u001b[1mModel: \"DynamicGraph_iTransformer\"\u001b[0m\n"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓\n",
"┃ Layer (type) ┃ Output Shape ┃ Param # ┃\n",
"┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩\n",
"│ input_layer (InputLayer) │ (None, 32, 18) │ 0 │\n",
"├─────────────────────────────────┼────────────────────────┼───────────────┤\n",
"│ dyn_graph (DynamicGraphConv) │ (None, 32, 18) │ 378 │\n",
"├─────────────────────────────────┼────────────────────────┼───────────────┤\n",
"│ proj (Dense) │ (None, 32, 64) │ 1,216 │\n",
"├─────────────────────────────────┼────────────────────────┼───────────────┤\n",
"│ dg_feat_0 (FeatureWiseMHA) │ (None, 32, 64) │ 8,480 │\n",
"├─────────────────────────────────┼────────────────────────┼───────────────┤\n",
"│ dg_token_0 (TokenWiseMHA) │ (None, 32, 64) │ 16,768 │\n",
"├─────────────────────────────────┼────────────────────────┼───────────────┤\n",
"│ dg_ff_0 (Conv1DFeedForward) │ (None, 32, 64) │ 33,216 │\n",
"├─────────────────────────────────┼────────────────────────┼───────────────┤\n",
"│ dg_feat_1 (FeatureWiseMHA) │ (None, 32, 64) │ 8,480 │\n",
"├─────────────────────────────────┼────────────────────────┼───────────────┤\n",
"│ dg_token_1 (TokenWiseMHA) │ (None, 32, 64) │ 16,768 │\n",
"├─────────────────────────────────┼────────────────────────┼───────────────┤\n",
"│ dg_ff_1 (Conv1DFeedForward) │ (None, 32, 64) │ 33,216 │\n",
"├─────────────────────────────────┼────────────────────────┼───────────────┤\n",
"│ global_average_pooling1d │ (None, 64) │ 0 │\n",
"│ (GlobalAveragePooling1D) │ │ │\n",
"├─────────────────────────────────┼────────────────────────┼───────────────┤\n",
"│ dense_1 (Dense) │ (None, 128) │ 8,320 │\n",
"├─────────────────────────────────┼────────────────────────┼───────────────┤\n",
"│ dropout_10 (Dropout) │ (None, 128) │ 0 │\n",
"├─────────────────────────────────┼────────────────────────┼───────────────┤\n",
"│ dense_2 (Dense) │ (None, 1) │ 129 │\n",
"└─────────────────────────────────┴────────────────────────┴───────────────┘\n",
"\n"
],
"text/plain": [
"┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓\n",
"┃\u001b[1m \u001b[0m\u001b[1mLayer (type) \u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1mOutput Shape \u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1m Param #\u001b[0m\u001b[1m \u001b[0m┃\n",
"┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩\n",
"│ input_layer (\u001b[38;5;33mInputLayer\u001b[0m) │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m32\u001b[0m, \u001b[38;5;34m18\u001b[0m) │ \u001b[38;5;34m0\u001b[0m │\n",
"├─────────────────────────────────┼────────────────────────┼───────────────┤\n",
"│ dyn_graph (\u001b[38;5;33mDynamicGraphConv\u001b[0m) │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m32\u001b[0m, \u001b[38;5;34m18\u001b[0m) │ \u001b[38;5;34m378\u001b[0m │\n",
"├─────────────────────────────────┼────────────────────────┼───────────────┤\n",
"│ proj (\u001b[38;5;33mDense\u001b[0m) │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m32\u001b[0m, \u001b[38;5;34m64\u001b[0m) │ \u001b[38;5;34m1,216\u001b[0m │\n",
"├─────────────────────────────────┼────────────────────────┼───────────────┤\n",
"│ dg_feat_0 (\u001b[38;5;33mFeatureWiseMHA\u001b[0m) │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m32\u001b[0m, \u001b[38;5;34m64\u001b[0m) │ \u001b[38;5;34m8,480\u001b[0m │\n",
"├─────────────────────────────────┼────────────────────────┼───────────────┤\n",
"│ dg_token_0 (\u001b[38;5;33mTokenWiseMHA\u001b[0m) │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m32\u001b[0m, \u001b[38;5;34m64\u001b[0m) │ \u001b[38;5;34m16,768\u001b[0m │\n",
"├─────────────────────────────────┼────────────────────────┼───────────────┤\n",
"│ dg_ff_0 (\u001b[38;5;33mConv1DFeedForward\u001b[0m) │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m32\u001b[0m, \u001b[38;5;34m64\u001b[0m) │ \u001b[38;5;34m33,216\u001b[0m │\n",
"├─────────────────────────────────┼────────────────────────┼───────────────┤\n",
"│ dg_feat_1 (\u001b[38;5;33mFeatureWiseMHA\u001b[0m) │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m32\u001b[0m, \u001b[38;5;34m64\u001b[0m) │ \u001b[38;5;34m8,480\u001b[0m │\n",
"├─────────────────────────────────┼────────────────────────┼───────────────┤\n",
"│ dg_token_1 (\u001b[38;5;33mTokenWiseMHA\u001b[0m) │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m32\u001b[0m, \u001b[38;5;34m64\u001b[0m) │ \u001b[38;5;34m16,768\u001b[0m │\n",
"├─────────────────────────────────┼────────────────────────┼───────────────┤\n",
"│ dg_ff_1 (\u001b[38;5;33mConv1DFeedForward\u001b[0m) │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m32\u001b[0m, \u001b[38;5;34m64\u001b[0m) │ \u001b[38;5;34m33,216\u001b[0m │\n",
"├─────────────────────────────────┼────────────────────────┼───────────────┤\n",
"│ global_average_pooling1d │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m64\u001b[0m) │ \u001b[38;5;34m0\u001b[0m │\n",
"│ (\u001b[38;5;33mGlobalAveragePooling1D\u001b[0m) │ │ │\n",
"├─────────────────────────────────┼────────────────────────┼───────────────┤\n",
"│ dense_1 (\u001b[38;5;33mDense\u001b[0m) │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m128\u001b[0m) │ \u001b[38;5;34m8,320\u001b[0m │\n",
"├─────────────────────────────────┼────────────────────────┼───────────────┤\n",
"│ dropout_10 (\u001b[38;5;33mDropout\u001b[0m) │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m128\u001b[0m) │ \u001b[38;5;34m0\u001b[0m │\n",
"├─────────────────────────────────┼────────────────────────┼───────────────┤\n",
"│ dense_2 (\u001b[38;5;33mDense\u001b[0m) │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m1\u001b[0m) │ \u001b[38;5;34m129\u001b[0m │\n",
"└─────────────────────────────────┴────────────────────────┴───────────────┘\n"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"Total params: 126,971 (495.98 KB)\n", "\n" ], "text/plain": [ "\u001b[1m Total params: \u001b[0m\u001b[38;5;34m126,971\u001b[0m (495.98 KB)\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
Trainable params: 126,971 (495.98 KB)\n", "\n" ], "text/plain": [ "\u001b[1m Trainable params: \u001b[0m\u001b[38;5;34m126,971\u001b[0m (495.98 KB)\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
Non-trainable params: 0 (0.00 B)\n", "\n" ], "text/plain": [ "\u001b[1m Non-trainable params: \u001b[0m\u001b[38;5;34m0\u001b[0m (0.00 B)\n" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "\n", "Total parameters: 126,971\n" ] } ], "source": [ "dg_model = build_dynamic_graph_itransformer(\n", " seq_len=seq_len, n_features=n_feat,\n", " d_model=TRANSFORMER_D_MODEL, n_heads=TRANSFORMER_NHEAD,\n", " n_blocks=TRANSFORMER_LAYERS, dropout=DROPOUT,\n", ")\n", "dg_model.compile(optimizer=tf.keras.optimizers.Adam(1e-3), loss=\"mse\", metrics=[\"mae\"])\n", "dg_model.summary()\n", "print(f\"\\nTotal parameters: {dg_model.count_params():,}\")" ] }, { "cell_type": "markdown", "id": "f6d25fe4", "metadata": {}, "source": [ "## 3. Train" ] }, { "cell_type": "code", "execution_count": 4, "id": "a5f69f03", "metadata": { "execution": { "iopub.execute_input": "2026-02-24T18:15:19.496320Z", "iopub.status.busy": "2026-02-24T18:15:19.495314Z", "iopub.status.idle": "2026-02-24T18:15:53.431445Z", "shell.execute_reply": "2026-02-24T18:15:53.431445Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Epoch 1/150\n", "\u001b[1m46/46\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m7s\u001b[0m 33ms/step - loss: 3107.6074 - mae: 51.8714 - val_loss: 1967.3826 - val_mae: 42.0192 - learning_rate: 0.0010\n", "Epoch 2/150\n", "\u001b[1m46/46\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 25ms/step - loss: 856.7082 - mae: 24.9853 - val_loss: 379.6254 - val_mae: 16.3422 - learning_rate: 0.0010\n", "Epoch 3/150\n", "\u001b[1m46/46\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 26ms/step - loss: 541.1316 - mae: 16.8246 - val_loss: 404.9633 - val_mae: 16.7222 - learning_rate: 0.0010\n", "Epoch 4/150\n", "\u001b[1m46/46\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 26ms/step - loss: 325.5964 - mae: 13.5706 - val_loss: 277.5700 - val_mae: 11.9630 - learning_rate: 0.0010\n", "Epoch 5/150\n", "\u001b[1m46/46\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 25ms/step - loss: 172.9639 - mae: 9.5096 - val_loss: 276.4447 - val_mae: 12.7127 - learning_rate: 0.0010\n", "Epoch 6/150\n", "\u001b[1m46/46\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 27ms/step - loss: 137.8238 - mae: 8.5541 - val_loss: 198.3174 - val_mae: 11.9075 - learning_rate: 0.0010\n", "Epoch 7/150\n", "\u001b[1m46/46\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 26ms/step - loss: 108.1718 - mae: 7.3416 - val_loss: 192.5336 - val_mae: 11.3964 - learning_rate: 0.0010\n", "Epoch 8/150\n", "\u001b[1m46/46\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 26ms/step - loss: 106.9558 - mae: 7.3110 - val_loss: 165.8024 - val_mae: 10.5384 - learning_rate: 0.0010\n", "Epoch 9/150\n", "\u001b[1m46/46\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 25ms/step - loss: 92.9293 - mae: 6.6659 - val_loss: 157.7313 - val_mae: 10.4017 - learning_rate: 0.0010\n", "Epoch 10/150\n", "\u001b[1m46/46\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 26ms/step - loss: 76.1936 - mae: 5.9393 - val_loss: 124.5216 - val_mae: 9.2149 - learning_rate: 0.0010\n", "Epoch 11/150\n", "\u001b[1m46/46\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 26ms/step - loss: 72.6647 - mae: 5.9936 - val_loss: 147.7324 - val_mae: 10.5025 - learning_rate: 0.0010\n", "Epoch 12/150\n", "\u001b[1m46/46\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 26ms/step - loss: 61.0835 - mae: 5.4357 - val_loss: 107.3129 - val_mae: 8.7674 - learning_rate: 0.0010\n", "Epoch 13/150\n", "\u001b[1m46/46\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 27ms/step - loss: 53.9811 - mae: 5.1831 - val_loss: 161.3696 - val_mae: 10.1498 - learning_rate: 0.0010\n", "Epoch 14/150\n", "\u001b[1m46/46\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 26ms/step - loss: 55.9300 - mae: 5.3362 - val_loss: 120.3780 - val_mae: 8.9371 - learning_rate: 0.0010\n", "Epoch 15/150\n", "\u001b[1m46/46\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 26ms/step - loss: 54.5672 - mae: 5.2052 - val_loss: 175.7188 - val_mae: 11.8765 - learning_rate: 0.0010\n", "Epoch 16/150\n", "\u001b[1m46/46\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 27ms/step - loss: 50.6375 - mae: 4.9938 - val_loss: 120.6923 - val_mae: 9.1595 - learning_rate: 0.0010\n", "Epoch 17/150\n", "\u001b[1m46/46\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 26ms/step - loss: 49.6132 - mae: 5.0517 - val_loss: 164.1767 - val_mae: 10.8718 - learning_rate: 0.0010\n", "Epoch 18/150\n", "\u001b[1m46/46\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 28ms/step - loss: 47.0034 - mae: 5.0077 - val_loss: 129.4520 - val_mae: 9.8728 - learning_rate: 0.0010\n", "Epoch 19/150\n", "\u001b[1m46/46\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 27ms/step - loss: 45.4484 - mae: 4.9093 - val_loss: 171.7626 - val_mae: 11.5587 - learning_rate: 0.0010\n", "Epoch 20/150\n", "\u001b[1m46/46\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 26ms/step - loss: 38.2535 - mae: 4.4474 - val_loss: 157.3609 - val_mae: 11.2681 - learning_rate: 0.0010\n", "Epoch 21/150\n", "\u001b[1m46/46\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 26ms/step - loss: 35.8599 - mae: 4.3157 - val_loss: 158.3537 - val_mae: 11.0643 - learning_rate: 0.0010\n", "Epoch 22/150\n", "\u001b[1m44/46\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m0s\u001b[0m 23ms/step - loss: 34.2164 - mae: 4.3049\n", "Epoch 22: ReduceLROnPlateau reducing learning rate to 0.0005000000237487257.\n", "\u001b[1m46/46\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 26ms/step - loss: 36.1667 - mae: 4.4353 - val_loss: 128.8475 - val_mae: 9.5550 - learning_rate: 0.0010\n", "Epoch 23/150\n", "\u001b[1m46/46\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 26ms/step - loss: 33.1296 - mae: 4.2523 - val_loss: 117.9625 - val_mae: 9.1469 - learning_rate: 5.0000e-04\n", "Epoch 24/150\n", "\u001b[1m46/46\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 27ms/step - loss: 31.2907 - mae: 4.3110 - val_loss: 131.2014 - val_mae: 9.6215 - learning_rate: 5.0000e-04\n", "Epoch 25/150\n", "\u001b[1m46/46\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 26ms/step - loss: 33.1731 - mae: 4.2189 - val_loss: 120.6982 - val_mae: 9.2732 - learning_rate: 5.0000e-04\n", "Epoch 26/150\n", "\u001b[1m46/46\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 26ms/step - loss: 29.7279 - mae: 4.0669 - val_loss: 133.3877 - val_mae: 9.9621 - learning_rate: 5.0000e-04\n", "Epoch 27/150\n", "\u001b[1m46/46\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 26ms/step - loss: 30.7823 - mae: 4.1318 - val_loss: 134.9048 - val_mae: 9.9791 - learning_rate: 5.0000e-04\n", "Epoch 28/150\n", "\u001b[1m46/46\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 27ms/step - loss: 31.4873 - mae: 4.2751 - val_loss: 126.3903 - val_mae: 9.8283 - learning_rate: 5.0000e-04\n", "Epoch 29/150\n", "\u001b[1m46/46\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 27ms/step - loss: 31.1747 - mae: 4.2124 - val_loss: 155.8230 - val_mae: 10.9685 - learning_rate: 5.0000e-04\n", "Epoch 30/150\n", "\u001b[1m46/46\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 27ms/step - loss: 26.1791 - mae: 3.8438 - val_loss: 146.5038 - val_mae: 10.5429 - learning_rate: 5.0000e-04\n", "Epoch 31/150\n", "\u001b[1m46/46\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 26ms/step - loss: 28.4097 - mae: 4.0506 - val_loss: 139.7865 - val_mae: 10.3443 - learning_rate: 5.0000e-04\n", "Epoch 32/150\n", "\u001b[1m46/46\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 23ms/step - loss: 27.9504 - mae: 4.1128\n", "Epoch 32: ReduceLROnPlateau reducing learning rate to 0.0002500000118743628.\n", "\u001b[1m46/46\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 26ms/step - loss: 28.7068 - mae: 4.1198 - val_loss: 136.8158 - val_mae: 10.0341 - learning_rate: 5.0000e-04\n", "Epoch 32: early stopping\n", "Restoring model weights from the end of the best epoch: 12.\n", "\n", "Best epoch: 12\n", "Best val loss: 107.312881\n" ] } ], "source": [ "callbacks = [\n", " tf.keras.callbacks.EarlyStopping(\n", " monitor=\"val_loss\", patience=EARLY_STOP_PATIENCE,\n", " restore_best_weights=True, verbose=1,\n", " ),\n", " tf.keras.callbacks.ReduceLROnPlateau(\n", " monitor=\"val_loss\", factor=0.5, patience=10, verbose=1,\n", " ),\n", "]\n", "\n", "history = dg_model.fit(\n", " X_train, y_train,\n", " validation_data=(X_test, y_test),\n", " epochs=MAX_EPOCHS, batch_size=BATCH_SIZE,\n", " callbacks=callbacks, verbose=1,\n", ")\n", "\n", "best_epoch = np.argmin(history.history[\"val_loss\"]) + 1\n", "print(f\"\\nBest epoch: {best_epoch}\")\n", "print(f\"Best val loss: {min(history.history['val_loss']):.6f}\")" ] }, { "cell_type": "markdown", "id": "b88c6b3a", "metadata": {}, "source": [ "## 4. Evaluate" ] }, { "cell_type": "code", "execution_count": 5, "id": "12650600", "metadata": { "execution": { "iopub.execute_input": "2026-02-24T18:15:53.433453Z", "iopub.status.busy": "2026-02-24T18:15:53.433453Z", "iopub.status.idle": "2026-02-24T18:15:54.126753Z", "shell.execute_reply": "2026-02-24T18:15:54.126753Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Dynamic-Graph iTransformer Results (v3):\n", " MAE = 8.7674\n", " RMSE = 10.3592\n", " R² = 0.7090\n", " MAPE = 23.28%\n", " Tol.Acc (±2%) = 8.97%\n", " Tol.Acc (±5%) = 24.14%\n", "Model saved.\n" ] } ], "source": [ "y_pred = dg_model.predict(X_test, verbose=0).flatten()\n", "metrics = regression_metrics(y_test, y_pred)\n", "metrics[\"tol_2pct\"] = tolerance_accuracy(y_test, y_pred, 2.0)\n", "metrics[\"tol_5pct\"] = tolerance_accuracy(y_test, y_pred, 5.0)\n", "\n", "print(\"Dynamic-Graph iTransformer Results (v3):\")\n", "print(f\" MAE = {metrics['MAE']:.4f}\")\n", "print(f\" RMSE = {metrics['RMSE']:.4f}\")\n", "print(f\" R² = {metrics['R2']:.4f}\")\n", "print(f\" MAPE = {metrics['MAPE']:.2f}%\")\n", "print(f\" Tol.Acc (±2%) = {metrics['tol_2pct']:.2%}\")\n", "print(f\" Tol.Acc (±5%) = {metrics['tol_5pct']:.2%}\")\n", "\n", "dg_model.save(str(v3[\"models_deep\"] / \"dynamic_graph_itransformer.keras\"))\n", "print(\"Model saved.\")" ] }, { "cell_type": "markdown", "id": "5c7a78fc", "metadata": {}, "source": [ "## 5. Training Curves" ] }, { "cell_type": "code", "execution_count": 6, "id": "77842c13", "metadata": { "execution": { "iopub.execute_input": "2026-02-24T18:15:54.128764Z", "iopub.status.busy": "2026-02-24T18:15:54.128764Z", "iopub.status.idle": "2026-02-24T18:15:54.402919Z", "shell.execute_reply": "2026-02-24T18:15:54.402919Z" } }, "outputs": [ { "data": { "image/png": "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xF555RVbu3atNW/e3AYPHmz169fPUBqtxTHeffdd27x5s7Vv394GDRqU4XQ+fe0999xjM2fOdC9E1K9N/dXKli1r8aBqVe+SVgYAAORv0lumTOEZMfWKVU9ZzYsOO+wwK1asmL399tv2ySefxHrXkMRq1PAuCWYBAMg75qnMUxNi8a/Ro0fb5MmTrWfPni6ALVOmjF1yySXBBSkefvhht7iFbtd9N2zY4Pqkbdy4MfgYQ4YMsbfeesstfDFixAibP3++9erVK0MlSN++fe3bb7+1oUOHuj5sH330kQ0YMMDiBa0MgOwNmznMbQBQ2H3//ffWtWtXa9KkiQtl5fPPP8+1YhaxtWnTJmvYsKHrGRy6XXfddcGfnea86v2rthOa6y5cuDDuKmaXLYv1ngAAgHjFPDUBK2ZV3fr8889b79697cILL3TXtWzZ0lq3bu2C1gsuuMCmTJli119/vVvowr/9+OOPt6lTp7oAd/HixTZt2jQbO3asq4IVTXw7d+7sqkc6depkc+bMsblz57qq3MaNG7v71KhRw3r06OFCXN0/1ghmgeylbaSpHQCI5jGaA6mFgc760dlCr7/+urtt69atDFKc+v333134OnHiRKtQoULw+ooVK7pLhbKTJk1yRQb777+/Pfrooy6cnT59elyc3UUrAwAAkBvmqQlYMZuammovvPBChhWBixYtaikpKbZ9+3b74YcfXHjbsWPH4O2azCq4na2mcmb25Zdful5pqjDw1a1b171gCb2P2hr4oay0adPGTXT9+8QawSwAAMiNzgyqU6eOa8ekEE9nGD3zzDOuelZVCojfYFYhrOarRx55ZHDTnFVngYUWIqioQGeT6SwxhfDxgGAWAADkhnlqAlbMKoRVfzRR24F///3Xxo0b54LZbt26uYUtFLrWqlUrw9fpc/WKFa1GXL169QyLWvj3WbRoUfA+ehETSo97wAEHBO8TawSzAAAUXh9//HGertN85oknntjr+l9++SX4sYLa0DeiFQpmltV1iByN9yGHHJLlbbkVIugMsVgjmAUAoPBinprki3/5HnvsMXvwwQfdx6oY0AuP9957zwWufg81n/rQ+j1m1bNLn2em61auXJnrfUJ71WZFp51Fo2dblSp6jhRbs8Zs166A7V4wGRHg/0zpxZc4Yx0w7+v5mUV+rJGH45GxjhrGmnHOyzGSKMGs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1l90q1evXq7Pa1pamrtOFbSR2tcrr7zSqlSpYi+88AKhbCFRsaI3X5Vly2K9NwAAAImLitk4rprduNFs9WotvBHrvQEAAJGwatUq+/7774Ofq0esKl0rVqxoZ555prvusssus2nTprmw9cILL3S9WydOnGi///67a2Gg0FUhrL4uNTXVDjroIPeYWhDMr5b1F/x67733rF27dlarVi3XfmD79u1uIbGCuvfee23Dhg02ePBgFwL7QbCoB+5+++23D6ODeKX2waqaXbTITD/yevVivUcAAACJiWA2joPZ//3PC2YBAEByeuedd9wmClgVoLZo0cItnuX3hlXAqRYBuu6mm26yokWL2hFHHGFPPfWUq5yVW2+91YWyEyZMsNWrV7uvueWWW6x79+7u9jZt2ljr1q3trrvusnPPPdfuuOMOF9pqsbGPPvqoQPuuhcg+/fRT27Vrl9uvzLRP/mJgSD6hwSwAAAAKhmA2zvvMEswCAJCcPv744zzf99BDD7XHH38829tLly7tqme1ZaVMmTL2zDPPZLjO/zwQCBRof4sVK+ZaKaBwYgEwAACAfUcwG6eqVvUuCWYBsy4NwrsKOgAA2Df77+9dUjELAABQcASzcYqKWWCPLocQzAIAEI8Vs0uXxnpPAAAAEldkluhF2ILZVasYTAAAAMQXWhkAAAAkQTC7detWGzNmjJ144onWrFkzO+OMM4KLYIgWlVBftczbs88+G7zP2rVrbcCAAW5hi1atWrn+ahs3bszwPFrconfv3m5BDa1GPGrUKNuxY4fFKypmgT2GzRzmNgAAEB8IZgEAAJKglYFWBP7ggw/shhtusPr167uFJfr162cpKSl2yimn2Pz5893KwqNHj87wdbVq1Qp+3LdvX1u6dKl7rC1btrjQdc2aNTZ+/Hh3+/bt2+3yyy93C1/otrS0NLeysYLZ22+/3eIRwSywR9pGlnwGACCeEMwCAAAkeDCr8HTq1Kk2fPhw6969u7tO1ayLFy+2J5980gWzv//+uzVq1MiOPPLILB9jzpw5NnfuXHvttdescePG7roaNWpYjx49XKjbsGFDe/PNN13FrELfatWqufukpqa6IPeaa66xypUrW7xh8S8AAADEezC7cqWZTkIrXjzWewQAAJB4YtrKYNOmTXbeeefZMccck+H6evXquSBVFMwecsgh2T7Gl19+6cJW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Z6x3AQAAhDaT/fffDONBMAsAAJB/tDJIAFTMAgAAIK6C2WwqZtesMdu2LQb7BQAAkIAIZhMsmNVaC0BhM2neJLcBAID4DGYrVzYrUcL7ONO6YAAAAMgGwWwCBbNbt5pt3hzrvQGib17aPLcBAIAYO+CALIPZlBSzGjW8j+kzCwAAkDcEswmgbFmz4sX3VM0CAAAA8dRjVugzCwAAkD8EswlAFQj0mQUAAEC8tjIQglkAAID8IZhNEFWrepdUzAIAACDmwezatXv12CKYBQAAyB+C2QRBxSwAAABirkIFs9Kls2wmSzALAACQP8XyeX/EOJhdtYofAQqfLg26xHoXAACA32NLVbN//um1MzjooOC4EMwCAADkD8FsgqBiFoVZl0MIZgEAiBt+MJtpATCCWQAAgPyhlUGCIJgFAABAPC8ARjALAACQPwSzCYLFv1CYDZs5zG0AACD+g9kVK8x27YrBfgEAACSYmAezW7dutTFjxtiJJ55ozZo1szPOOMPeeeed4O3btm2z4cOH29FHH+1uv+6662yFZnsh1q5dawMGDLA2bdpYq1atbNCgQbZx48YM9/n333+td+/e1qJFC2vXrp2NGjXKduzYYYmCilkUZmkb09wGAADiwAEHZBnMVqtmVqSIWXq6F84CAAAgznvMDh061D744AO74YYbrH79+vbxxx9bv379LCUlxU455RQbMmSIffLJJzZw4EArVaqUjR492nr16mWvvvqqFdHMz8z69u1rS5cudY+1ZcsWF7quWbPGxo8f727fvn27XX755VamTBl3W1pamt1///0umL399tstERDMAgAAIK4qZjP1mC1a1Atnly0zS0vbU0ELAACAOAxmFZ5OnTrVVcR2797dXadq1sWLF9uTTz5pjRo1smnTptnYsWPt5JNPdrc3bNjQOnfu7MLaTp062Zw5c2zu3Ln22muvWePGjd19atSoYT169LD58+e7+7/55puuYlahbzXNFs0sNTXVBbnXXHONVa5c2RIlmF21KtZ7AgAAgEItm1YGojDWD2YBAAAQx60MNm3aZOedd54dc8wxGa6vV6+eC1K//PJLVxXboUOH4G1169a1Bg0a2OzZs93nuo/CVj+UFbU0KFu2bPA+Cm91ux/KygknnOAqZvX1iYCKWQAAAMRdMBsIZLiJBcAAAAASpGK2du3armo11K5du2zW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jRw50gtkTzzxRLv99tvthhtuqHt98eLFNmXKFEskEjZ79mz77W9/a9u3b/fC2VdffbXu66666iq79dZbbfz48XbXXXd5Qe7DDz9sV155Zcrvu/baa2306NF29913e1/z1FNP2axZs2KoEQAAAOQbbVQAiA5DGQBAAaqurrahQ4emfe2AAw6wZ555pu755MmTvckY5KijjvJ6uD7yyCN23nnnWa9evbwg9sADD/R6w+r2M1H4esopp3gB7jHHHGMrVqzwejfMmDHDLrnkEu9rxo0bZzt27LAnnnjCNm/eXPf7pk+f7oXBcsQRR9jSpUvt9ddfz2l9AAAAIP9oowJAtAhmAaBAJ1ZYsGBBxteCzjjjjJTnJ598shfMvvXWW164u27dOjvnnHPqQllp166dF8yql+3atWvt7bff9tZrGIOgc8891ytBGr4gqF+/fvbaa6818y8FAABAa0EbFQCiRTALAAVIIerw4cOz+tp99tkn5flee+3lLauqqurGft17773rfZ9bt2nTJtu4caP3uGfPno3+vk6dOqU81xAJyWQyq20FAABA60UbFQCixRizANDKbdiwIeX5119/7S179Ohh3bp18x5/9dVX9b5PPWmle/futueee3qP169fn/I1CnaXLFnihbcAAAAAbVQAiA7BLAC0cs8991zKc0321bZtWzvyyCNt4MCBXo9ajUlbW1tb9zUaO3bRokXe6xqH1g1P8Pzzz6f8rCeffNIbU1a9bwEAAADaqAAQHYYyAIACpBB12bJlGV8PDjlw1113eV9fUVHhjfX62GOP2cyZM72esHLZZZfZxRdf7E3sddZZZ3nDDjz00EO2evVqmzNnTt2EYqeffrrdd9993vPDDz/cPv74Y7vtttu8MWz79OlTNw4tAAAAShNtVACIFsEsABSgmpoaO/PMMzO+PmXKFBs2bJj3+JprrrFHH33U5s6da3379rXrrrsu5XsnTZpkXbp08V5XQFtWVmajRo2y+fPn25gxY+q+bvbs2da/f39buHChF9D27t3b6y2rQBcAAACgjQoA0UokmbEFAFolBahXXHGFPfHEE1lPFAYAAADkEm1UAMgeY8wCAAAAAAAAQMwIZgEAAAAAAAAgZgxlAAAAAAAAAAAxo8csAAAAAAAAAMSMYBYAAAAAAAAAYkYwCwAAAAAAAAAxI5gFAAAAAAAAgJgRzAIAAAAAAABAzAhmAQAAAAAAACBmBLMAAAAAAAAAEDOCWQAAAAAAAACIGcEsAAAAAAAAAFi8/j9JMPTNLY9eMQAAAABJRU5ErkJggg==", "text/plain": [ "