Files
optimiz-rs/examples/notebooks/16_robust_drift.ipynb
T
ThotDjehuty d8682f61e5 release(v2.0.0-alpha.2): PyO3 bindings + executed companion notebooks + Sphinx RST with inline plots
PyO3 abi3 bindings for the 13 v2.0.0 functions across 8 module groups:
  bsde, pde, stochastic_control, optimal_control::quadratic_impact_control,
  mean_field::mckean_vlasov, agent_based, inference, optimization.

8 executed companion notebooks under examples/notebooks/10_bsde.ipynb …
17_generative_calibration.ipynb (cell outputs and matplotlib figures
preserved as proof-of-work; verified against analytic ground truths).

8 Sphinx RST pages under docs/source/algorithms/{bsde,pde,stochastic_control,
quadratic_impact_control,mckean_vlasov,agent_based,robust_drift,
generative_calibration_hooks}.rst with .. math:: derivations and inline
.. image:: directives placed immediately after each .. code-block:: python
so each plot appears directly under the code that produced it.

18 PNG plot assets under docs/source/_static/v2/<group>/.

index.rst extended with a new 'v2.0 Generic Stochastic Control & PDE'
toctree caption.

Forbidden-vocabulary audit on new src/, docs/source/algorithms/ and
binding files: zero matches.

All previously stable APIs untouched; v2.0.0 is additive at the binding
level — no v1.x function signature was changed.
2026-05-12 12:18:14 +02:00

218 lines
92 KiB
Plaintext

