{ "cells": [ { "cell_type": "code", "execution_count": 1, "id": "f2756f07", "metadata": { "execution": { "iopub.execute_input": "2026-02-17T16:04:25.925744Z", "iopub.status.busy": "2026-02-17T16:04:25.925540Z", "iopub.status.idle": "2026-02-17T16:04:25.935665Z", "shell.execute_reply": "2026-02-17T16:04:25.934948Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "FDFI version: 0.0.5\n" ] } ], "source": [ "import fdfi\n", "print('FDFI version:', fdfi.__version__)" ] }, { "cell_type": "markdown", "id": "64771235", "metadata": { "papermill": { "duration": 0.005461, "end_time": "2026-02-12T05:43:29.993132", "exception": false, "start_time": "2026-02-12T05:43:29.987671", "status": "completed" }, "tags": [] }, "source": [ "# OTExplainer: Gaussian Optimal Transport\n", "\n", "This tutorial provides a deep dive into the `OTExplainer`, which uses Gaussian optimal transport for computing feature importance.\n", "\n", "## What You'll Learn\n", "\n", "1. Mathematical foundation of Gaussian OT\n", "2. Key hyperparameters and their effects\n", "3. When to use OTExplainer vs other methods\n", "4. Best practices for real-world usage" ] }, { "cell_type": "code", "execution_count": 2, "id": "1b6990e4", "metadata": { "execution": { "iopub.execute_input": "2026-02-17T16:04:25.937703Z", "iopub.status.busy": "2026-02-17T16:04:25.937531Z", "iopub.status.idle": "2026-02-17T16:04:26.635835Z", "shell.execute_reply": "2026-02-17T16:04:26.635204Z" }, "papermill": { "duration": 0.785167, "end_time": "2026-02-12T05:43:30.781871", "exception": false, "start_time": "2026-02-12T05:43:29.996704", "status": "completed" }, "tags": [] }, "outputs": [], "source": [ "import numpy as np\n", "import matplotlib.pyplot as plt\n", "from fdfi.explainers import OTExplainer\n", "\n", "np.random.seed(42)" ] }, { "cell_type": "markdown", "id": "c051506a", "metadata": { "papermill": { "duration": 0.036953, "end_time": "2026-02-12T05:43:30.820461", "exception": false, "start_time": "2026-02-12T05:43:30.783508", "status": "completed" }, "tags": [] }, "source": [ "## Mathematical Background\n", "\n", "The key insight of OTExplainer is to use the **Gaussian optimal transport map** to create counterfactual distributions.\n", "\n", "Given data $X$ with mean $\\mu$ and covariance $\\Sigma$, we compute:\n", "\n", "$$Z = L^{-1}(X - \\mu)$$\n", "\n", "where $\\Sigma = LL^T$ (Cholesky decomposition). In Z-space, features are uncorrelated.\n", "\n", "To measure the importance of feature $j$, we:\n", "1. Replace $Z_j$ with an independent sample from $N(0, 1)$\n", "2. Transform back to X-space\n", "3. Compare model outputs" ] }, { "cell_type": "markdown", "id": "e3a59f3d", "metadata": { "papermill": { "duration": 0.001245, "end_time": "2026-02-12T05:43:30.823037", "exception": false, "start_time": "2026-02-12T05:43:30.821792", "status": "completed" }, "tags": [] }, "source": [ "## Setup: Create Correlated Data\n", "\n", "Let's create data with correlated features to see how OTExplainer handles dependencies:" ] }, { "cell_type": "code", "execution_count": 3, "id": "04031dcd", "metadata": { "execution": { "iopub.execute_input": "2026-02-17T16:04:26.637906Z", "iopub.status.busy": "2026-02-17T16:04:26.637729Z", "iopub.status.idle": "2026-02-17T16:04:26.641280Z", "shell.execute_reply": "2026-02-17T16:04:26.640822Z" }, "papermill": { "duration": 0.007164, "end_time": "2026-02-12T05:43:30.831368", "exception": false, "start_time": "2026-02-12T05:43:30.824204", "status": "completed" }, "tags": [] }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Correlation matrix of training data:\n", "[[ 1. 0.71 -0.03 -0. -0.05]\n", " [ 0.71 1. 0.02 0.03 -0.06]\n", " [-0.03 0.02 1. 0.72 -0.02]\n", " [-0. 0.03 0.72 1. -0. ]\n", " [-0.05 -0.06 -0.02 -0. 1. ]]\n" ] } ], "source": [ "# Create covariance matrix with correlations\n", "n_features = 5\n", "correlation = 0.7\n", "\n", "cov_matrix = np.eye(n_features)\n", "cov_matrix[0, 1] = cov_matrix[1, 0] = correlation # Features 0 and 1 are correlated\n", "cov_matrix[2, 3] = cov_matrix[3, 2] = correlation # Features 2 and 3 are correlated\n", "\n", "# Generate correlated data\n", "n_samples = 500\n", "X_train = np.random.multivariate_normal(\n", " mean=np.zeros(n_features),\n", " cov=cov_matrix,\n", " size=n_samples\n", ")\n", "\n", "print(\"Correlation matrix of training data:\")\n", "print(np.corrcoef(X_train.T).round(2))" ] }, { "cell_type": "code", "execution_count": 4, "id": "d88e79e9", "metadata": { "execution": { "iopub.execute_input": "2026-02-17T16:04:26.642661Z", "iopub.status.busy": "2026-02-17T16:04:26.642555Z", "iopub.status.idle": "2026-02-17T16:04:26.645110Z", "shell.execute_reply": "2026-02-17T16:04:26.644601Z" }, "papermill": { "duration": 0.005076, "end_time": "2026-02-12T05:43:30.837969", "exception": false, "start_time": "2026-02-12T05:43:30.832893", "status": "completed" }, "tags": [] }, "outputs": [], "source": [ "# Create model: only feature 0 matters\n", "def model(X):\n", " return X[:, 0] ** 2\n", "\n", "# Test data\n", "X_test = np.random.multivariate_normal(\n", " mean=np.zeros(n_features),\n", " cov=cov_matrix,\n", " size=50\n", ")" ] }, { "cell_type": "markdown", "id": "c805f8df", "metadata": { "papermill": { "duration": 0.001252, "end_time": "2026-02-12T05:43:30.840651", "exception": false, "start_time": "2026-02-12T05:43:30.839399", "status": "completed" }, "tags": [] }, "source": [ "## Effect of nsamples\n", "\n", "The `nsamples` parameter controls Monte Carlo variance. Let's see its effect:" ] }, { "cell_type": "code", "execution_count": 5, "id": "cb0dc14d", "metadata": { "execution": { "iopub.execute_input": "2026-02-17T16:04:26.646855Z", "iopub.status.busy": "2026-02-17T16:04:26.646744Z", "iopub.status.idle": "2026-02-17T16:04:26.857687Z", "shell.execute_reply": "2026-02-17T16:04:26.857196Z" }, "papermill": { "duration": 0.180749, "end_time": "2026-02-12T05:43:31.022720", "exception": false, "start_time": "2026-02-12T05:43:30.841971", "status": "completed" }, "tags": [] }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAABKUAAAGGCAYAAACqvTJ0AAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAPZlJREFUeJzt/QmYVOWZMO4/zY4oIMhmxC244IqCiai4xBkMGJfEJM6MXzQuTBi3KCHGLUE00Yxh/Igbxhjlr46OmcH1E1EzgrtJEBxc0OiEACEgEpVN2et3vcd/V2joRmirT3dX3fd1Ha2z1Klzqqrr4Tzned+3qlAoFAIAAAAActQizxcDAAAAgERSCgAAAIDcSUoBAAAAkDtJKQAAAAByJykFAAAAQO4kpQAAAADInaQUAAAAALmTlAIAAAAgd5JSAAAAAOROUgqagKqqqrjiiiuiKVm6dGlcdNFFMXjw4OjWrdunHuO0adPi7/7u72LrrbeOzp07x9e+9rX44x//mOsxA5SzphgrpkyZkh1XbdNLL7200fZiBUD5xoSnnnoqzjjjjNhzzz2jQ4cO8bnPfS5OOOGEePnll2vdfktiwg033JDtt23btrHLLrvE6NGjY/Xq1Q18RuRBUgqo1V//+te49dZbY+XKlXHiiSdu8l16880348gjj4xVq1bFr3/967j99tvjD3/4QwwaNCjee+897zBAmbv66qvjxRdfrDHts88+NbYRKwDK27hx4+JPf/pTfPe7342JEyfGz3/+81i4cGEcfPDBWcKqvjHhJz/5SbbPlLR6/PHH4+yzz87izjnnnJPzGdIQWjXIXoFmb6eddooPPvgguwuzaNGiuO222+rc9kc/+lF21+L//b//Fx07dsyW9e/fP3bbbbcYM2ZM/Ou//muORw5A3tLvfbro2BSxAqC83XTTTdG9e/cay7785S9Hnz59siTSl770pS2OCelG+Y9//OMYNmxYto8kJbNSldTll18eF1xwQey11165nielpVKKZiGVpqbkyOuvvx7/+I//GJ06dYoePXpk5aGLFy8ubvef//mf8cUvfjFbv9VWW8Wuu+6abVNtxYoV8b3vfS/69euXbdOlS5cYOHBgPPTQQxu9Znq9c889N+64447YY489on379jFgwICsOUKhUIif/exnWeloKjdNP7DvvPNOjeenH8t0l/jZZ5/N/qGenp9KWH/4wx/G2rVrP/WcFyxYEN/5zndihx12iDZt2hTLVNesWbPRHYn9998/O45tttkmK2u99NJL6/lO1zz/NH2adDwpmJx00knFgFKd1DrqqKPigQce+MzHArA5xIr8Y8XmEiuAvIkJ+ceEDRNSSXqNlDSaO3duvWLCpEmTsmu4008/vcZ+03y6JnvwwQc/83HTuFRK0aykH66TTz45zjzzzHj11VfjkksuyZancs/UVCCtS1MKQu3atYvZs2fXKBVNTdHef//9GDlyZJYgSuWiv/nNb7JS0JR8OvXUU2u8XvqxnD59evz0pz/NEjQ/+MEP4thjj43TTjsta+984403ZkmxESNGZMf2yiuv1EjkpMTSP/zDP8TFF18cV155ZTz66KNZpj9VIKXn1iU97wtf+EK0aNEiu4vw+c9/Pju/9NxUEpuONfmP//iPrHz1vPPOy+4opO1TcuyNN96osb8NA1FdWrZsuVmJqPX97//+b3z88cex3377bbQuLXvyySezQJI+D4A8iBX5x4rUhCLFu3RDKN3sSTdgDjvssOJ6sQJoLGJC414/pGul1HfU+lVSWxITXnvttWz5vvvuW2O7Xr16xXbbbVdcTzNWgGZg1KhRhfR1vfbaa2ssP/vsswvt2rUrrFu3rjBmzJhsmw8//HCz97tmzZrC6tWrC2eeeWbhgAMOqLEu7atnz56FZcuWFZc9+OCD2fJ+/fplr1lt7Nix2fIZM2YUlx1xxBHZsoceeqjGfocNG1Zo0aJFYfbs2TVeK51jte985zuFrbfeusY2SfU5vv7669n8ueeeW+jcufMmz3HWrFnZczZnmjx5cq37eO+99zY6xmrPP/98tu7ee+/daN3VV1+drfvLX/6yyWMEKAWxIv9YMW3atMJ3v/vdwgMPPFB45plnCrfffnuhb9++hZYtWxYmTZpU3E6sAPImJjTu9UO1U045pdCqVavC1KlT6xUT0rVT27Zta9337rvvXhg8ePCnfhdo2jTfo1k5/vjjN8qkpyx66kDvoIMOypZ985vfzDrLmzdvXq37SE38Dj300KyUtFWrVtG6dev41a9+FTNnztxo21Q+mkaOqNa3b9/s/0OGDKlxR6B6earMWl8qh93wmP/pn/4p1q1bF88880yd55kqtNJrb7/99tldiuopvW7y9NNPZ/9P1VQffvhh1qQxNUFMfT9tKO3j97///WZNqR13fW3qDsmWVl8BfBZiRX6x4oADDoixY8dmA2KkzmlTc4oXXnghu4OdRnDdkFgB5E1MaLzrh1Q1++///u/xf//v/611u82NCWJHedN8j2ala9euNeZT53hJKv88/PDDszbF119/fdYMLzXV23vvveOyyy7LfnST+++/P0tafeMb34jvf//70bNnzywxldpVpyaAG0p9Tq0v9e20qeUpQba+1O/VhtJrVnfaV5d33303HnnkkSxhVpvq4PGtb30rS1b98pe/zEqTU7IrJedSM7+///u/Lx5b6kNrc8tv6/uZ1HY+qalkCiJpiFeAvIgVjRsr0m/+V77ylbjllluy+Jz6VBQrgMYiJjROTEh9WaV9ppHzUj+99b1+SNuma6yPPvooayK+4baf5aY6TYOkFGXlhBNOyKaUkEodkl9zzTVZZdLOO++c9XFx9913Zx3+3XfffTUy7mn7hpCSS7X1F1VbgFxfah+dqsDSj3ht0t2LaumudJqWL1+eVV+NGjUquxhIQ6qmzgJTG/J0zptj8uTJWQftWyL1d5UuOFIfXxtKy9JoG/qTApoSsaLhY8UnLdP/dndbrACaKjGh9DEhJaRSH79pqq0D9S2JCdV9SaXlaUCr9a+pUqItDSxF8yYpRVlKFVRHHHFElmF//PHHs87KU1Iq/eM4Zf437Iy8ttH3SmHp0qXx8MMP1ygbvueee7IOBVNlV11SUJg4cWL2g73ttttu1mulZoapeV/qvD01o0gjFaagUl1+uznSKINbKlWaHXfccVkV2rXXXps1WUzmzJmTBakLL7xwi/cJkAexomFiRRrMIzVDT3fZqy8qxAqgqRMTShMTrrrqqiwZdfnll2fJrtpsSUz48pe/nMWS8ePH10hKpfl0TZeue2jeJKUoG2mUuj//+c9x9NFHxw477JC1lf75z3+eNYFLCarqZE/68UsjTnz961/PhiZNP5yp74u333675MeUqqH+5V/+JfuB3X333bNEUyqVTct23HHHOp+XRupLo04ccsghcf7552c/9qlsNd21SPtITSLSOQ4bNiy7y5D6yErnkBJsqTqsU6dOxT62UhJuwIAB9Tr+xx57LKvASsm1JI3K8V//9V/Z46FDhxZLaNPdkPR66f1NIw2mY02fR6r4+t73vlev1wZoCGJFaWNFqkZO8Sw9N/3mp1j6b//2b1mlcLpgWJ9YATQ1YkJpY0L6/U/vaUokpRHLU8uV9R188MFbHBNStykpwZX6p0qPBw8enCXMUuLrrLPOir322uszfQdofJJSlI2UOZ86dWr84Ac/iPfeey+rkko/pk899VTWt1SSmrmlTtFTUif1IbXrrrtmP4IpmZV+GEst9R910003xciRI7OS0/RDmkpYP+21UoIpnUtKmP3sZz/Lji/dQUhltOlHvrp6KnUqm/7Rnzp2T3em0494GoL7zjvvjG7dun3m40/Js/U7b0+dxKcpmTVrVtYsMtlzzz1jypQp2Xufkn3p7kca9jUNM1uK4wAoFbGitLEiNTVPTeJTXF22bFkW59K+77rrruLFTTWxAmhqxITSxoTUJ24yadKkbKqrafeWxoTUR3C6FkrXVWl9usZK13BpOc1fVRqCr7EPAspRalud2jm/9tprjX0oADRRYgUAYgKVrEVjHwAAAAAAlUdSCgAAAIDcab4HAAAAQO5USgEAAACQO0kpAAAAAHInKQUAADRr11xzTRx00EHZsPHdu3ePE088Md56661NPicNR19VVbXR9Oabb+Z23ACVrlVUmHXr1sVf/vKXLGCloAPA3xQKhVi6dGlsv/320aJF5d63ECsAmlesePrpp+Occ87JElNr1qyJyy67LAYPHhxvvPFGdOjQYZPPTcmrjh07Fue7deu2Wa8pVgB89lhRcR2d//nPf47evXs39mEANGlz586NHXbYISqVWAHQvGPFe++9l1VMpWTV4YcfXmel1FFHHRUffPBBdO7ceYtfQ6wA+OyxouIqpVKFVPUbs/4dEQAilixZkiXuq38rK5VYAdC8Y8XixYuz/3fp0uVTtz3ggANixYoVsddee8Xll1+eJapqs3LlymyqVn1v33UFQP1jRcUlpaqb7KWElKQUwKZ/KyuVWAGw+b+VTU1KFo0YMSIOO+yw2GeffercrlevXnHrrbdG//79s2TTXXfdFUcffXRWQVVbdVXqt2r06NEbLXddAVD/WFFxzfdStq5Tp07Z3RNJKQC/kWIFQHn9ezr1LfXoo4/Gc889t8XNC4877rjsAurhhx/+1Eqp6iqApvo+ADSHWNE0eiYEAAD4jM4777wsoTR58uR69Xd18MEHx9tvv13rurZt2xarolRHAZRGxTXfAwAAyktq/JESUg888EDW/G6XXXap136m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rSg+7vvDSdGiTbsGe60//fTYBts3QKXHCgA2n1gBULnqlZR65JFH4pRTTsk60Ntmm22yUTOqpccuNAAQKwBwXQFAyfuU+t73vhdnnHFG1pdUurPxwQcfFKf333+/PrsEoMyIFQCIFQCUPCk1b968OP/882Orrbaqz9MBqABiBQBiBQAlb753zDHHxNSpU2PXXXetz9MBqACVHCv0PwiweSo5VgBQz6TUscceG9///vfjjTfeiH333Tdat25dY/3xxx/vvQWocGIFAGJF3dzAAKhnUmrYsGHZ/6+88sqN1qWOzteuXeu9BahwYgUAYgUAJU9KbTisNwCIFQC4rgCgwTs6BwAAAIDcK6WS5cuXx9NPPx1z5syJVatW1ViXRuYDALECANcVAJQ0KTV9+vQYOnRofPTRR9kFR5cuXWLRokWx1VZbRffu3SWlABArAHBdAUDpm+9deOGFcdxxx8X7778f7du3j5deeilmz54d/fv3jzFjxtRnlwCUGbECALECgJInpV555ZX43ve+Fy1btsymlStXRu/evePaa6+NSy+9tD67BKDMiBUAiBUAlDwp1bp166iqqsoe9+jRI+tXKunUqVPxMQCVTawAQKwAoOR9Sh1wwAExderU2H333eOoo46KH/3oR1mfUnfddVfsu+++9dklAGVGrABArACg5JVSV199dfTq1St7fNVVV0XXrl3jX/7lX2LhwoXxi1/8oj67BKDMiBUAiBUAlLxSasCAAcXH3bp1i4kTJ9ZnNwCUMbECALECgJJXSn3pS1+KDz/8cKPlS5YsydYBgFgBgOsKAEqelJoyZUqsWrVqo+UrVqyIZ599tj67BKDMiBUAiBUAlKz53owZM4qP33jjjViwYEFxfu3atTFp0qT43Oc+tyW7BKDMiBUAiBUAlDwp1a9fv6iqqsqm2prptW/fPm644YYt2SUAZUasAECsAKDkSalZs2ZFoVCIXXfdNX73u99lnZxXa9OmTXTv3j1atmy5JbsEoMyIFQCIFQCUPCm10047xerVq+PUU0+NLl26ZPMAIFYA4LoCgAbv6Lx169bx0EMPbfELAVA5xAoAxAoAGmT0vRNPPDEefPDB+jwVgAohVgAgVgBQsuZ71fr06RNXXXVVvPDCC9G/f//o0KFDjfXnn39+fXYLQBkRKwAQKwAoeVLqtttui86dO8fLL7+cTetLI/NJSgEgVgDgugKAkiel0shKACBWAPBZuK4AqGz16lNqfYVCIZsAQKwAwHUFAA2elLrzzjtj3333jfbt22fTfvvtF3fddVd9dwdAGRIrABArAChp873rrrsufvjDH8a5554bhx56aFYp9fzzz8fw4cNj0aJFceGFF9ZntwCUEbECALECgJInpW644YYYN25cnHrqqcVlJ5xwQuy9995xxRVXSEoBIFYA4LoCgNI335s/f34ccsghGy1Py9I6ABArAHBdAUDJk1J9+vSJX//61xstv++++2K33Xarzy4BKDNiBQBiBQAlb743evToOPnkk+OZZ57J+pSqqqqK5557Lv77v/+71mQVAJVHrABArACg5JVSJ510Uvz2t7+N7bbbLh588MG4//77s8e/+93v4qtf/Wp9dglAmRErABArACh5pVTSv3//uPvuu+v7dAAqgFgBgFgBQMmTUmvXro0HHnggZs6cmTXf69u3bzYCX6tW9d4lAGVGrABArACgLvXKIL322mtZAmrBggWxxx57ZMv+8Ic/RLdu3eLhhx+Offfdtz67BaCMiBUAiBUAlLxPqbPOOiv23nvv+POf/xzTpk3Lprlz58Z+++0X//zP/1yfXQJQZsQKAMQKAEpeKfU///M/MXXq1Nh2222Ly9Ljn/zkJ3HQQQfVZ5cAlBmxAgCxAoCSV0qlJnvvvvvuRssXLlwYffr0qc8uASgzYgUAYgUAJU9KXX311XH++efHf/3Xf2VN+NKUHl9wwQXxr//6r7FkyZLiBEBlEisAECsAKHnzva985SvZ/7/5zW9mI+8lhUIh+/9xxx1XnE/r0shLdXnmmWfiZz/7Wbz88ssxf/78bDS/E088cZOv/fTTT8eIESPi9ddfj+233z4uuuiiGD58eH1OA4AGVKpYAUD5EisAKlu9klKTJ08uyYsvX7489t9//zj99NPjpJNO+tTtZ82aFUOHDo1hw4bF3XffHc8//3ycffbZ2ah/m/N8APJTqlgBQPkSKwAqW72SUkcccURJXnzIkCHZtLluueWW2HHHHWPs2LHZfN++fbMO18eMGSMpBdDElCpWAFC+xAqAylavpFSyYsWKmDFjRta5+bp162qsO/7446MhvPjiizF48OAay4455pj41a9+FatXr47WrVs3yOsC0HixQlNvgPLWGNcVADTjpNSkSZPi1FNPjUWLFm20riH7BlmwYEH06NGjxrI0v2bNmuxYevXqtdFzVq5cmU3VdL4OkI9SxQpNvQHKV6lihRsYABU0+t65554b3/jGN7LOydPdjPWnhu6strqz3GrVneZuuLzaNddcE506dSpOvXv3btDjA6C0sSI18/7xj38cX/va17a4qXdq5n3WWWfFGWeckTX1BqA8Y0X1DYwbb7xxs7av7qt20KBBMX369Lj00kuz0cUnTJjwGc4GgFwqpVJpbRoBb8OqpYbWs2fPrFpqw2Np1apVdO3atdbnXHLJJdmxrl8pJTEF0PAaK1Zo6g1QebFCX7UAFVQp9fWvfz2mTJkSeRs4cGA8+eSTNZY98cQTMWDAgDr7k2rbtm107NixxgRAw2usWPFpTb1rk5p5p5sW608AlG+sqOsGRhpEKfVVC0ATrpRKZbGpzPbZZ5+Nfffdd6OEUCp93RzLli2Ld955p0YZ7SuvvBJdunTJml6kKqd58+bFnXfema0fPnx49trpbsqwYcOyYJI6Ob/33nvrcxoANKBSxYq8mnqPHj26wY4HgKYVK/RVC9CMk1L33HNPPP7449G+ffvszsb6/8hPjzc3eKQ7EUcddVRxvrqZ3WmnnRbjx4/P2pbPmTOnuH6XXXaJiRMnxoUXXhg33XRTbL/99nH99dfHSSedVJ/TAKABlSpWbClNvQGaj8aKFdX7X58bGADNJCl1+eWXx5VXXhkXX3xxtGhRrxaAmSOPPLL441+blJja0BFHHBHTpk2r92sCkI9SxYr6NPV+5JFHtripd5oAqIxY4QYGQNNQr1/+VatWxcknn5xr4ACgeSlVrEhNvVPT7jSt39S7upI2NfVOw4lXS029Z8+enVXfzpw5M26//fasqffIkSM/4xkBUGqNdV2hr1qApqFev/6ped19991X+qMBoGyUKlakpt4HHHBANiUp2ZQe/+hHP8rm62rqnZqB9OvXL6666ipNvQHKPFa4gQFQQc331q5dG9dee23W/nu//fbbqDnEddddV6rjA6CZKlWs0NQboHyVKlboqxaggpJSr776avGO9WuvvVbqYwKgDIgVAOQVK9zAAKigpNTkyZNLfyQAlBWxAgCxAoCSJaW+9rWvbdbQqhMmTNiS3QJQRsQKAMQKAEqelOrUqdOWbA5ABRIrABArACh5UuqOO+7Yks0BqEBiBQBiBQCbo8VmbQUAAAAAJSQpBQAAAEDuJKUAAAAAyJ2kFAAAAAC5k5QCAAAAIHeSUgAAAADkTlIKAAAAgNxJSgEAAACQO0kpAAAAAHInKQUAAABA7lrl/5Lwifnz52dTXXr16pVNAAAAQPmRlKLR/OIXv4jRo0fXuX7UqFFxxRVX5HpMAAAAQD4kpWg03/nOd+L444+Pjz/+OA477LBs2XPPPRft27fPHquSAgAAgPIlKUWjqW6et3z58uKyfv36RYcOHXwqAAAAUOYkpQCAJkv/gwCIFVC+JKUAgCZL/4MAiBVQviSlAIAmS/+DAIgVUL4kpQCAJkv/gwCIFVC+WjT2AQAAAABQeSSlAAAAAMidpBQAAAAAuZOUAgAAACB3klIAAAAA5E5SCgAAAIDcSUoBAAAAkDtJKQAAAAByJykFAAAAQO4kpQAAAADInaQUAAAAALmTlAIAAAAgd5JSAAAAAOROUgoAAACA3ElKAQAAAJA7SSkAAAAAcicpBQAAAEDuJKUAAAAAyJ2kFAAAAAC5k5QCAAAAIHeSUgAAAADkTlIKAAAAgNxJSgEAAACQO0kpAAAAAHInKQUAAABA7iSlAAAAAMhdq2hkN998c/zsZz+L+fPnx9577x1jx46NQYMG1brtlClT4qijjtpo+cyZM2PPPffM4Wgr284XP9og+123akXxcd8fTooWbdpFQ/nTT49tsH0DAAAAzaRS6r777osLLrggLrvsspg+fXqWjBoyZEjMmTNnk8976623siRW9bTbbrvldswAAAAANPNKqeuuuy7OPPPMOOuss7L5VCX1+OOPx7hx4+Kaa66p83ndu3ePzp0753ikADQmVbXNh6paoLGIFQDNT6NVSq1atSpefvnlGDx4cI3laf6FF17Y5HMPOOCA6NWrVxx99NExefLkBj5SABqTqloAxAqA8tRolVKLFi2KtWvXRo8ePWosT/MLFiyo9TkpEXXrrbdG//79Y+XKlXHXXXdlianU19Thhx9e63PSdmmqtmTJkhKfCQANSVUtAGJFeVFVCzSZ0feqqqpqzBcKhY2WVdtjjz1i2LBhceCBB8bAgQOzEt1jjz02xowZU+f+UzPATp06FafevXuX/BwAaN5VtenmRbppsf4EQPOgBQZA89VoSantttsuWrZsuVFV1MKFCzeqntqUgw8+ON5+++06119yySWxePHi4jR37tzPdNwANI+q2gkTJsT999+f3dBIialnnnmmztdxAwOg+corVriBAVBGzffatGmTNcN78skn46tf/WpxeZo/4YQTNns/adS+FFTq0rZt22wCoPna0qraNFVLlbXphkSqqq2rqXe6gTFixIjifKqUUlkL0Lw0dKxINzBGjx5d4qMGqGyNOvpeugD41re+FQMGDMgCQbpbMWfOnBg+fHjxImHevHlx5513Fkfn23nnnWPvvffOynTvvvvu7O5GmgAoP6Wsqk0xoy5uYAA0X3nFCjcwAMosKXXyySfHX//617jyyitj/vz5sc8++8TEiRNjp512ytanZSlJVS0lokaOHJklqtq3b58lpx599NEYOnRoI54FAM29qhaA5ksLDIDmq1GTUsnZZ5+dTbUZP358jfmLLroomwCoHKpqARArAMpToyelAGBTVNUC8GnECoDmSVKqCViz7P1Yu+z9KKxeVVy26t0/RlXrNtnjllt3iVZbd2nEIwRoXKpqARArAMqPpFQTsOyVx2Lx8/fWWPbuPX9rptjp0H+Mzoed0ghHBgAAANAwJKWagK37DYn2fb5Y5/pUKQUAAABQTiSlmoDUNE/zPAAAAKCStGjsAwAAAACg8khKAQAAAJA7SSkAAAAAcqdPKQBoBtYsez/WLns/CqtXFZetevePUdW6TXFQDP0TAgDQnEhKAUAzsOyVx2Lx8/fWWPbuPRcVH3c69B+j82GnNMKRAdBUuIEBNDeSUgDQDGzdb0i07/PFOtenSikAKpsbGEBzIykFAM1AapqneR4Am+IGBtDcSEoBAACUATcwgObG6HsAAAAA5E5SCgAAAIDcSUoBAAAAkDtJKQAAAAByJykFAAAAQO4kpQAAAADInaQUAAAAALmTlAIAAAAgd63yf0n4xJpl78faZe9HYfWq4luy6t0/RlXrNtnjllt3iVZbd/F2AQAAQBmSlKLRLHvlsVj8/L01lr17z0XFx50O/cfofNgpjXBkADQVbmAAAJQvSSkazdb9hkT7Pl+sc32qlAKgsrmBAQBQviSlaLwvn+Z5AHwKNzAA+DSqaqH5kpQCAJosNzAA+DSqaqH5kpQCAACg2VJVC82XpBQAAADNlqpaaL5aNPYBAAAAAFB5JKUAAAAAyJ2kFAAAAAC5k5QCAAAAIHeSUgAAAADkTlIKAAAAgNxJSgEAAACQO0kpAAAAAHInKQUAAABA7iSlAAAAAMidpBQAAAAAuZOUAgAAACB3klIAAAAA5E5SCgAAAIDcSUoBAAAAkDtJKQAAAAByJykFAAAAQO4kpQAAAADInaQUAAAAALmTlAIAAAAgd5JSAAAAAOROUgoAAACA3ElKAQAAAJA7SSkAAAAAKi8pdfPNN8cuu+wS7dq1i/79+8ezzz67ye2ffvrpbLu0/a677hq33HJLbscKQOMQKwAQKwDKT6Mmpe6777644IIL4rLLLovp06fHoEGDYsiQITFnzpxat581a1YMHTo02y5tf+mll8b5558fEyZMyP3YAciHWAGAWAFQnho1KXXdddfFmWeeGWeddVb07ds3xo4dG717945x48bVun2qitpxxx2z7dL26XlnnHFGjBkzJvdjByAfYgUAYgVAeWrVWC+8atWqePnll+Piiy+usXzw4MHxwgsv1PqcF198MVu/vmOOOSZ+9atfxerVq6N169ab/fpr167Npg1VVVVFixZ/y9VtuE2LWFd8XMimFrWu29CG21bFuqjKedtk3Xrb1nb+62vZsuXfnrdu3SbPb/39VkUhm+reNh1hVaNsW33O6TNOn3X1uRUKde+3IbadP39+vPvuu8Vt03brb9uzZ8/o1atXrftN26V912X977Btt/x9+LS/jS3Ztvrv6JVXXonXX3+9zu/DXnvtFfvvv3+Nv7kt+fss5bZNjVghViRihVjR1GJbQ8SK9G+DNNV1DNX/NhArNiZWiBXZ353riuJvmesKsaJlM7quaLSk1KJFi7KT6NGjR43laX7BggW1Pictr237NWvWZPtb/yK+2sqVK7Op2uLFi7P//+Y3v4mtttpqo+233Xbb2GeffYrzzz//fI1/HPRd+8fi4+WFtvHHtV2L83u0WhCt6kjcfFxoE++s3e5v27ZcGG2q1tS67cpC6/jD2m7F+d1bvhdtq1bXuu2qQqt4a2334nyflouifdWqWrddEy1i5pqe2eMlS5bEjBkziu/HhtI/pA499NDi/GuvvVbj3Df06prti493bPlBdKr6uM5tX1/Ts5jE2qHFh7Fti4/q3Hbmmh6xJj754m/f4sPouolt31zTPVb//7/SPVssjm4tlm+0zaRJk7L/H3jggdGhQ4fs8ezZs+tsMpqM+M2H8XG0yR53a7E0erZYWue26fuQvhdJ16plsX3LJbVut2L2jJj+mwfi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aXjHOXPmxPDhw6OcLVu2LN55553i/KxZs7IL9dTp94477hjl2uH1PffcEw899FBss802xQq5Tp06Rfv27aOcXXrppTFkyJDo3bt3LF26NOtracqUKTFp0qQoV+kz3rC/sA4dOkTXrl0rph8xSkes+IRYIVaUG7GCUhIrPiFWiBXlZptyvK5o7OH/qOmmm24q7LTTToU2bdoUDjzwwIoYynPy5MmF9FXccDrttNMK5aq2803THXfcUSh3Z5xxRvE73q1bt8LRRx9deOKJJwqVprkP3UrjEivEinInVnxCrOCzECvEinInVpRHrKhK/2nsxBgAAAAAlUWfUgAAAADkTlIKAAAAgNxJSgEAAACQO0kpAAAAAHInKQUAAABA7iSlAAAAAMidpBQAAAAAuZOUAgAAACB3klIAAAAA5E5SCj7Ft7/97aiqqtpoeueddz7zezd+/Pjo3LmzzwCgmRMrABArYMu1qsdzoOJ8+ctfjjvuuKPGsm7dukVTsnr16mjdunVjHwZAxRIrABArYMuolILN0LZt2+jZs2eNqWXLlvHII49E//79o127drHrrrvG6NGjY82aNcXnXXfddbHvvvtGhw4donfv3nH22WfHsmXLsnVTpkyJ008/PRYvXlysvrriiiuydenxgw8+WOMYUkVVqqxK/vSnP2Xb/PrXv44jjzwye/277747W5eSZ3379s2W7bnnnnHzzTf7jAFyIFYAIFbAllEpBfX0+OOPx//5P/8nrr/++hg0aFD87//+b/zzP/9ztm7UqFHZ/1u0aJGt33nnnWPWrFlZUuqiiy7KEkWHHHJIjB07Nn70ox/FW2+9lW2/9dZbb9Ex/OAHP4h/+7d/yxJR6WLol7/8ZfbaN954YxxwwAExffr0GDZsWJYUO+2003zWADkTKwAQK2ATCsAmnXbaaYWWLVsWOnToUJy+/vWvFwYNGlS4+uqra2x71113FXr16lXnvn79618XunbtWpy/4447Cp06ddpou/Sn+cADD9RYlrZL2yezZs3Kthk7dmyNbXr37l245557aiy76qqrCgMHDvQpAzQgsQIAsQK2nEop2AxHHXVUjBs3rjifKo/69OkTv//97+MnP/lJcfnatWtjxYoV8dFHH8VWW20VkydPjquvvjreeOONWLJkSda0L61fvnx5to/PasCAAcXH7733XsydOzfOPPPMrDqqWnrNTp06+ZwBGphYAYBYAVtGUgo2Q3USan3r1q3L+pD62te+ttH2qT+n2bNnx9ChQ2P48OFx1VVXRZcuXeK5557LkkapU/JNSf1FfVIw9Te1PWf9xFY6niQ14fviF79YY7vU/xUADUusAECsgC0jKQX1dOCBB2Z9QW2YrKo2derUrEop9fmU+pZKUsfk62vTpk1WXbWhNLLf/Pnzi/Nvv/12Vn21KT169IjPfe5z8cc//jFOOeWUep4VAKUkVgAgVkDdJKWgnlIH5V/5yleyUfW+8Y1vZImnGTNmxKuvvho//vGP4/Of/3yWlLrhhhviuOOOi+effz5uueWWGvtIHaCn0fj++7//O/bff/+syV+avvSlL2WdlR988MFZBVTq0Lx169afekxp9L7zzz8/OnbsGEOGDImVK1dmybEPPvggRowY4bMGyJlYAYBYAZtQj36ooOI6rz3hhBNqXTdp0qTCIYccUmjfvn2hY8eOhS984QuFW2+9tbj+uuuuyzo+T+uPOeaYwp133pl1UP7BBx8Utxk+fHjW+XlaPmrUqGzZvHnzCoMHD846Vd9tt90KEydOrLWj8+nTp290TP/+7/9e6NevX6FNmzaFbbfdtnD44YcX7r///gZ4ZwCoJlYA8GnECthYVfrPppJWAAAAAFBqn3R0AwAAAAA5kpQCAAAAIHeSUgAAAADkTlIKAAAAgNxJSgEAAACQO0kpAAAAAHInKQUAAABA7iSlAAAAAMidpBQAAAAAuZOUAgAAACB3klIAAAAA5E5SCgAAAIDI2/8HeZ00pk4wHVcAAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Compare different nsamples values\n", "nsamples_values = [10, 50, 200]\n", "results_by_nsamples = {}\n", "\n", "for ns in nsamples_values:\n", " explainer = OTExplainer(model, data=X_train, nsamples=ns)\n", " results_by_nsamples[ns] = explainer(X_test)\n", "\n", "# Plot comparison\n", "fig, axes = plt.subplots(1, len(nsamples_values), figsize=(12, 4))\n", "for ax, ns in zip(axes, nsamples_values):\n", " phi = results_by_nsamples[ns][\"phi_X\"]\n", " se = results_by_nsamples[ns][\"se_X\"]\n", " \n", " ax.bar(range(n_features), phi, yerr=1.96*se, capsize=3)\n", " ax.set_xlabel(\"Feature\")\n", " ax.set_ylabel(\"Importance\")\n", " ax.set_title(f\"nsamples={ns}\")\n", " ax.axhline(y=0, color='gray', linestyle='--', alpha=0.5)\n", "\n", "plt.tight_layout()\n", "plt.show()" ] }, { "cell_type": "markdown", "id": "8ccc9e70", "metadata": { "papermill": { "duration": 0.001628, "end_time": "2026-02-12T05:43:31.026370", "exception": false, "start_time": "2026-02-12T05:43:31.024742", "status": "completed" }, "tags": [] }, "source": [ "**Key observation**: Higher `nsamples` gives smaller error bars (lower variance) but takes longer to compute." ] }, { "cell_type": "markdown", "id": "db4df2f5", "metadata": { "papermill": { "duration": 0.001524, "end_time": "2026-02-12T05:43:31.029749", "exception": false, "start_time": "2026-02-12T05:43:31.028225", "status": "completed" }, "tags": [] }, "source": [ "## Effect of sampling_method\n", "\n", "OTExplainer supports three sampling methods for counterfactual generation:" ] }, { "cell_type": "code", "execution_count": 6, "id": "51487042", "metadata": { "execution": { "iopub.execute_input": "2026-02-17T16:04:26.859282Z", "iopub.status.busy": "2026-02-17T16:04:26.859145Z", "iopub.status.idle": "2026-02-17T16:04:26.920943Z", "shell.execute_reply": "2026-02-17T16:04:26.920429Z" }, "papermill": { "duration": 0.011995, "end_time": "2026-02-12T05:43:31.043695", "exception": false, "start_time": "2026-02-12T05:43:31.031700", "status": "completed" }, "tags": [] }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Feature importance by sampling method:\n", "--------------------------------------------------\n", " Feature resample permutation normal\n", "--------------------------------------------------\n", " 0 1.3690 1.3081 1.3115\n", " 1 0.5196 0.5108 0.5431\n", " 2 0.0020 0.0020 0.0019\n", " 3 0.0003 0.0003 0.0003\n", " 4 0.0030 0.0029 0.0030\n" ] } ], "source": [ "# Compare sampling methods\n", "sampling_methods = [\"resample\", \"permutation\", \"normal\"]\n", "results_by_method = {}\n", "\n", "for method in sampling_methods:\n", " explainer = OTExplainer(\n", " model, \n", " data=X_train, \n", " nsamples=100,\n", " sampling_method=method\n", " )\n", " results_by_method[method] = explainer(X_test)\n", "\n", "# Compare results\n", "print(\"Feature importance by sampling method:\")\n", "print(\"-\" * 50)\n", "print(f\"{'Feature':>8}\", end=\"\")\n", "for method in sampling_methods:\n", " print(f\"{method:>12}\", end=\"\")\n", "print()\n", "print(\"-\" * 50)\n", "\n", "for i in range(n_features):\n", " print(f\"{i:>8}\", end=\"\")\n", " for method in sampling_methods:\n", " phi = results_by_method[method][\"phi_X\"][i]\n", " print(f\"{phi:>12.4f}\", end=\"\")\n", " print()" ] }, { "cell_type": "markdown", "id": "7f3e40a2", "metadata": { "papermill": { "duration": 0.001749, "end_time": "2026-02-12T05:43:31.047408", "exception": false, "start_time": "2026-02-12T05:43:31.045659", "status": "completed" }, "tags": [] }, "source": [ "**Sampling methods explained:**\n", "\n", "- `resample`: Sample from the background data (preserves marginal distribution)\n", "- `permutation`: Permute values within test set (no new values introduced)\n", "- `normal`: Sample from standard normal (strongest Gaussian assumption)" ] }, { "cell_type": "markdown", "id": "a506c2ce", "metadata": { "papermill": { "duration": 0.001681, "end_time": "2026-02-12T05:43:31.050909", "exception": false, "start_time": "2026-02-12T05:43:31.049228", "status": "completed" }, "tags": [] }, "source": [ "## Visualizing the Z-space Transformation\n", "\n", "Let's visualize how OTExplainer transforms correlated data to uncorrelated Z-space:" ] }, { "cell_type": "code", "execution_count": 7, "id": "fe9642eb", "metadata": { "execution": { "iopub.execute_input": "2026-02-17T16:04:26.922442Z", "iopub.status.busy": "2026-02-17T16:04:26.922331Z", "iopub.status.idle": "2026-02-17T16:04:27.067800Z", "shell.execute_reply": "2026-02-17T16:04:27.067219Z" }, "papermill": { "duration": 0.128911, "end_time": "2026-02-12T05:43:31.181421", "exception": false, "start_time": "2026-02-12T05:43:31.052510", "status": "completed" }, "tags": [] }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA94AAAGGCAYAAACNL1mYAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAAPYQAAD2EBqD+naQAA2HxJREFUeJzsvQmcZHV19n9q6are9+nZuodZQQYYkH1RBBEjUYOKuCRuiZgYJYnyZpGYVyWJQaNJ9B+XGOMralwJIS6oiCxCQGAYGEYYmH3pmellet+rqqvq/3lO8Stu3763tq69n29S9lT1rbpLNff8zvYcTzwejwshhBBCCCGEEEIKgrcwH0sIIYQQQgghhBA63oQQQgghhBBCSIFhxpsQQgghhBBCCCkgdLwJIYQQQgghhJACQsebEEIIIYQQQggpIHS8CSGEEEIIIYSQAkLHmxBCCCGEEEIIKSB0vAkhhBBCCCGEkAJCx5sQQgghhBBCCCkgdLxJ0fmDP/gDCQaD8pvf/GbR7z71qU+Jx+ORH//4x7Lcr9FrXvMaqUQ+8YlP6HeYCz/96U/1/U6sX79e3vOe90g18K//+q/ykpe8RP872LBhg9xyyy0SiUQyvrZuj+9973vJbZ999ln5wAc+IJdccok0NDTo7x944IFFnzk6Oiqtra3yP//zP3k/T0JI5ZHqHmMebvfp5cLY2Jh0dnYuuOdWEkuxp//wD//gaC9gX9zsTLUwNTUlH/rQh2TNmjVSW1sr55xzTlZ/A4ODg3rd8bdTX1+v9vnee+913PaXv/yl/h7bYXu8D++3gvc2NjbK8ePHl3xupEjECSky4+Pj8XXr1sVf+tKXxsPhcPL1Xbt2xQOBQPw973nPsv5OnnzyybjX641v3749Xol8/OMfj+d6a/ngBz/o+l5cl/3798crnb//+7+Pezye+M033xy///774//4j/+of/fve9/70r63t7c3/utf/3rR48wzz4zX1dXFR0dHk9vedttt8dWrV8d/+7d/O/76179eryv258QnPvGJ+ObNm+OhUCiv50oIqTyc7jF4PPTQQ/ENGzbo/eqxxx6LL2c+9KEPxc8666x4LBaLVyKnnHJK/N3vfndO721oaHB8L9Z2+DvBz2rl6quvjre2tsb/7d/+LX7ffffFb7jhBrWt3/72t9O+d25uTm11d3d3/D//8z/jv/jFL+LXXntt3O/3xx944IEF2+I5XsfvsR22X7t2rb4fn2PlyiuvjL/rXe/K+7mSwkDHm5SEe+65R52Pj33sY/ocDvjZZ58d7+npiY+NjS3rb+Utb3lL/OKLLy7qPrF4mJmZcfwdXs9mcVEox7saGBoaitfW1sb/8A//cMHrn/zkJ/W/h2effTbrzzx06JC+9x3veMeC16PRaPLft99+e0rHu7+/X418JosHQsjy5E/+5E/0PvKVr3wlvpwZHh7WQCecr2KSyhZPT0+X3PGudu666y79+//Od76zyBlfs2ZNfH5+PuX7v/jFL+r7H3nkkeRrkUgkvnXr1viFF164YNsLLrhAX8fvDQ8//LC+/0tf+tKCbf/rv/4r7vP54kePHl3iGZJiwFJzUhJe9apXyfvf/34tWdqxY4eWrT399NPyta99TVpaWtK+/7777pMrrrhCOjo6pK6uTtatWyfXXXedzMzM6O8PHz6sJU//+I//KJ/85Cf19ygLOv/88xeV9ezfv19+//d/X7Zs2aIlPWvXrpXXv/71jqXwKC/7P//n/8jGjRu1TLirq0t++7d/W55//vnkNuFwWP7+7/8+WUq8YsUK/fyTJ0+mPa+BgQG588475Z3vfGdO+x4ZGdHyYpxDIBDQbT/60Y9KKBRa8Fm4NjfeeKP827/9m5x++un6ed/4xjfktttu09/94he/0HJ3HDuuiXn/97///WTpMsqbfuu3fkueeuqptOeF97361a+W1atX6/eFfX7kIx+R6enp5DYoo/riF7+YPD7zwHfpVhp39OhRecc73qHXAueAz/2nf/onicViyW3M38JnP/tZ+ed//mct7cax4zweffRRKSY///nPZW5uTv8erOA5AqG5lHv/v//3//S9N9xww4LXvd7Mb+8rV66Uq6++Wv8eCCHEzre+9S1tkXnve98rf/iHf5j2AuEeDDt42mmn6T0f7Szbtm2Tz3/+84taZ2BD3vSmN0lzc7Paf9zT7fYyExtieOyxx9SGY30Au79p0yYtD7ayb98++d3f/d0FtsPYn3TATs7Pz8tb3/rWnPb9v//7v3LVVVdJU1OT2tdLL71U7rrrrkX7cLPFWPuceeaZ8uCDD+p78Tq2ARMTE/Lnf/7nauewBsBaAPt3uk5WYJewvkDpNL6D9vZ2tZE//OEPF2yHY8JnYb1gbDSOJ1Wp+Y9+9KNkyTTOGbbm17/+9YJtzN8CWqTe/va36zHALuG8xsfHpRzA2gxrh+uvv36R/T5x4oR+9+nej/8ecC0Mfr9f/94ff/zxZLk4fm7fvl3Xgfi9Ad/1qaeeqp9jBX9vOK6vfvWreTpTUkhe/EYJKTKf+cxn5O6775Y3v/nN0tvbq444bsjpgCP12te+Vl7+8per0wGDjhsVnBo4vbi5G77whS/IKaecIp/73Od0IQBH/JprrpFf/epXyZsfbpgwkugvh3GD8wqjctFFF+mCADdKMDk5KS972ct0/3/1V3+lv0e/D4xfX1+fOtrYx7XXXisPPfSQ/OVf/qXeKI8cOSIf//jH1Tg98cQTumhwA0YWvb5XXnnlgtcz2TcMJ9534MAB7RnGIgfHceutt8rOnTsXGXY4efj9xz72MVm1apUuQHCzBzB2uMZYbMHI1tTUaJDkb/7mb9TI4CeuNb5DfA8wGlu3bnU9LyxyECTAAgBOO4IFn/70p/V9CKKA//t//6/u67/+678WGGUstJzAwgzXF8fxd3/3d+qY/+QnP9FFB67Bl770pQXbY1GF64S/BbM/HNOhQ4fSBnuwyMoEn8+Xsr/9mWee0Z9nnXXWgtdxjujhMr/PFPy9YYG2efNmecUrXiFLAX+fN998swZ48N8UIYQA2ME/+qM/kgsuuCBj5xS2Fs4UbMXll1+udg33fdxf7LzxjW+Ut7zlLboGgOOFe/Pu3bvVkYHtydSGAKwp4IjAkUagFUF32E3YVgM+G7YDv0OgFvYP7/vTP/1TGRoaUnudCtjSl770pYvuk5nsG2sPrHNgn5FogNMPW4X3ffe7313kzDvZYgC7D4cN6wzYZgRakXiAHTh27Jj89V//te4D1xM2HokE9Ay72Sc49Fj7wH7CWYddxfYIiHz961+Xd73rXbodbPMrX/lKXWvgewIImLjxne98R37v935PgyY4P+wHfxuwN0iCYF1jBQkUXAMEeHDMsEkAa710ttAacHcD5w87nQuwz/hurc4wwHU2v8ffVar3Y71kx7wf3xWuvVkHmNft2z788MMLXkOAxQRv/vZv/zancyNFpCh5dUJcQMkO/gxXrVoVn5yczOg6oawG79m5c2fK8ltsg/Kf2dnZ5OsTExPx9vb2+Kte9SrX96JcCKXvW7ZsiX/4wx9Ovv63f/u3+pkok3fju9/9rm5zxx13LHgd/dpOJUJ2/viP/1hL2OzlZJnsG2Vv2OYHP/jBgtc//elP6+voEzLgeUtLS3xkZGTBtl//+tf1d/Z+IZQwoRQZpYZW8J3hu0N5fKal5jg3lE/96le/0u2efvrpjErN7aVxH/nIR3Rbe68hriFKr/fs2bPgbwH9eNZSsMcff1xfx3eWCvP+TB5updwG9HEHg0HH35166qnxV7/61fFs+NnPfqb7vfXWW1Nul67UHOBvC9vgMwkhBJw8eVLvvStWrMiqlPV1r3td/Jxzzkm5jbEVVjsL0PKC19HXmq0N2bRpkz6sdt/Ob/3Wb2mfrb0X+cYbb9RWILtdtFNfXx9///vfv+j1TPaNNrKurq4F6x3YJdP7a2y/my0Gr3jFK/R3995774LXYQec9GHMmumnP/1pxqXmOCZc4/e+972qx5NJqTnsi9XOoN0JazDYXmvrE84d1+DSSy9d9LcAzRMrH/jAB/Q7SdfuZt6f7oHzzhWsCfG3Y+fEiRP62f/wD/+Q8v01NTXxP/qjP1r0OkrPrSXs5u8f/fJ20KYGjQU7H/3oR/W7n5qayvKsSLFhqTkpGYhOonQNkVooNaLU3P57ZBrNIxqN6usohUKED+VuyEwfPHjQdR+I1qLcy4AyJ0SWkSk2n4fPRsQYGVt8LqKZ+IkI+3PPPZd8789+9jMt80GZvBvIuCIKjn1Yjx3HjKh6OrVPZN+RdbdHpTPZN6L+yASggsCKKc+2l9gjat3W1ub4WYg62yP5OA9Eva3nhWuLCHu688J3hLI+XANEmxG1Nxla6zXOBpwvvrMLL7xw0fkitmDNggBkDayRbhNNRkVCKqBeikqATB7nnXde2uNOlRHPVg0eGRP8veZD7R0VD4DqqIQQABv5tre9TTOoKPXu6elZdGGs9gCPRFxX9L4Mm47WJ9gPlEC7gYyoFWS/cV+7//77s7Ihe/fu1WonZEutdt8KKsNgC5FlR3Wc9diRUcfvU7UgIWOPzLK5Xxoy2Tcy1sjiw0ajNNiA80FZMa7znj17UtpiA2w3bLh9/YESdKw3rOeFlrBM1MZvv/12ueyyy/TYcP1xjWFjcrXROBesaXBu1tYnfD7OC9fZtAcafud3fmfBc9hpfCd2NW87WA9mYqPTTczB36/9bzqf9jub97tt6/Q6/h6xZu7v7097DKS0sNSclAz03KJsCaMYUNqFkiqURJtSbDyHY20wDh56plAChXKlD37wg2rM0MuMMrE/+7M/W7APGGk7eA1lVCjVRonxTTfdpOVzKOHGPmDQYCTQMzs7O7ugtBmlY+l6tGGY4bg7gTK2VGB/TkY7k30PDw/rudlvyrghw4ji91bcSridfofzAig1dCJVPzGuM8qrcF7o+UMAAQsetBcgMGK9xtmA80F5uZOjbH5vBe0EVlDiB9LtH98lFjKZkK6EDceARQQWG9aWCIAyv0wcd+vfEnrnEFBw+jvPFvN3l+v3QQipLlDGDCcVttre/mQwpc8GlCUjEIgSYQSC//M//1O1I3BvRMk5ysOhtWLFfv+CvcK90tzDM7Uhpi+8u7vb9ZzwmXCmEPTHI1s7bfZlt9OZ7BujG+HYOdleN7vlZqedXoedhmaN/TvJ5Lz++7//WwMe6F/+i7/4C/1O8D18+ctfTlvm7YY5F7fzhaOIa2K1hbnaadMul450zjFaAex/62hHw1rD+jdpt90AffGpyPT95hq4beu0H9rvyoGONykJ6LFC3xEyqOjnQR82Iq0QAkNvFEB/GATArNlqA4wwHojIo28aBhS9XxDjQITe4BT9w2twpkzEGQsDHAey3nYjZe3hQiYaEelUoE8XN030mzthPQe39z/55JOLXs9k39gvoukw7FbjgkgxFhr47Fwjr+a96L/Gd5UNyDwj6o2gibUP2anXLxtwvuhzs4N9WY95qaBHD0I1mYAMjRGaccL0dqN3DX361r9J/L0hW5Ep6PlDAMkuqpYrxvjn67oRQioX9OPCFsM+Q3TLDaMLYjD3SjhtCGrjgXs9guXoO0b2FQ6z1dnC/Q+9rQbYKzgdxgHJ1IbAToJUthKBdZNhRuDeiVT3e3NM5n6Z7b4RpM7GbmWT9cR7kbhwc5RT3duxDsJ5o7LB+tl2YdZsMNfK7XxxLdyq7rIFvc3QtkkH1i9GsNUJBL/tf9MmKAL7jf8u8Pdp7fM2Qrzp7Dfe7yTaa3+/+YnXUYVh39ZpP7TflQMdb1J0cNN697vfrUbAKJxefPHFaqBh6FGCBCccEUanjKYVGFA4MBDN+va3v61Oq9XxRhQXAmAmGgiRMpQawWk32UkYGRNVNUCkAiW3EK0yQJQNwQIsAuwlXobXve51msFHQMDqWGUKzgM3dqh4WgW/Mtk3VFJ/8IMfqGgayugM3/zmN5O/zxUslmBoUErnVvrmhjHi9mv8la98ZdG21uh2KhE6cz4QjsN3fu655y44X+zTLUOTLabUPBOMEJ8br3nNa/RvEYJo1r8Po2D7hje8IePjQgkgjg1/G/nAtGykEskjhFQ/u3bt0oAeFvi4z6TCnr12AgFslFfDpiJADsfHep+B7bZW+8COYZ1ggpiZ2hBkwlERB8cT6wn79gAOP2wDBONQxuxWneaGmRYCW5jtvlEBgPs+1iWoIjA2DplfOL7IluNzcgXrDyQQ4PBmGiw24Brj3KxONwIidlVzgHPLpDIK9hABFQisQbTNfDaqFO+4446k0nk+QKk5zj8dTt+LPTni9jeNdRWUw3HsVhE8VGbCFqdb8+H9aL1AgsRsi79zfPd4bhx8XDO0auB1XDezVkVpPsr37Sr5xn7je0fyiZQ3dLxJ0YGzhCw1+patGWUoU8Mptpec20HZGhxQlNii/BqluybCa++Bxg0LCqIwhDBuKHNDr5k1MoqbNRwfOL0wxBhvBmfdXjKGmx2iwVAtxxgT3BhhfFCahM+AMYfTj0UEopQoe8c2KPtCFBzZULzX6hTbwUIDGWvcmKECms2+kbVHyTyCGljYILqKsSUwxDieVP3h6UAABBFlVCTgBg8HEpFqlLZBVRYLCrdoM9Q2sS0Ua9FSgOuBa2Tv6bdmhPE9waHE9+e2OPrwhz+sTjb+DnBsiGQjYAKF2D/+4z9e0gLGCvadyeIyE1AiBpVfqMHi3/iO4dSjugMLXetiFOeG/xbwt20UZQ34+4ACKjJIbuXtKGf/6U9/qv82PYv4e0FmHd+X3WHHNjDcdsV1QsjyAaW/CAAi04n2K6cMncnwwtF0AzoncNxx78S20NLARAncpzG60wocUQR2YauNqvnZZ5+tpc/Z2hDYQOwbwXzYCKwRMHYSfeZ4D0DAH2raCMDDVsC+ISiPMm2sQez6IE52GuuXXPaN9Q/OEzYbThXsC2wWlKwRdM9W58MK1glwClHSj/3DdmLdg2OAsjoqF9ycQ6wj8D3AMTSTZrAmQ5k49G6swEag+gDXCr+Hs+oUdEZGGy2B6OHH50MZH39XWF+hWgGTZPIFnFbjuBYK2Ex8d/ibwToSiRl8Z6hwhJNstcXo9YdDjgCNqRKEPcffCMr5ce4ojcd3D2caFSFWsAbCvrAtvhNULmLth/+m7ONIjf1GNchS/n5IkSi6nBtZ1kCJHMqOUHd2AiqOUGa0q5zat3njG9+o6pRQiO7o6FCVzx/96EeLlKih6H3LLbeoWiiUIKHOeffddy/4vNHRUVXuhMom1Epf9rKXxR966CH9TDzs2/7Zn/1ZfN26dXoeeM9rX/va+PPPP5/cBkqgn/3sZ+Nnn322qnE2NjbGX/KSl6ia5b59+1JeHyh/rl+/XpU87WSy7+HhYVVbXb16taqQ4xrdfPPN8bm5uQWfhWsDBXE7RknVropq+J//+Z/4lVdeGW9ubtZrj89/85vfHP/lL3+ZUtUcqp2XXHKJXl+o495www3xJ598UrfDPg2hUEh/h22gTI7f47t0U2E9cuRI/Hd/93f1bwDX5LTTTot/5jOfWaCgav4W8LodvI7jLTaf//znVcUcf5P4PnEMUNJ3+i6s18eA/35wfQ4cOJCTGrtd2RWKsXjNrlpPCFleGGXqdI9Uitjgn/7pn1S1urOzM3mfg509fPjwIluxY8eO+Otf/3q1lU1NTfG3v/3t8YGBgZxsiFkjXHPNNTq5A3YKSuP2NQXuj3/wB38QX7t2rdoOfCaO9+///u/TXiOoiWO/mIxhJ5N9Y33xyle+UtXBMcUESuc//vGPM7bFWJecccYZjscGVeu/+Zu/UVuI647jgKo4jqG/vz+5nZM9/dSnPqXrDxz36aefHv/qV7/qaM+xjrvsssv0u8DvzDrJrmpuXTdcdNFFuh7COV911VXxhx9+eME2Zj9Q0Xe6DmYdUGqgyP6nf/qnOs0F13fbtm2Ok1FwbZ2OG98BlOoxXQfXA9+927QaTKLB77Edtsf77P9dgP379ztO0yHliQf/Uywnn5BiYfpyEVlFVLmSwFzRT37yk1qWl67cmpB8AAElZN+RbULlByGEFBpU+qBSCsJklaYtgWwyWuIgPkZIKUGFCCrkkF23zxgn5QfHiRFSZkDwBf3dKEkipBhAKRhlcHS6CSEkPSihRotaOtFTQgoJSvaxVkRLIZ3uyoCONyFlBsS3oFidTgSEkHz1dKI3DFUWhBBC0gOdE1TUYdQUIaUCf38Y3YcZ96QyYKk5IYQQQgghhBBSQJjxJoQQQgghhBBCCkjFON4QsICYRXNzsz4w/89pnAMhhBBCCCGEEFJOVEypOeYFYkYe5uYBzMdDf81TTz0lZ5xxRqkPjxBCCCGEEEIIqWzH24n29nZ1vjGoPhNisZicOHFCmpqaOGSeEEJI2QLTPDk5KWvWrBGvt2KK0/IG7TUhhJBqs9cVOfAtGo3K7bffLtPT01py7kYoFNKHAXORt27dWqSjJIQQQpZGb2+vdHd3L7vLiCB5T09PqQ+DEEIIyZu9rijH+ze/+Y062nNzc9LY2Ch33nlnSkf61ltvlVtuucXxwqBPnBBCCClHJiYm1PFEhdZyxJw37TUhhJBqsdcVVWoeDofl6NGjOjD+jjvukP/4j/+QX/3qV67Otz3jbS7M+Pg4HW9CCCFlC+xVS0vLsrVXy/38CSGEVJ+9qqiMdyAQSIqrnX/++bJ9+3b5/Oc/L1/5ylcctw8Gg/oghBBCCCGEEEJKRUUrtiBZb81oE0IIIYQQQggh5UbFZLz/+q//Wq655hotFYdy3Pe+9z154IEH5Oc//3mpD40QQgghhBBCCKl8x3tgYEDe+c53Sl9fn9bRb9u2TZ3uq6++utSHRgghhBBCCCGEVL7j/bWvfa3Uh0AIIYQQQgghhCyvHm9CCCGEEEIIIaTcoeNNCCGEEEIIIYQUEDrehBBCCCGEEEJIAamYHm9CCMmEvvFZGZ2OSFtDjaxuqeNFI4QQUtbQbhGyPKDjTQipGh7ad1J+/PQJmZqbl8Zav7z+7DXy8i0rSn1YhBBCiCO0W4QsH1hqTgipmowBnO54XGTjikb9ied4nRBCCCk3aLcIWV7Q8SaEVAUoL0eme2Vzrfi8Hv2J53idEEIIKTdotwhZXtDxJoRUBejpRnn5wMScRGNx/YnneJ0QQggpN2i3CFle0PEmhFQFEFJDT7fHI3Lw5JT+xHMKrBFCCClHaLcIWV5QXI0QUjVASG1zVyNVzQkhhFQEtFuELB/oeBNCqi6DwCw3IYSQSoF2i5DlAUvNCSGEEEIIIYSQAkLHmxBCCCGEEEIIKSB0vAkhhBBCCCGEkAJCx5sQQgghhBBCCCkgdLwJIYQQkle+/OUvy7Zt26S5uVkfl1xyifzsZz/jVSaEELJsoeNNCCGEkLzS3d0tn/rUp+SJJ57Qxytf+Uq59tpr5dlnn+WVJoQQsizhODFCCCGE5JXXv/71C55/8pOf1Cz4o48+KmeccQavNiGEkGUHHW9CCCGEFIxoNCq33367TE9Pa8m5E6FQSB+GiYkJfiOEEEKqCpaaE0IIISTv/OY3v5HGxkYJBoPy/ve/X+68807ZunWr47a33nqrtLS0JB89PT38RgghhFQVdLwJIYQQkndOO+002blzp5aX//Ef/7G8+93vlt27dztue/PNN8v4+Hjy0dvby2+EEEJIVcFSc0IIIYTknUAgIJs3b9Z/n3/++bJ9+3b5/Oc/L1/5ylcWbYusOB6EEEJItcKMNyGEEEIKTjweX9DHTQghhCwnmPEmhBBCSF7567/+a7nmmmu0V3tyclK+973vyQMPPCA///nPeaUJIYQsS+h4E0IIISSvDAwMyDvf+U7p6+tTsbRt27ap03311VfzShNCCFmW0PEmhBBCSF752te+xitKCCGEWGCPNyGEEEIIIYQQUkDoeBNCCCGEEEIIIQWEjjchhBBCCCGEEFJA6HgTQgghhBBCCCEFhI43IYQQQgghhBBSQOh4E0IIIYQQQgghBYTjxAghRET6xmdldDoibQ01srqljteEEEIIIYTkDTrehJBlz0P7TsqPnz4hU3Pz0ljrl9efvUZevmXFsr8uhBBCCCEkP7DUnBAiyz3TDac7HhfZuKJRf+I5XieEEEIIISQf0PEmhCxrUF6OTPfK5lrxeT36E8/xOiGEEEIIIcvK8b711lvlggsukKamJunq6pI3vOENsmfPnlIfFiGkwkFPN8rLBybmJBqL6088x+uEEEIIIYQsK8f7V7/6lXzwgx+URx99VO655x6Zn5+XV7/61TI9PV3qQyOElAkoD999YiKrMnEIqaGn2+MROXhySn/iOQXWCCGkePdiQgipdipGXO3nP//5gudf//rXNfO9Y8cOufzyy0t2XISQyhdIw3abuxqXrGpOZXRCyHKHYpWEEFLhjred8fFx/dne3l7qQyGEFBEn59YukIZycTyHM52pE43tlpLl5mKTELLcyce9mBBCqpWKdLzj8bjcdNNN8rKXvUzOPPNM1+1CoZA+DBMTE0U6QkJIIXBzbo1AGhZ6RiANZeN4vRiLPS42CSFESn4vJoSQcqZieryt3HjjjbJr1y757ne/m1aQraWlJfno6ekp2jESQoo39qvUAmlURieEEIpVEkJIVTnef/InfyI/+tGP5P7775fu7u6U2958881akm4evb29RTtOQkjxnNtSC6Rl6/gb4aGne0cpQEQIqRpKfS8mhJByxl9J5eVwuu+880554IEHZMOGDWnfEwwG9UEIqXyszi2cbrtzmy+BtKUsNpGBx2LT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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Create explainer and access internal matrices\n", "explainer = OTExplainer(model, data=X_train, nsamples=50)\n", "\n", "# Transform to Z-space\n", "Z_train = (X_train - explainer.mean) @ explainer.L_inv\n", "\n", "# Plot X-space vs Z-space\n", "fig, axes = plt.subplots(1, 2, figsize=(10, 4))\n", "\n", "# X-space (correlated)\n", "axes[0].scatter(X_train[:, 0], X_train[:, 1], alpha=0.5, s=10)\n", "axes[0].set_xlabel(\"X₀\")\n", "axes[0].set_ylabel(\"X₁\")\n", "axes[0].set_title(f\"X-space (correlation = {np.corrcoef(X_train[:, 0], X_train[:, 1])[0, 1]:.2f})\")\n", "axes[0].axis('equal')\n", "\n", "# Z-space (uncorrelated)\n", "axes[1].scatter(Z_train[:, 0], Z_train[:, 1], alpha=0.5, s=10)\n", "axes[1].set_xlabel(\"Z₀\")\n", "axes[1].set_ylabel(\"Z₁\")\n", "axes[1].set_title(f\"Z-space (correlation = {np.corrcoef(Z_train[:, 0], Z_train[:, 1])[0, 1]:.2f})\")\n", "axes[1].axis('equal')\n", "\n", "plt.tight_layout()\n", "plt.show()" ] }, { "cell_type": "markdown", "id": "c5532f3f", "metadata": {}, "source": [ "## Shared Diagnostics and Summary\n", "\n", "Use the built-in diagnostics and `summary()` methods for consistent reporting\n", "across OT/EOT/Flow explainers.\n" ] }, { "cell_type": "code", "execution_count": 8, "id": "866ce1ea", "metadata": { "execution": { "iopub.execute_input": "2026-02-17T16:04:27.069296Z", "iopub.status.busy": "2026-02-17T16:04:27.069193Z", "iopub.status.idle": "2026-02-17T16:04:27.074610Z", "shell.execute_reply": "2026-02-17T16:04:27.073931Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "OT diagnostics\n", "--------------------------------------------------\n", "Latent independence (median dCor): 0.066532 [GOOD]\n", "Distribution fidelity (MMD): 0.000000 [GOOD]\n", "\n", "X-space summary\n", "==============================================================================\n", "Feature Importance Results\n", "==============================================================================\n", "Method: OTExplainer\n", "Number of features: 5\n", "Significance level: 0.05\n", "Alternative: greater\n", "Margin method: gap\n", "Practical margin: 0.0031\n", "------------------------------------------------------------------------------\n", " Feature Estimate Std Err CI Lower CI Upper P-value Sig\n", "------------------------------------------------------------------------------\n", " 0 1.3843 0.5065 0.5511 inf 0.0032 ***\n", " 1 0.5322 0.1313 0.3163 inf 0.0000 ***\n", " 2 0.0020 0.0026 -0.0023 inf 0.6592 \n", " 3 0.0003 0.0026 -0.0039 inf 0.8615 \n", " 4 0.0031 0.0027 -0.0013 inf 0.5000 \n", "==============================================================================\n", "Significant features: 2 / 5\n", "---\n", "Signif. codes: 0 '***' 0.01 '**' 0.05 '*' 0.1 ' ' 1\n", "==============================================================================\n" ] } ], "source": [ "_ = explainer(X_test)\n", "diag = explainer.diagnostics\n", "print(\"OT diagnostics\")\n", "print(\"-\" * 50)\n", "print(f\"Latent independence (median dCor): {diag['latent_independence_median']:.6f} [{diag['latent_independence_label']}]\")\n", "print(f\"Distribution fidelity (MMD): {diag['distribution_fidelity_mmd']:.6f} [{diag['distribution_fidelity_label']}]\")\n", "\n", "print(\"\\nX-space summary\")\n", "_ = explainer.summary(alpha=0.05, target='X', alternative='greater')\n" ] }, { "cell_type": "markdown", "id": "97247a77", "metadata": { "papermill": { "duration": 0.001894, "end_time": "2026-02-12T05:43:31.185570", "exception": false, "start_time": "2026-02-12T05:43:31.183676", "status": "completed" }, "tags": [] }, "source": [ "## Best Practices\n", "\n", "### When to use OTExplainer\n", "\n", "✅ **Good for:**\n", "- Continuous features\n", "- Roughly Gaussian data\n", "- Fast computation\n", "- Stable results\n", "\n", "❌ **Consider EOTExplainer for:**\n", "- Heavily non-Gaussian data\n", "- Multimodal distributions\n", "- Mixed categorical/continuous features\n", "\n", "### Recommended settings\n", "\n", "```python\n", "explainer = OTExplainer(\n", " model,\n", " data=X_train,\n", " nsamples=50, # Good balance of speed/accuracy\n", " sampling_method=\"resample\", # Preserves marginal distribution\n", ")\n", "```" ] }, { "cell_type": "markdown", "id": "4fd67813", "metadata": { "papermill": { "duration": 0.001946, "end_time": "2026-02-12T05:43:31.189580", "exception": false, "start_time": "2026-02-12T05:43:31.187634", "status": "completed" }, "tags": [] }, "source": [ "## Summary\n", "\n", "Key takeaways:\n", "\n", "1. OTExplainer uses Gaussian OT to disentangle correlated features.\n", "2. Higher `nsamples` reduces variance at the cost of computation time.\n", "3. `sampling_method=\"resample\"` is recommended for most cases.\n", "4. The transformation to Z-space removes correlations for clean attribution.\n", "5. Shared diagnostics and `summary()` provide standardized inference reporting.\n" ] } ], "metadata": { "kernelspec": { "display_name": "dfi", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.10.19" }, "papermill": { "default_parameters": {}, "duration": 2.254231, "end_time": "2026-02-12T05:43:31.408797", "environment_variables": {}, "exception": null, "input_path": "docs/tutorials/ot_explainer.ipynb", "output_path": "docs/tutorials/ot_explainer.ipynb", "parameters": {}, "start_time": "2026-02-12T05:43:29.154566", "version": "2.6.0" } }, "nbformat": 4, "nbformat_minor": 5 }