{ "cells": [ { "cell_type": "markdown", "id": "0f18ddb6-6f8f-44b1-9083-c86b9ae657ac", "metadata": {}, "source": [ "# Step" ] }, { "cell_type": "markdown", "id": "fb0ada15-3643-4b61-b962-af80bd318097", "metadata": {}, "source": [ "`lamatrix` provides a Step model to capture step functions and breaks in data." ] }, { "cell_type": "code", "execution_count": 2, "id": "ae5d5c89-f880-4c50-9a53-bc4171ec3086", "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "import matplotlib.pyplot as plt\n", "x = np.arange(-10, 10, 0.01)\n", "\n", "\n", "from lamatrix import Step" ] }, { "cell_type": "code", "execution_count": 3, "id": "3241dc64-c209-4971-8a2c-f036d0324b47", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\\[f(\\mathbf{x}) = w_{0} \\mathbb{I}_{[{-\\infty}, {0}]}(\\mathbf{x}) + w_{1} \\mathbb{I}_{[{0}, {\\infty}]}(\\mathbf{x})\\]
" ], "text/plain": [ "'\\\\[f(\\\\mathbf{x}) = w_{0} \\\\mathbb{I}_{[{-\\\\infty}, {0}]}(\\\\mathbf{x}) + w_{1} \\\\mathbb{I}_{[{0}, {\\\\infty}]}(\\\\mathbf{x})\\\\]'" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Step().equation" ] }, { "cell_type": "code", "execution_count": 4, "id": "d100b342-9f43-4277-aad2-aa1eb431a776", "metadata": {}, "outputs": [], "source": [ "model = Step('x', breakpoints=[0])\n", "w = np.random.normal(size=model.width)\n", "sample = model.design_matrix(x=x).dot(w)" ] }, { "cell_type": "code", "execution_count": 5, "id": "e32159da-2a24-43cc-9550-d53afcf403e3", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjgAAAHHCAYAAACyWSKnAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8ekN5oAAAACXBIWXMAAA9hAAAPYQGoP6dpAAAt2UlEQVR4nO3dDXyN9f/H8Y+ZzSRDsqFFUiGMyJoSapGk+5L6m5abFOWmG1Y/k4pJJX5+tFTSvZt+0g1RZJUo5aZbFGFLNqQ2prbY9X98vo//Of+d3dm07ZzzPa/n43Gxc+26dr7Xde2c8z7f7/dzVs1xHEcAAAAsEuTtBgAAAFQ0Ag4AALAOAQcAAFiHgAMAAKxDwAEAANYh4AAAAOsQcAAAgHUIOAAAwDoEHAAAYB0CDgC/t2vXLqlWrZrMmzev3PumpqaaffV/G3Xv3t0sQKAh4AA+7Ntvv5UbbrhBmjZtKjVr1pQmTZrIZZddJjNnzvTYbvLkybJkyRKvtRMAfA0BB/BRa9eulU6dOsnXX38tQ4YMkf/85z8yePBgCQoKkhkzZnhsS8ABAE/BhW4D8BGTJk2S8PBw+fLLL6Vu3boe39u3b5/X2gUA/oAeHMBH7dixQ84999wi4UY1bNjQ/bXOH8nJyZGXXnrJfK3Lbbfd5v7+nj175Pbbb5eIiAgJDQ01P3Pu3LnFzkNZsGCBPPjggxIZGSknnXSSXHXVVZKenn7ctj788MNm/x9//FH+53/+xwSzU089VcaPHy+O45ifcfXVV0udOnXMz37qqaeK/AwNbYMGDTLt1OG46Ohoc0yF/fHHH+b49D703AwcONCsK87WrVvNEF/9+vXNz9QesXfeeUdOxKFDh2TUqFHSrFkzcx71Guhw4caNG93bfPrpp3LjjTfK6aefbraJioqS0aNHy59//unxs7T9tWvXlrS0NLnyyivN1zr8OGvWLPfQ5CWXXGKugQ5Pvv766x7761wjPd+ffPKJ3HHHHXLKKaeYcxsfHy+///77cY8lNzdXJkyYIC1atHC384EHHjDrAVvQgwP4KH1hW7dunXz33XfSpk2bErd75ZVXzNBV586dZejQoWbdmWeeaf7PzMyUCy64wLwYjhgxwoSO999/3wSJ7Oxs84JduNdItx07dqwJHNOnT5e4uDjZvHmzhIWFHbfN/fr1k1atWsmUKVNk6dKl8thjj5lw8eyzz5oX7Mcff1xee+01ue++++T888+Xiy++2OynAUAnwm7fvt2084wzzpBFixaZIKDhZeTIkWY7DUsalNasWSPDhg0z9/XWW2+ZkFPY999/LxdeeKEJDuPGjTNhYeHChXLNNdfIf//7X7n22mvLdT30/t58803TvtatW8tvv/1m2rFlyxY577zzzDba5iNHjsidd95pQsf69evNfKlffvnFfK+gY8eOSe/evc05mDp1qjkv+rO1nQ899JDceuutct1110lKSooJLrGxsea8FKTba8jTgLlt2zZ55plnZPfu3e7AWpz8/HwTXLXt+vui51AD1dNPP20CKkOdsIYDwCd98MEHTvXq1c0SGxvrPPDAA86KFSucvLy8ItuedNJJzsCBA4usHzRokNOoUSPnwIEDHutvvvlmJzw83Dly5Ii5vXr1akefDpo0aeJkZ2e7t1u4cKFZP2PGjFLbOmHCBLPd0KFD3euOHj3qnHbaaU61atWcKVOmuNf//vvvTlhYmEd7p0+fbvZ/9dVX3ev0OPW4a9eu7W7TkiVLzHZTp071uJ+uXbua9S+++KJ7/aWXXuq0bdvW+euvv9zr8vPznS5dujhnnXWWe53r2PX/0uj5Gj58eKnbuM5nQcnJyeYc7N69271Oj13vc/LkyUXOi247f/589/qtW7eabfUcu+hx6rqOHTt6/D7oedH1b7/9tntdt27dzOLyyiuvOEFBQc6nn37q0c6UlBSz72effVbqMQL+giEqwEfp8If24Oi7bZ1orO/ye/XqZXokyjLMor0d2lPRt29f8/WBAwfci/6crKwsj+EVpT0FJ598svu2Du80atRIli1bVqY2a0+SS/Xq1c2QkN639hi5aI/DOeecIz///LN7nf58Hbrq37+/e12NGjXknnvukcOHD8vHH3/s3i44ONj0kBS8n7vvvtujHQcPHpSPPvpIbrrpJjO05Dpu7XXRY//pp5/M0F15aLu/+OIL+fXXX0vcpmAvlw4b6n126dLFnINNmzaVer5c50V7cLTdLrpOv1fwfLloD4yeJxc9L3p+Srte2pOkvTYtW7b0+J3QHja1evXq454LwB8wRAX4MB3GWbx4seTl5ZmQo8MxOpSgwUOHjXSopCT79+83wztz5swxS3EKT1Y+66yzPG7rMIfO09DPmSkLnXtSkM6T0bkvDRo0KLJew4aL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HivxfpKTkyU8PNy9REVFVfixAAAA3+ETk4zLIz8/38y/mTNnjnTs2FH69esnDz30kBnaKkliYqJkZWW5l/T09CptM4CqQxUVAK/PwWnQoIFUr15dMjMzPdbr7cjIyGL30copnXuj+7m0atXK9PjokFdISEiRfbTSShcAgYMqKiCwebUHR8OI9sKsWrXKo4dGb+s8m+JceOGFsn37drOdy48//miCT3HhBgAABB6vD1Fpifhzzz0nL730kmzZskXuvPNOycnJcVdVxcfHmyEmF/2+VlGNHDnSBButuNJJxjrpGAAAwCfKxHUOzf79+yUpKckMM7Vv316WL1/unniclpZmKqtcdILwihUrZPTo0dKuXTvzOTgadsaOHevFowAAAL7E6wFHjRgxwizFSU1NLbJOh68+//zzKmgZAADwR14fogKAikQVFQBFwAFgJaqogMBGwAEAANYh4AAAAOsQcAAAgHUIOAAAwDoEHABWoYoKgCLgALASVVRAYCPgAAAA6xBwAACAdQg4AADAOgQcAFZhkjEARcABAADWIeAAsBJVVEBgI+AAAADrEHAAAIB1CDgAAMA6BBwAVqGKCoAi4AAAAOsQcABYiSoqILARcAAAgHUIOAAAwDoEHAAAYB0CDgCrUEUFQBFwAACAdQg4AKxEFRUQ2Ag4AADAOgQcAABgHQIOAACwDgEHgFWoogKgCDgAAMA6BBwAVqKKCghsBBwAAGAdAg4AALAOAQeAVZhkDEARcAAAgHUIOACsxCRjILARcAAAgHUIOAAAwDoEHAAAYB0CDgCrUEUFQBFwAACAdQg4AKxEFRUQ2Ag4AADAOj4TcGbNmiXNmjWTmjVrSkxMjKxfv75M+82fP9+MuV9zzTWV3kYAAOAffCLgLFiwQMaMGSMTJkyQjRs3SnR0tPTq1Uv27dtX6n67du2S++67T7p27VplbQUAAL7PJwLOtGnTZMiQIZKQkCCtW7eWlJQUqVWrlsydO7fEfY4dOya33nqrTJw4UZo3b16l7QXgu6iiAuATAScvL082bNggcXFx7nVBQUHm9rp160rc75FHHpGGDRvKoEGDqqilAADAXwR7uwEHDhwwvTEREREe6/X21q1bi91nzZo18sILL8jmzZvLdB+5ublmccnOzv6HrQbg66iiAgKb13twyuvQoUMyYMAAee6556RBgwZl2ic5OVnC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unfvXmT7YcOGiS9q1qxZkbZOmTKl1H3++usvGT58uJxyyilSu3Ztuf766yUzM1N80a5du8zv0xlnnCFhYWFy5plnmuqGvLy8Uvfz5Ws4a9Ysc91q1qwpMTExsn79+lK3X7RokbRs2dJs37ZtW1m2bJn4quTkZDn//PPNJ63r88c111wj27ZtK3WfefPmFblWeqy+6OGHHy7SVr02tly/kp5TdNHnDH+8fp988on07dvXfHqwtm3JkiUe39dapaSkJGnUqJF5jomLi5Offvqpwh/H5UXAKSd9UbjxxhvlzjvvLPb7x44dM+FGt1u7dq289NJL5pdXL35pNNx8//338uGHH8p7771nfqGGDh0q3qZhbu/evR7L4MGDzYtlp06dSt13yJAhHvtNnTpVfNUjjzzi0da777671O1Hjx4t7777rnni/fjjj82f/rjuuuvEF23dutX8eZJnn33W/I49/fTTkpKSIg8++OBx9/XFa7hgwQIZM2aMCWkbN26U6Oho6dWrl+zbt6/Y7fVx2L9/fxPyNm3aZAKDLt999534Iv190hfCzz//3Dwf/P3339KzZ0/JyckpdT99c1TwWu3evVt81bnnnuvR1jVr1pS4rb9dP6Vv/goen15Hpa8d/nj9cnJyzONMA0lx9Hnh3//+t3le+eKLL+Skk04yj0l9I1hRj+MTomXiKL8XX3zRCQ8PL7J+2bJlTlBQkJORkeFe98wzzzh16tRxcnNzi/1ZP/zwg5bqO19++aV73fvvv+9Uq1bN2bNnj+NL8vLynFNPPdV55JFHSt2uW7duzsiRIx1/0LRpU+fpp58u8/Z//PGHU6NGDWfRokXudVu2bDHXcN26dY4/mDp1qnPGGWf45TXs3LmzM3z4cPftY8eOOY0bN3aSk5OL3f6mm25y+vTp47EuJibGueOOOxx/sG/fPvO79fHHH5f7+cgXTZgwwYmOji7z9v5+/ZQ+js4880wnPz/f76+fiDhvvfWW+7YeU2RkpPPEE094PEeGhoY6b7zxRoU9jk8EPTgVbN26daYLNSIiwr1OU6n+4TF991zSPjosVbBHRLv49G9maRr2Je+884789ttvkpCQcNxtX3vtNWnQoIG0adNGEhMT5ciRI+KrdEhKh5s6dOggTzzxRKlDihs2bDDvqvUauWj3+emnn26upT/IysqS+vXr+9011J5RPf8F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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, ax = plt.subplots()\n", "ax.plot(x, sample, c='k')\n", "ax.set(xlabel='$x$', ylabel='$y$', title='Step model sample');" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "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.9.13" } }, "nbformat": 4, "nbformat_minor": 5 }