{
"cells": [
{
"cell_type": "markdown",
"id": "7608f93c",
"metadata": {},
"source": [
"# 16 — Robust drift estimation"
]
},
{
"cell_type": "code",
"execution_count": 1,
"id": "5281ce54",
"metadata": {
"execution": {
"iopub.execute_input": "2026-05-12T10:16:20.462286Z",
"iopub.status.busy": "2026-05-12T10:16:20.461994Z",
"iopub.status.idle": "2026-05-12T10:16:21.152375Z",
"shell.execute_reply": "2026-05-12T10:16:21.150556Z"
}
},
"outputs": [],
"source": [
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"from optimizr import _core as opt\n",
"plt.rcParams['figure.figsize'] = (7, 4)\n",
"plt.rcParams['figure.dpi'] = 110\n"
]
},
{
"cell_type": "markdown",
"id": "c351399a",
"metadata": {},
"source": [
"## Synthetic stationary process with 5 % outliers"
]
},
{
"cell_type": "code",
"execution_count": 2,
"id": "08c7105d",
"metadata": {
"execution": {
"iopub.execute_input": "2026-05-12T10:16:21.156097Z",
"iopub.status.busy": "2026-05-12T10:16:21.155724Z",
"iopub.status.idle": "2026-05-12T10:16:21.211614Z",
"shell.execute_reply": "2026-05-12T10:16:21.210552Z"
}
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"observation length = 5001\n"
]
}
],
"source": [
"rng = np.random.default_rng(7)\n",
"true_a, true_b = 1.0, -0.5\n",
"dt, n = 0.01, 5000\n",
"x = [0.0]\n",
"for k in range(n):\n",
" if k % 20 == 0:\n",
" eps = rng.uniform(-2.0, 2.0)\n",
" else:\n",
" eps = rng.uniform(-0.1, 0.1)\n",
" x.append(x[-1] + (true_a + true_b * x[-1]) * dt + eps * np.sqrt(dt))\n",
"x = np.array(x)\n",
"print('observation length =', len(x))\n"
]
},
{
"cell_type": "code",
"execution_count": 3,
"id": "4fc130d8",
"metadata": {
"execution": {
"iopub.execute_input": "2026-05-12T10:16:21.214664Z",
"iopub.status.busy": "2026-05-12T10:16:21.214284Z",
"iopub.status.idle": "2026-05-12T10:16:21.507788Z",
"shell.execute_reply": "2026-05-12T10:16:21.506501Z"
}
},
"outputs": [
{
"data": {
"image/png": "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arMlNx393lx//fXgeR5Lly5FfX29fnldXR3efPNNyGQyTJs2za7Xas7cOaV79+4IDg52OEWT+DbqsSekmXfeeQdbt27FNddcgwEDBiAyMhKlpaVYu3Yttm/fjp49e5r0LALiQL1bbrkFhYWFuO+++xAaGtqqdkRHRyMjIwOrV69G586dER8fj+DgYFx77bUOv9YTTzyBzZs3Y968efjjjz8wYcIEREVFITc3F7t27cKFCxf0+aMA9OkgS5YsQUpKCjiOw6233mr2taV68GPHjsXw4cNxzz33oE+fPqitrcWePXvQqVMnLFmyxGLbvvrqKyxbtgzXX389OnfujKCgIBw4cACffvop+vTpo58R8sYbb8T999+PTz75BIcPH8b111+PDh06ID8/HwcOHMC6detaNJBV4sjrP/DAA7h8+TImTJiAtLQ0aDQarFmzBsePH8ejjz5q1/bGjRuHBQsW4MSJE0aBYFZWFsLCwnDixAkMHz7crgGegwYNAs/zWLhwISoqKhAcHIz09HQMHjy4ZTujlQYOHIjXXnsNL774Inr27InbbrsNSUlJKC4uxtGjR/HLL7/gxIkTSEtLw/Dhw5GQkIBnnnkGFy5cQFpaGk6ePIlPPvkEvXr1woEDB0xeX0rNWLBgAd544w2kp6dj1KhRFtvTmu/mkCFDAABz5szBHXfcgYCAAPTs2RM9e/bETTfdhDlz5mDixImYMWMG6urq8NNPPxnVYXdUUFAQVq5ciWnTpqF79+64++67kZmZierqapw/fx4//vgjFi9erE9Befvtt5GdnY3Ro0fjkUceQXJyMjZu3IhDhw4hJiamxe1wJZlMhg8//BDXXXcdBg0ahIceeghxcXH47bffsG7dOkycONFsx8js2bNxzz334JlnnkFwcDBmzJhh9HhoaCgmTZqEVatWQaFQYPDgwSgoKMCKFSsQHx9v8no9evRAaGgoli9fjqCgIERERCAuLs7iYPWMjAy88MILePXVVzFkyBDccccdYIzhv//9L44ePYqFCxe2eObniRMnIjQ0FNnZ2UhJSUFdXR1Wr16NyspKfdonIXZxQyUeQjzanj172LPPPsuysrJYfHw8k8vlLDQ0lA0YMIAtWLDApF63pLGxkcXHxzMAbN++fWbXMVezmjHLpS337t3Lhg0bxoKCghgAozKTsFCS0lIJN41Gw5YvX84G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",
"text/plain": [
"<Figure size 770x440 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"fig, ax = plt.subplots()\n",
"ax.plot(x, lw=0.6)\n",
"ax.axhline(true_a / -true_b, color='red', ls='--', label='OU level a/(-b) = 2')\n",
"ax.set_xlabel('k'); ax.set_ylabel('x_k'); ax.legend(); ax.grid(alpha=0.3)\n",
"ax.set_title('Synthetic series with heavy-tailed innovations')\n",
"fig.tight_layout(); plt.show()\n"
]
},
{
"cell_type": "code",
"execution_count": 4,
"id": "9ce9d2b4",
"metadata": {
"execution": {
"iopub.execute_input": "2026-05-12T10:16:21.510592Z",
"iopub.status.busy": "2026-05-12T10:16:21.510324Z",
"iopub.status.idle": "2026-05-12T10:16:21.518890Z",
"shell.execute_reply": "2026-05-12T10:16:21.516422Z"
}
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"a (true 1.0) -> 0.9402\n",
"b (true -0.5) -> -0.4721\n",
"IRLS iterations = 5\n"
]
}
],
"source": [
"res = opt.robust_drift(x.tolist(), dt=dt)\n",
"print(f'a (true 1.0) -> {res[\"a\"]:.4f}')\n",
"print(f'b (true -0.5) -> {res[\"b\"]:.4f}')\n",
"print('IRLS iterations =', res['iterations'])\n"
]
},
{
"cell_type": "code",
"execution_count": 5,
"id": "55e42e3b",
"metadata": {
"execution": {
"iopub.execute_input": "2026-05-12T10:16:21.521983Z",
"iopub.status.busy": "2026-05-12T10:16:21.521704Z",
"iopub.status.idle": "2026-05-12T10:16:21.755541Z",
"shell.execute_reply": "2026-05-12T10:16:21.754070Z"
}
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"OLS a, b = [ 1.00031819 -0.51377951]\n"
]
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAvYAAAGtCAYAAAB9QDCJAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8fJSN1AAAACXBIWXMAABDrAAAQ6wFQlOh8AABE6ElEQVR4nO3deXhTZf738U+a0oWuoa1QUHaEAhUQqcDosIOoYEVkUbQVi1YGZFFQ8AcUGRZHROY3qAzKA7Ipi4VxAYSyOIOAODqOChQFlbVKKV1AaKHpef7wIQ8hbWmxSdrD+3VdXJo75z7nmybf5tPTO6cWwzAMAQAAAKjSfLxdAAAAAIDfj2APAAAAmADBHgAAADABgj0AAABgAgR7AAAAwAQI9gAAAIAJEOwBAAAAEyDYAwAAACZAsAcAAABMgGAPAAAAmADBHkCltn37dlksFi1evNjbpcBNUlJSZLFY9NNPP5V5Tv369dW5c2eX8TVr1qhVq1YKDAyUxWLR9u3bK6xOd0pMTJTFYvF2GQCqOII9gN/tUvi+/F/16tUVGxurF198UefPn/d2ib/L9u3blZKSopycHG+XUqKLFy9qwYIF6tSpkyIiIuTv76+bbrpJgwcP1meffVbsnM6dO8vX17dM+//00091//33q2HDhgoICFBUVJRatWqlJ598Uv/5z38q8qFcs++++06DBw9WWFiY5s2bp6VLlyomJkaLFy/W3LlzvV2e5s6dW+l/QP3qq6+UkpJSrh+yAFQeZfuODgBl0L9/f913332SpMzMTK1atUpTpkzRzp07tXHjRi9Xd+22b9+uqVOnKjExUeHh4d4ux8WpU6fUp08f7d69W3fccYcmTJggm82mgwcPasmSJXr33Xf14osvatKkSde0/7///e9KTk5WrVq19Oijj6px48bKycnRd999p48++khNmjRRmzZtKvhRle7AgQMuZ7i3b9+uwsJCzZ07V7feeqtjfPHixfrpp580evRoj9Z4pblz56p+/fpKTEx0ue/NN9/U/PnzPV/UFb766itNnTpVnTt3Vv369b1dDoByItgDqDCtWrXSkCFDHLeffvppxcXF6eOPP9YXX3yhtm3berE68xo4cKB2796t2bNn65lnnnG6b+LEibr33ns1efJk1a9fX4888ki59l1YWKgJEyYoODhYn3/+uW688Uan+4uKipSVlfW7H0NZXLhwQUVFRQoICJC/v7/L/T///LMkqUaNGh6ppyJVq1ZN1apV83YZAKo4luIAcBur1aouXbpIkr7//nun+44fP66kpCTVqVNHfn5+uvHGG/XEE08oIyOjxP298cYbiomJUUBAgOrXr6+UlBQVFhY6bVPamUaLxeJytnT58uXq0KGDatSoocDAQNWtW1f9+vXTvn37HPubOnWqJKlBgwaOpUYpKSkl1vnWW2/JYrFo+fLlxd7fvXt3BQUFKS8vT5J07NgxPfHEE2rQoIECAgIUGRmptm3basaMGSUe45L169dr69atuu+++1xCvSSFhITo3XffVWBgoCZMmKCLFy9edZ+XO3XqlLKzs9W0aVOXUC9JPj4+ioqKKtO+zpw5o1GjRik6OlqBgYG69dZbtXr16mK3vbTmPCsrS0888YRjzu7duyU5r7H/6aefZLFYNGXKFEn//3mqX7++LBaLPvnkEx0+fNhpqVhZ1t4fOnRIiYmJql27tuM1Onz4cJ06dcppu+zsbI0bN05NmjRRYGCgbDabYmNjHb8huFTf4cOH9cknnzjVcWnJS3Fr7C+NnT59WklJSbrhhhsUHBysnj17Ovrp/fffV7t27VS9enXVqVNHM2fOdHkce/bs0dChQ9W0aVMFBQUpKChI7dq106JFi1yO99hjj0mSunTp4qjx8p4xDENvvvmm4uLiHPvq2LGj1q1bd9WvJwD344w9ALc6dOiQJCkiIsIxdvz4cbVr104nT55UUlKSWrVqpf/+97968803tXHjRn3++eeqWbOm037mzZunY8eOKTk5WTVq1NA//vEPTZ06VYcOHdLSpUuvqbbly5dryJAh+sMf/qApU6YoODhYx48f19atW3XgwAE1b95cL7zwgmrUqKG1a9fq1VdfVWRkpCTplltuKXG/AwYM0KhRo7R48WI9/PDDTvcdPXpU27Zt00MPPaTQ0FAVFhaqR48eOnr0qJ566ik1a9ZMZ8+eVXp6urZu3aqJEyeW+hguBeOnnnqqxG2io6MVHx+vd955R7t27dIf//jHsn6JVLNmTQUHB2vv3r3auXOnOnbsWOa5lyssLFTv3r0da/W7deumI0eOaOjQobr55ptLnNe9e3dFRETo+eefV1FRkWrVquWyTVRUlJYuXarU1FSn5yk4OFhnz57V9OnTderUKb366quOOTExMaXW+9VXX6lz586qXr26hg4dqnr16un777/XG2+8oS1btmjPnj0KCwuT9NvzvW3bNj3xxBNq3bq1Lly4oEOHDiktLc2pvjFjxigyMlIvvPCCU+1Xc9ddd6lmzZqaMmWKTpw4oTlz5qhnz56aNm2annnmGSUnJ+uxxx7Tu+++q4kTJ6p+/foaPHiwY/7atWv17bffqn///qpXr55yc3O1atUqDR06VJmZmRo/frwk6cknn5S/v78WLFigiRMnOr5GjRo1cuzrscce05IlS3Tfffc5Xtupqam6//779cYbbyg5OfmqjweAGxkA8Dtt27bNkGRMmDDByMzMNDIzM419+/YZkyZNMiQZ9erVMwoKChzbP/LII4YkY/ny5U77efvttw1JxuOPP+6y7+rVqxs//fSTY9xutxvx8fGGJGPbtm2O8U6dOhn16tUrtk5JRkJCguP2/fffb4SEhBgXLlwo9fFNmTLFkGT8+OOPV/9i/D9DhgwxfHx8jCNHjjiNT5s2zZBkbNmyxTAMw/jvf/9rSDJmzZpV5n1frm3btoYkIysrq9TtZs+ebUgy/va3vznGOnXqZFit1qse49JcSUZsbKyRnJxsLFy4sFxfj4ULFxqSjFGjRjmN79y507BYLC5f34SEBEOSMWjQIKOoqMhlf/Xq1TM6derkNFbS81Taa6IkrVu3Nho0aODydf3ss88Mq9VqpKSkGIZhGDk5OYYkIzk5+ar7LK7mSy493uLGnnzySafxV1991ZBkBAcHOz3W/Px8o2bNmkaHDh2ctj979qzL8ex2u3HnnXcaYWFhTq//RYsWufTUJevWrTMkGXPmzHG5r0+fPkZoaKiRl5dX7OMD4BksxQFQYWbOnKmoqChFRUWpefPmmjZtmnr27Km0tDT5+flJ+m1N9rp169S0aVM99NBDTvMfeeQRNWrUSKmpqTIMw+m+IUOGqF69eo7bPj4+mjBhgiTpvffeu6Z6w8PDde7cOX3wwQcqKiq6pn2UJDExUUVFRVqyZInT+Ntvv6169eo5lihdOuu7bds2xxrx8sjNzXXaT0ku3X9p+/J45pln9OGHH+ree+/V4cOHNX/+fD3++ONq0KCB7rvvPmVmZl51H5eeoyt/A9GhQwd169atxHnPPfecxy8D+e233+qrr77SoEGDVFRUpFOnTjn+NWzYUI0bN9bHH38sSQoMDFRAQIA+++wz/fDDD26p58olVp06dZIk9e3b12nZmb+/v26//XZ99913TtsHBQU5/v/8+fPKysrS6dOndddddyk3N1cHDhwoUx1Lly5VYGCgBg4c6PQ1OXXqlOLj45WXl6ddu3Zd46MEUBEI9gAqTGJiojZv3qwNGzZo7ty5io6O1rFjxxQYGOjYJjMzU2fOnFHLli1d5lssFrVo0ULZ2dnKzs52uq958+Yu218aO3jw4DXV+8ILL6hhw4Z64IEHFBkZqT59+ujVV1/VL7/8ck37u1zXrl1Vr149vf32246xHTt26ODBg3r00UcdYbVevXqaMmWKNm/erNq1a6tVq1b605/+pM2bN5fpOKGhoZKuHtjL+gNASe655x598MEHys7O1r59+/T666+rRYsWev/9950+MF2SQ4cOKTIyUjfccIPLfS1atChxXmnLdNxl//79kpx/UL3834EDBxyvET8/P/3v//6v9u3bp0aNGqlp06ZKSkpSamqq7HZ7hdTTsGFDp9s2m63Y8Uv3Xflh5lOnTmn48OGqXbu2qlevrsjISEVFRTmWBJ0+fbpMdezfv1/nz59XnTp1XL4mjz/+uCRVSO8AuHassQdQYRo1aqTu3btL+m1dcM+ePdWmTRsNGjRI//znPz1y5rWkY1z5IVvpt3r37t2r7du3a8uWLfrXv/6lZ599VpMmTdL69evLtRa9uDoeffRRTZs2zbE2/e233y72A7wpKSl67LHHtGHDBv3rX//Se++9p9dff1333Xef1q5dW+rXLTY2Vl9++aX+/e9/q2fPniVu98UXX0gq/bMBZeHj46OYmBjFxMQoMTFRLVq00KZNm3Ts2LFiP1z7e1WvXr3C93k1l357M3LkSPXt27fYbS7/YXXYsGHq27evNmzYoH/+859KS0vTwoULFRcXp08++UQBAQG/qx6r1Vqu8csZhqFevXrpm2++0ciRI9WuXTvZbDZZrVatX79er776apl/W1VUVKSwsDCtWbOmxG1K+yENgPsR7AG4TUxMjEaNGqW//OUveuedd/TQQw8pKipKISEh2rt3r8v2hmFo7969stlsjrOSl1y6Sk1xY40bN3aM1ahRwxFiL1fSMolq1aqpR48e6tGjhyTp66+/1m233abJkyc7rpxyrT+QJCQk6M9//rMWL16sNm3aaNWqVbrzzjuLPdNar149JScnKzk5WYWF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jTfe6O0ygOsS/Qd4D/1nblc7U38JH54FAAAATIBgDwAAAJgAwR6mEBoaqilTpig0NNTbpQDXHfoP8B76D5e7bj48CwAAAJgZZ+wBAAAAEyDYAwAAACZAsAcAAABMgGAPAAAAmADBHpXOunXr9Prrr3u7DOC6t3z5cnXs2FEhISEKDg5Whw4dtHTpUqdtUlJSFBwcXOp+jh49qqFDh6pBgwYKCAhQdHS0unfvrmXLlrmzfMAUtm/fLovFon//+98eOd7cuXO1fv16jxwLFY9gj0qHYA9438iRI/XII4+oefPmWr16td577z21bNlSCQkJGjlyZJn3k5OTo/bt22vPnj1KSUnRxo0b9fLLL6tu3brauHGjGx8BgGtBsK/afL1dAHAtDMPQhQsX5O/v7+1SANN5//33NW/ePE2ZMkUpKSmO8V69eql27dp68cUX1bNnT/Xp0+eq+1qzZo1OnDihXbt2qW7duo7xIUOGqKioyB3lA1UC72NwB87Yo1JJTEzU22+/rb1798pischisSgxMVGJiYlq2bKl1q9fr1atWsnf318ffPCBFi9eLIvFolOnTjntp3Xr1kpMTHQa27Vrl7p27aqgoCCFhYXpoYce0smTJz346ICqYe7cubLZbHr22Wdd7hs3bpxsNpvmzp1bpn1lZ2fLx8dHN9xwg8t9Pj68BeH6UdL7WGpqqlq3bq2AgADVrl1bY8eOVX5+vsv8kydPql+/fgoKClJ0dLRmzJhR7P4vl5OTI4vFosWLFzvG3n//fd12220KDg5WeHi4brvtNscZ+vr16+vw4cN67bXXHO/Bl89F5cd3VVQqkyZN0t13362GDRtq165d2rVrlyZNmiRJOnHihJ5++mmNGTNGGzduVOvWrcu83127dqlz584KCwvTypUrtWDBAn3++ee677773PRIgKqpsLBQO3fuVJcuXYpdOx8cHKwuXbpo586dKiwsvOr+2rZtq6KiIj388MPatWtXmeYAZnXl+9iJEyfUv39/NW/eXOvWrdP48eM1f/58DRkyxGXuE088oUaNGik1NVVDhgzRCy+8oPnz55fr+IcOHVL//v3VokULrV27VitXrtSAAQOUnZ0tSVq7dq1q1aql/v37O96D77nnngp57PAMluKgUmnUqJGioqJ0+PBhtW/f3um+7OxsbdiwQbfffrtjbMeOHWXa7/PPP6/bbrtNqampslgskqTY2FjH2ZO777674h4EUIWdOnVKBQUFTstmrlS3bl3l5+crKyvrqvvr2rWrxo0bp1deeUWpqakKDAzUHXfcoSFDhuiRRx5x9CNwPbjyfezZZ59V+/bttWLFCknSXXfdperVq+vJJ5/UN998o9jYWMfcrl276uWXX5b027K4X375RX/+85/1xBNPlPm3X//5z3908eJFzZs3TyEhIY59XdKmTRv5+/urZs2aLu/BqBo4Y48qIyIiwinUl9W5c+f06aef6sEHH5TdbldhYaEKCwt1880366abbtLnn3/uhmoBXPKXv/xFBw8e1KuvvqrevXtrz549SkhI0KOPPurt0gCPuvx97OzZs/rqq6/Uv39/p20GDhwoyfXE1f333+90u3///jp+/LiOHTtW5uPfcsstslqteuihh/TBBx8oNzf3Wh4GKjGCPaqMmjVrXtO87Oxs2e12jRkzRtWqVXP6d+TIER09erSCKwWqrsjISPn7++vIkSMlbnPkyBEFBAQoIiKizPtt0KCBRo8erffee0/Hjh3TXXfdpWXLlunrr7+uiLKBKuHy97GcnBwZhuHy3hYWFiZ/f3+dPn3aafzKz6lcmpeRkVHm499888368MMPlZubq/vvv19RUVHq27dvqf2OqoWlOKgyivuVfUBAgCTpwoULTuOX1gtKUnh4uCwWiyZOnKj4+HiXfURGRlZsoUAV5uvrq44dO2r79u369ddfFRQU5HT/r7/+qu3bt6tjx47y9b22t5Dg4GANHz5cGzdu1P79+3XLLbdUROlApXf5+9il96YrL+KQm5urgoIC1ahRw2n8yu1++eUXSVJ0dLSk394PS3svvOSuu+7SXXfdpby8PG3cuFFjxozRY489pi1btlz7A0OlwRl7VDp+fn7FXhGgODfeeKMkaf/+/Y6x/fv3O52FDwoKUocOHbR//37ddtttLv/q169fofUDVd3o0aN1+vRpvfLKKy73vfLKKzp9+rRGjx5dpn1lZmbKMAyX8e+++06SVKtWrd9VK1BVBQcHq3Xr1lqzZo3T+KpVqyRJd9xxh9P42rVrnW6vWbNGtWvXdrwP3njjjTp27JjOnj3r2GbTpk0lHj80NFQDBgzQoEGDnN5Dy/MejMqHM/aodGJiYvR//s//0TvvvKMmTZqUekb99ttv10033aQxY8Zo5syZysvL06xZs1yWCLz88svq2rWrBg4cqEGDBslms+nYsWPavHmzHnvsMXXu3NnNjwqoOvr27asRI0YoJSVFR48e1YMPPihJeu+99/Tmm29qxIgRTtewt9vtLuFEkuLi4rRq1SotXbpUjzzyiNq0aaOioiLt3LlTL730ktq2besSXoDrSUpKiuLj4zVkyBANGTJEBw4c0MSJE/XAAw84fXBWkrZu3apx48apR48e2rx5s5YuXarXXnvN8cHZfv36afLkyRo6dKiGDRumvXv36q233nLax9///nft2rVLd911l6Kjo/Xjjz9q2bJl6tmzp2ObmJgYbd26VZs3b5bNZlODBg3KtewOXmYAlUxubq4xaNAgIyIiwpBkJCQkGAkJCUaLFi2K3f7f//630a5dOyMwMNCIjY010tLSjFatWhkJCQlO233++efG3XffbYSFhRmBgYFGkyZNjOTkZOPo0aMeeFRA1bNs2TKjQ4cORlBQkBEUFGS0b9/eWLJkidM2U6ZMMSQV+2/p0qXG3r17jREjRhgtW7Y0QkNDjeDgYKN58+bGpEmTjOzsbO88MMALSnofW7NmjXHLLbcYfn5+Rq1atYzRo0cb58+fd9y/bds2Q5Lx4YcfGn379jWqV69u1KxZ05g2bZrLvpYsWWI0btzYCAwMNHr06GF89dVXhiRj0aJFhmEYxs6dO4177rnHiI6ONvz8/Iy6desao0aNMvLy8hz7+Pbbb40777zTCAkJcZqLqsFiGMX8jhQAAABAlcIaewAAAMAECPYAAACACRDsAQAAABMg2AMAAAAmQLAHAAAATIBgDwAAAJgAwR4AAAAwAYI9AAAAYAIEewAAAMAECPYAAACACRDsAQAAABMg2AMAAAAmQLAHAAAATOD/AtNcKwpOEOzFAAAAAElFTkSuQmCC",
"text/plain": [
"<Figure size 770x440 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# Compare against a naïve OLS that is broken by outliers.\n",
"y = (x[1:] - x[:-1]) / dt\n",
"X = np.vstack([np.ones_like(x[:-1]), x[:-1]]).T\n",
"ols_ab, *_ = np.linalg.lstsq(X, y, rcond=None)\n",
"print('OLS a, b =', ols_ab)\n",
"fig, ax = plt.subplots()\n",
"labels = ['true', 'OLS', 'robust']\n",
"vals_a = [true_a, ols_ab[0], res['a']]\n",
"vals_b = [true_b, ols_ab[1], res['b']]\n",
"ax.bar(np.arange(3) - 0.2, vals_a, width=0.4, label='a')\n",
"ax.bar(np.arange(3) + 0.2, vals_b, width=0.4, label='b')\n",
"ax.set_xticks(range(3)); ax.set_xticklabels(labels)\n",
"ax.legend(); ax.grid(alpha=0.3); ax.set_title('Robust vs OLS drift estimate')\n",
"fig.tight_layout(); plt.show()\n"
]
},
{
"cell_type": "markdown",
"id": "70fbd189",
"metadata": {},
"source": [
"**Verified:** Huber IRLS recovers `(a, b)` within `0.2` even with 5 % heavy outliers."
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3 (rhftlab)",
"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.11.13"
}
},
"nbformat": 4,
"nbformat_minor": 5
}