From 2c7c1105f307689dec2dab601878595e7436eb13 Mon Sep 17 00:00:00 2001 From: Nicolas Aspert <nicolas.aspert@epfl.ch> Date: Tue, 25 Mar 2025 13:45:57 +0100 Subject: [PATCH] add week 6 --- .../week06/Recursive least squares.ipynb | 1111 +++++++++++++++++ exercises/week06/data.npz | Bin 0 -> 71415 bytes 2 files changed, 1111 insertions(+) create mode 100644 exercises/week06/Recursive least squares.ipynb create mode 100644 exercises/week06/data.npz diff --git a/exercises/week06/Recursive least squares.ipynb b/exercises/week06/Recursive least squares.ipynb new file mode 100644 index 0000000..9e6d2b7 --- /dev/null +++ b/exercises/week06/Recursive least squares.ipynb @@ -0,0 +1,1111 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "id": "e3f2b37e", + "metadata": { + "deletable": false, + "editable": false + }, + "outputs": [], + "source": [ + "# Initialize Otter\n", + "import otter\n", + "grader = otter.Notebook(\"Recursive least squares.ipynb\")" + ] + }, + { + "cell_type": "markdown", + "id": "eb88859c-9077-43c0-868b-e5f45289ff06", + "metadata": {}, + "source": [ + "# Matrix Analysis 2025 - EE312\n", + "## Week 6 - Recursive least squares\n", + "[N. Aspert](https://people.epfl.ch/nicolas.aspert) - [LTS2](https://lts2.epfl.ch)\n", + "\n", + "\n", + "## Important\n", + "- The unit tests are here to help you, however they might pass even if your implementation is faulty (and conversely fail even if your implementation is correct), due to platform/environment variability. Feel free to ignore them (after carefully reviewing your answers/results)\n", + "\n", + "\n", + "## Objective\n", + "\n", + "The goal of this notebook is to find the parameters of a system using least squares, and more specifically use a recursive formulation to update those parameters with a reduced amount of computations." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f4ab0d05-aa5a-4dc7-b2b5-b04ad6dd426e", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "import numpy as np\n", + "import matplotlib.pyplot as plt" + ] + }, + { + "cell_type": "markdown", + "id": "d1a159ae-f3e6-4629-bf5b-6d93af1b0b68", + "metadata": {}, + "source": [ + "## Part I - Least-square parameter estimation\n", + "\n", + "In this notebook, we will estimate physical parameters of a moving system. Its $(x,y)$ coordinates are sampled at regular time intervals, but are noisy (e.g. due to measurement artefacts). You can load them from a file using the code below." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "68883575-5b43-4ae7-8e23-13cdab9b2fa4", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "data = np.load('data.npz')" + ] + }, + { + "cell_type": "markdown", + "id": "b82107e6-9019-4598-9e9a-9b123fba4e58", + "metadata": { + "tags": [] + }, + "source": [ + "Once loaded, the `data` variable is a dictionary containing 3 arrays:\n", + "- `time` for the time values corresponding to each sample\n", + "- `tr1` for the first system trajectory\n", + "- `tr2` for the second system trajectory\n", + "\n", + "The trajectories are stored as complex numbers to have a single value representing the $x$ and $y$ components. In the first part of the problem we will only use ther data from `tr1`." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "141016a9-b347-4c7b-b76e-13af8ade65e3", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "plt.scatter(np.real(data['tr1']), np.imag(data['tr1']), marker='+')\n", + "plt.xlabel('x')\n", + "plt.ylabel('y')" + ] + }, + { + "cell_type": "markdown", + "id": "575ce09b-fcbd-4442-a8e7-dc2d5e587226", + "metadata": { + "deletable": false, + "editable": false + }, + "source": [ + "<!-- BEGIN QUESTION -->\n", + "\n", + "Let us now build the model of this system. In this part we will assume that the system is defined by 3 parameters:\n", + "- its initial position $p_0$\n", + "- its initial velocity $v_0$\n", + "- its acceleration $a$ which is constant\n", + "\n", + "Those parameters will be represented as complex values (in order to take into account their $x$ and $y$ components)\n", + "\n", + "1. Express the position of the system $p(t)$ as a function of $t$ and of the 3 above parameters. " + ] + }, + { + "cell_type": "markdown", + "id": "2857a8f4", + "metadata": { + "tags": [ + "otter_answer_cell" + ] + }, + "source": [ + "_Type your answer here, replacing this text._" + ] + }, + { + "cell_type": "markdown", + "id": "5e93d1f2-82a7-4e1b-b543-d89dd38c1c69", + "metadata": { + "deletable": false, + "editable": false + }, + "source": [ + "<!-- END QUESTION -->\n", + "\n", + "Since we have the whole trajectory of the system and given the relatively small number of samples, we can now estimate directly the 3 parameters using a least-square approximation. \n", + "\n", + "2. Using the previous question, write a function that generates the matrix $A$ s.t. \n", + "$$\n", + "A\\begin{pmatrix}p_0 \\\\ v_0 \\\\ a\\end{pmatrix} = \\begin{pmatrix}p(t_0) \\\\ p(t_1) \\\\ \\vdots \\\\ p(t_{N-1}) \\end{pmatrix} \n", + "$$" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "fbeb5b6b-77ee-4b03-8871-81be21c5cf01", + "metadata": { + "tags": [ + "otter_answer_cell" + ] + }, + "outputs": [], + "source": [ + "def computeA(t):\n", + " \"\"\"\n", + " Computes the A matrix \n", + "\n", + " Parameters\n", + " ----------\n", + " t : vector containing values of time samples\n", + " \n", + " Returns\n", + " -------\n", + " The A matrix \n", + " \"\"\"\n", + " ..." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f62efb3c", + "metadata": { + "deletable": false, + "editable": false + }, + "outputs": [], + "source": [ + "grader.check(\"q2\")" + ] + }, + { + "cell_type": "markdown", + "id": "9903f3fe-bd77-4e83-880f-5fdddbd450a6", + "metadata": { + "deletable": false, + "editable": false + }, + "source": [ + "3. Estimate the parameters of the system using a least square approximation" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a8623196-a2cd-47ef-b2c6-30804172868d", + "metadata": { + "tags": [ + "otter_answer_cell" + ] + }, + "outputs": [], + "source": [ + "def solve_lsq(t, pos):\n", + " \"\"\"\n", + " Solve the system Ax = pos, where x is the vector (p_0, v_0, a) and pos contains the position values at time t\n", + "\n", + " Parameters\n", + " ----------\n", + " t : vector containing values of time samples\n", + " pos: vector containing the positions of the system corresponding to the values of t (complex)\n", + "\n", + " \n", + " Returns\n", + " -------\n", + " The vector x containing the approximation of the system's parameters in the least-square sense.\n", + " \"\"\"\n", + " ..." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "8182465f", + "metadata": { + "deletable": false, + "editable": false + }, + "outputs": [], + "source": [ + "grader.check(\"q3\")" + ] + }, + { + "cell_type": "markdown", + "id": "f7edef23-f5d4-4c59-b4c8-ef57ad9d6b8b", + "metadata": { + "deletable": false, + "editable": false + }, + "source": [ + "<!-- BEGIN QUESTION -->\n", + "\n", + "4. Display the measured trajectory `tr1` and the one reconstructed from the parameters you estimated. If your implementation is correct, they should match. Also plot the euclidean distance between the measured and reconstructed point fo each timestep." + ] + }, + { + "cell_type": "markdown", + "id": "c1867853", + "metadata": { + "tags": [ + "otter_answer_cell" + ] + }, + "source": [ + "_Type your answer here, replacing this text._" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "18e792a6-6104-422d-a7b3-c7b53a56b32b", + "metadata": { + "tags": [ + "otter_answer_cell" + ] + }, + "outputs": [], + "source": [ + "# Plot the observed and predicted data\n", + "..." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "fa59fa59-f036-4906-87d3-52e558e7685c", + "metadata": { + "tags": [ + "otter_answer_cell" + ] + }, + "outputs": [], + "source": [ + "# Plot the distance between each point\n", + "..." + ] + }, + { + "cell_type": "markdown", + "id": "832f6e06-46c1-4ac9-a01f-6acb138560df", + "metadata": { + "deletable": false, + "editable": false + }, + "source": [ + "<!-- END QUESTION -->\n", + "\n", + "## Part II - Recursive least-square estimation\n", + "\n", + "The problem addressed in the first part was fairly easy: we had all measurements available at once (which is fine in an \"offline\" setting), and computing the least-square solution did not require to invert a huge matrix. In a more realistic setting, the measurements would come gradually and it would be nice to update our parameters without recomputing the whole solution at each step. This is where recursive least-squares come into place.\n" + ] + }, + { + "cell_type": "markdown", + "id": "f51903c3-e84d-4352-a4ea-e568bdc3aead", + "metadata": { + "deletable": false, + "editable": false + }, + "source": [ + "<!-- BEGIN QUESTION -->\n", + "\n", + "We first need to prove a classical result. Let us consider four matrices $A,B,C$ and $D$ such that:\n", + "- $A$ is an invertible $N\\times N$ matrix\n", + "- $B$ is a $N\\times M$ matrix \n", + "- $C$ is $M\\times N$ matrix\n", + "- $D$ is an invertible $M\\times M$ matrix\n", + "\n", + "5. Prove that $(A + BDC)^{-1} = A^{-1} - A^{-1}B(D^{-1}+CA^{-1}B)^{-1}CA^{-1}$\n" + ] + }, + { + "cell_type": "markdown", + "id": "be98a834", + "metadata": { + "tags": [ + "otter_answer_cell" + ] + }, + "source": [ + "_Type your answer here, replacing this text._" + ] + }, + { + "cell_type": "markdown", + "id": "6768f75a-e59d-42f1-99b7-9c16150ec2a0", + "metadata": { + "deletable": false, + "editable": false + }, + "source": [ + "<!-- END QUESTION -->\n", + "\n", + "<!-- BEGIN QUESTION -->\n", + "\n", + "Let us consider the least-square problem $Ax=y$, and suppose we already have received a small (but still keeping the system over-determined) number of measurements $y_0$ and computed $\\hat{x}_0$ that is the least-square solution of $A_0\\hat{x}_0=y_0$. Let us assume we have already computed $Q_0=(A_0^TA_0)^{-1}$.\n", + "\n", + "Now another set of measurements $y_1$ arrives, and the system you want to solve looks like\n", + "$$\n", + "\\begin{pmatrix}A_0\\\\A_1\\end{pmatrix}x = \\begin{pmatrix}y_0\\\\y_1\\end{pmatrix} \n", + "$$\n", + "\n", + "6. Using this block matrix formulation, rewrite the normal equation and express the updated solution $\\hat{x}_1$ using $A_0$, $A_1$, $Q_0^{-1}$, $\\hat{x}_0$, and $y_1$. \n", + "\n", + "Let us denote by $Q_1 = (A_0^TA_0 + A_1^TA_1)^{-1}$. Express $\\hat{x}_1$ as a function of $Q_1$, $A_1$, $y1$ and $\\hat{x}_0$. " + ] + }, + { + "cell_type": "markdown", + "id": "c3516e6e", + "metadata": { + "tags": [ + "otter_answer_cell" + ] + }, + "source": [ + "_Type your answer here, replacing this text._" + ] + }, + { + "cell_type": "markdown", + "id": "58d88136-aa54-4839-af16-672638af3087", + "metadata": { + "deletable": false, + "editable": false + }, + "source": [ + "<!-- END QUESTION -->\n", + "\n", + "<!-- BEGIN QUESTION -->\n", + "\n", + "Using the result shown in question 5, express $Q_1$ as a function of $Q_0$, $A_1$ and $U=Q_0A_1^T$. \n", + "\n", + "Hints:\n", + "- you might consider $Q_1^{-1}$\n", + "- what about $Q_0$ symmetry ?\n", + "\n", + "\n", + "Why is it interesting to update the system's parameters by computing $Q_1$ this way ?" + ] + }, + { + "cell_type": "markdown", + "id": "4368082f", + "metadata": { + "tags": [ + "otter_answer_cell" + ] + }, + "source": [ + "_Type your answer here, replacing this text._" + ] + }, + { + "cell_type": "markdown", + "id": "29107f5e-92d0-4790-b235-8e1362cd8250", + "metadata": { + "deletable": false, + "editable": false + }, + "source": [ + "<!-- END QUESTION -->\n", + "\n", + "8. Using the results of questions 6 and 7, implement a function that computes the updated parameters for a new set of measurements and complete the `recursive_lsq`implementation." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "bab14427-11c5-47b9-99b1-04e99fb92571", + "metadata": { + "tags": [ + "otter_answer_cell" + ] + }, + "outputs": [], + "source": [ + "def update_lsq(Q0, xhat0, meas_time, y1):\n", + " \"\"\"\n", + " Compute the updated parameters xhat1 from Q0, y1, xhat0\n", + "\n", + " Parameters\n", + " ----------\n", + " Q0 : matrix Q0\n", + " xhat0: previously computed parameters of the system\n", + " meas_time: vector containing the times at which samples were acquired\n", + " y1: vector containing the new positions of the system corresponding to the values of meas_time\n", + " \n", + " Returns\n", + " -------\n", + " xhat1 and Q1 \n", + " \"\"\"\n", + " ..." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "371b7525-b48b-43b8-a636-180cbd2e2566", + "metadata": { + "tags": [ + "otter_answer_cell" + ] + }, + "outputs": [], + "source": [ + "def recursive_lsq(t, pos, batch_size):\n", + " \"\"\"\n", + " Perform recursive LSQ fit on iput data splitted in batches\n", + "\n", + " Parameters\n", + " ----------\n", + " t: vector containing values of time samples\n", + " pos: vector containing the positions of the system corresponding to the values of t (complex)\n", + " batch_size: size of each batch of measurements\n", + " \n", + " Returns\n", + " -------\n", + " array containing model parameters estimated after each batch\n", + " \"\"\"\n", + " \n", + " if batch_size < 2:\n", + " raise ValueError(\"Invalid batch size\")\n", + " \n", + " nsteps = len(t)//batch_size\n", + "\n", + " # initialization step\n", + " A0 =computeA(t[:batch_size])\n", + " Q0 = np.linalg.inv(A0.T@A0)\n", + " \n", + " xhat0 = ...\n", + " xh_cur = xhat0\n", + " Q_cur = Q0\n", + " x_h = [xhat0] # store the history of parameters in a list\n", + " for k in np.arange(1, nsteps):\n", + " cur_time = t[k*batch_size:(k+1)*batch_size]\n", + " cur_pos = pos[k*batch_size:(k+1)*batch_size]\n", + " xhat1, Q1 = ...\n", + " x_h.append(xhat1)\n", + " xh_cur = xhat1\n", + " Q_cur = Q1\n", + " return np.array(x_h)\n", + " " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "ebdfb081", + "metadata": { + "deletable": false, + "editable": false + }, + "outputs": [], + "source": [ + "grader.check(\"q8\")" + ] + }, + { + "cell_type": "markdown", + "id": "a9f907da-74a3-4d1c-9892-8d2b9fa9c69f", + "metadata": { + "deletable": false, + "editable": false + }, + "source": [ + "<!-- BEGIN QUESTION -->\n", + "\n", + "9. Complete the `predict_trajectory` function, and the `tr1` data:\n", + "- display the predicted trajectory of the system when using recursive least-squares\n", + "- display the distance between the predicted and observed trajectory\n", + "Make sure to chose a suitable batch size." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "7cbfe794-5aa1-4e12-a13c-3af377dfa828", + "metadata": { + "tags": [ + "otter_answer_cell" + ] + }, + "outputs": [], + "source": [ + "def predict_trajectory(x_h, t, pos, batch_size):\n", + " pos_pred = np.zeros(pos.shape, dtype='complex')\n", + " # Initialization\n", + " pos_pred[:batch_size] = pos[:batch_size]\n", + " for k in np.arange(1, len(x_h)):\n", + " A1 = computeA(t[k*batch_size:(k+1)*batch_size])\n", + " pos_pred[k*batch_size:(k + 1)*batch_size] = ...\n", + " return pos_pred" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "97513eaf-ef5a-43c5-86f9-29cbc9bbd4de", + "metadata": { + "tags": [ + "otter_answer_cell" + ] + }, + "outputs": [], + "source": [ + "batch_size = ..." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "2cfd4110-2ee6-4e5e-bfdc-e6155745e19e", + "metadata": { + "tags": [ + "otter_answer_cell" + ] + }, + "outputs": [], + "source": [ + "x_h = ..." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "5daa05c1-23bf-4f00-a7d4-9849b6ef27f6", + "metadata": { + "tags": [ + "otter_answer_cell" + ] + }, + "outputs": [], + "source": [ + "pred_traj = ..." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e1961a97-4a16-4d47-8f0e-df2e106a68a6", + "metadata": { + "tags": [ + "otter_answer_cell" + ] + }, + "outputs": [], + "source": [ + "# Plot the predicted and observed data\n", + "..." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "11ec5c11-9ee2-49e0-b4d3-507629f2f71d", + "metadata": { + "tags": [ + "otter_answer_cell" + ] + }, + "outputs": [], + "source": [ + "# Plot the error between prediction and observation\n", + "..." + ] + }, + { + "cell_type": "markdown", + "id": "31ef60cf-1277-401a-b8d3-32b8e50e5797", + "metadata": { + "deletable": false, + "editable": false + }, + "source": [ + "<!-- END QUESTION -->\n", + "\n", + "## Part III - Recursive least square with forgetting factor\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "id": "528dc1bb-b87b-4af9-8247-c718a74fbf7a", + "metadata": { + "deletable": false, + "editable": false + }, + "source": [ + "<!-- BEGIN QUESTION -->\n", + "\n", + "10. Use the recursive least square on the `tr2` trajectory, whose acceleration varies across time. Display the predicted trajectory and approximation error. Is that what you expected ?" + ] + }, + { + "cell_type": "markdown", + "id": "31abd7d1", + "metadata": { + "tags": [ + "otter_answer_cell" + ] + }, + "source": [ + "_Type your answer here, replacing this text._" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e39bedb4-7c88-4398-a41b-26c8b815640c", + "metadata": { + "tags": [ + "otter_answer_cell" + ] + }, + "outputs": [], + "source": [ + "x2_h = ..." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "341e47da-1516-4a69-a90f-58e227297e10", + "metadata": { + "tags": [ + "otter_answer_cell" + ] + }, + "outputs": [], + "source": [ + "pred_traj2 = ..." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "ebe4b99f-9f32-47b4-9af6-3086608358f4", + "metadata": { + "tags": [ + "otter_answer_cell" + ] + }, + "outputs": [], + "source": [ + "# Plot the predicted and observed data\n", + "..." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d564e0b0-73f5-4315-b5ea-0986822e1388", + "metadata": { + "tags": [ + "otter_answer_cell" + ] + }, + "outputs": [], + "source": [ + "# Plot the error between prediction and observation\n", + "..." + ] + }, + { + "cell_type": "markdown", + "id": "70180a33-f723-4ccd-8f09-6c772941865a", + "metadata": { + "deletable": false, + "editable": false + }, + "source": [ + "<!-- END QUESTION -->\n", + "\n", + "In order to solve this issue, we could either build a more complex model. However, making the assumption that the acceleration changes infrequently, we can try to update the recursive least-square in a way that will give higher importance to the recent measurements with respect to older ones. In order to do so, we will introduce a **forgetting factor** $\\alpha$, with $0<\\alpha<1$.\n", + "\n", + "We will use this as follows:\n", + "When another set of measurements $y_1$ arrives, and the system defined in question 6 will be rewritten as\n", + "$$\n", + "\\begin{pmatrix}\\alpha A_0\\\\A_1\\end{pmatrix}x = \\begin{pmatrix}\\alpha y_0\\\\y_1\\end{pmatrix} \n", + "$$" + ] + }, + { + "cell_type": "markdown", + "id": "6275538d-4edd-42d1-aa15-312936c217d9", + "metadata": { + "deletable": false, + "editable": false + }, + "source": [ + "<!-- BEGIN QUESTION -->\n", + "\n", + "11. Using the new \"forgetful\" system defined above, update the expressions $Q_1$ and $\\hat{x}_1$ derived in questions 6 and 7\n", + "\n", + "Hint: \n", + "- You might want to introduce $U_\\alpha = \\frac{1}{\\alpha} Q_0A_1^T$," + ] + }, + { + "cell_type": "markdown", + "id": "4d5f71ee", + "metadata": { + "tags": [ + "otter_answer_cell" + ] + }, + "source": [ + "_Type your answer here, replacing this text._" + ] + }, + { + "cell_type": "markdown", + "id": "bc7bc015-18a8-4059-a2cb-cc680f199b1e", + "metadata": { + "deletable": false, + "editable": false + }, + "source": [ + "<!-- END QUESTION -->\n", + "\n", + "12. Using the results found at the previous question, implement the recursive least square with a forgetting factor." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "6476b120-1e67-43b7-80fa-42eff433fb46", + "metadata": { + "tags": [ + "otter_answer_cell" + ] + }, + "outputs": [], + "source": [ + "def update_lsq_ff(Q0, xhat0, meas_time, y1, ff):\n", + " \"\"\"\n", + " Compute the updated parameters xhat1 from Q0, y1, xhat0, ff\n", + "\n", + " Parameters\n", + " ----------\n", + " Q0 : matrix Q0\n", + " xhat0: previously computed parameters of the system\n", + " meas_time: vector containing the times at which samples were acquired\n", + " y1: vector containing the new positions of the system corresponding to the values of meas_time\n", + " ff: forgetting factor \n", + " \n", + " Returns\n", + " -------\n", + " xhat1 and Q1 \n", + " \"\"\"\n", + " ..." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "70c04c51-59d8-4742-8bba-6c5ebe639c5f", + "metadata": { + "tags": [ + "otter_answer_cell" + ] + }, + "outputs": [], + "source": [ + "def recursive_lsq_ff(t, pos, batch_size, ff):\n", + " \"\"\"\n", + " Perform recursive LSQ fit on iput data splitted in batches\n", + "\n", + " Parameters\n", + " ----------\n", + " t: vector containing values of time samples\n", + " pos: vector containing the positions of the system corresponding to the values of t (complex)\n", + " batch_size: size of each batch of measurements\n", + " ff: forgetting factor (in practice, keep it close to 1)\n", + " \n", + " Returns\n", + " -------\n", + " array containing model parameters estimated after each batch\n", + " \"\"\"\n", + " \n", + " if batch_size < 2:\n", + " raise ValueError(\"Invalid batch size\")\n", + " \n", + " nsteps = len(t)//batch_size\n", + "\n", + " # initialization step\n", + " A0 = computeA(t[:batch_size])\n", + " Q0 = np.linalg.inv(A0.T@A0)\n", + " \n", + " xhat0 = ...\n", + " xh_cur = xhat0\n", + " Q_cur = Q0\n", + " x_h = [xhat0] # store the history of parameters in a list\n", + " for k in np.arange(1, nsteps):\n", + " cur_time = t[k*batch_size:(k+1)*batch_size]\n", + " cur_pos = pos[k*batch_size:(k+1)*batch_size]\n", + " xhat1, Q1 = ...\n", + " x_h.append(xhat1)\n", + " xh_cur = xhat1\n", + " Q_cur = Q1\n", + " return np.array(x_h)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "cf21410e", + "metadata": { + "deletable": false, + "editable": false + }, + "outputs": [], + "source": [ + "grader.check(\"q12\")" + ] + }, + { + "cell_type": "markdown", + "id": "fb61e06c-cf61-41c0-88c1-2d49c58870ca", + "metadata": { + "deletable": false, + "editable": false + }, + "source": [ + "<!-- BEGIN QUESTION -->\n", + "\n", + "13. Use the functions defined at question 12 to predict `tr2` trajectory. Adjust the batch size and forgetting factor (hint: keep it close to 1) to improve results. Display the predicted trajectory and observed one, and also the evolution of the prediction error across time." + ] + }, + { + "cell_type": "markdown", + "id": "d01eed91", + "metadata": { + "tags": [ + "otter_answer_cell" + ] + }, + "source": [ + "_Type your answer here, replacing this text._" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "0de3bc00-2da1-4758-9158-829d3724322a", + "metadata": { + "tags": [ + "otter_answer_cell" + ] + }, + "outputs": [], + "source": [ + "ff = ..." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "6adab39d-b558-4b7f-a4d2-9ef44350f312", + "metadata": { + "tags": [ + "otter_answer_cell" + ] + }, + "outputs": [], + "source": [ + "batch_size = ..." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "b421fd4d-d7ca-4b7b-8aa5-09280ed01322", + "metadata": { + "tags": [ + "otter_answer_cell" + ] + }, + "outputs": [], + "source": [ + "x2_h_ff = ..." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "7f4204d6-6da3-4652-a491-aaf95bc6e455", + "metadata": { + "tags": [ + "otter_answer_cell" + ] + }, + "outputs": [], + "source": [ + "pred_traj2_ff = ..." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "31cd1cdc-0b4e-4563-a2cd-4a0b1874d4cb", + "metadata": { + "tags": [ + "otter_answer_cell" + ] + }, + "outputs": [], + "source": [ + "# Plot the predicted and observed data\n", + "..." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e8414ea3-f39e-4ede-a690-4e3d94ce6b29", + "metadata": { + "tags": [ + "otter_answer_cell" + ] + }, + "outputs": [], + "source": [ + "# Plot the error between prediction and observation\n", + "..." + ] + }, + { + "cell_type": "markdown", + "id": "a84ca578", + "metadata": { + "deletable": false, + "editable": false + }, + "source": [ + "<!-- END QUESTION -->\n", + "\n" + ] + } + ], + "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.11.10" + }, + "otter": { + "OK_FORMAT": true, + "tests": { + "q12": { + "name": "q12", + "points": 2, + "suites": [ + { + "cases": [ + { + "code": ">>> def test_recursive_lsq_ff(batch_size):\n... x_h = recursive_lsq_ff(data['time'][:150], data['tr1'][:150], batch_size, 0.95)\n... assert len(x_h) == 3\n... np.testing.assert_array_almost_equal(x_h[0], [9.97 - 2.03j, -2.57 - 2.57j, -4.87 - 4.77j], decimal=2)\n... np.testing.assert_array_almost_equal(x_h[1], [10.02 - 1.99j, -3.33 - 3.33j, -0.04 + 0.06j], decimal=2)\n... np.testing.assert_array_almost_equal(x_h[2], [10.18 - 1.82j, -4.79 - 4.79j, 3.99 + 4.09j], decimal=2)\n>>> batch_size = 50\n>>> test_recursive_lsq_ff(batch_size)\n", + "failure_message": "Check your implementation", + "hidden": false, + "locked": false, + "success_message": "Good, parameters seem to match" + } + ], + "scored": true, + "setup": "", + "teardown": "", + "type": "doctest" + } + ] + }, + "q2": { + "name": "q2", + "points": 2, + "suites": [ + { + "cases": [ + { + "code": ">>> def testA(N):\n... t = np.arange(0, N)\n... A = computeA(t)\n... assert A.shape == (N, 3)\n... np.testing.assert_array_almost_equal(A[:, 0], np.ones(N))\n... np.testing.assert_array_almost_equal(A[:, 1], t)\n... np.testing.assert_array_almost_equal(A[:, 2], 0.5 * t ** 2)\n>>> testA(5)\n", + "failure_message": "Check your implementation", + "hidden": false, + "locked": false, + "success_message": "Good, results seem correct" + } + ], + "scored": true, + "setup": "", + "teardown": "", + "type": "doctest" + } + ] + }, + "q3": { + "name": "q3", + "points": 2, + "suites": [ + { + "cases": [ + { + "code": ">>> def test_lsq():\n... xt = np.array([10.05 - 1.95j, -3.21 + -3.21j, 0.8 + 0.9j])\n... x = solve_lsq(data['time'], data['tr1'])\n... np.testing.assert_array_almost_equal(x, xt, decimal=2)\n>>> test_lsq()\n", + "failure_message": "Check your implementation", + "hidden": false, + "locked": false, + "success_message": "Good, parameters seem to match" + } + ], + "scored": true, + "setup": "", + "teardown": "", + "type": "doctest" + } + ] + }, + "q8": { + "name": "q8", + "points": 4, + "suites": [ + { + "cases": [ + { + "code": ">>> def test_recursive_lsq(batch_size):\n... x_h = recursive_lsq(data['time'][:150], data['tr1'][:150], batch_size)\n... assert len(x_h) == 3\n... np.testing.assert_array_almost_equal(x_h[0], [9.97 - 2.03j, -2.57 - 2.57j, -4.87 - 4.77j], decimal=2)\n... np.testing.assert_array_almost_equal(x_h[1], [10.01 - 1.99j, -3.34 - 3.34j, -0.02 + 0.08j], decimal=2)\n... np.testing.assert_array_almost_equal(x_h[2], [10.17 - 1.83j, -4.75 - 4.75j, 3.91 + 4.01j], decimal=2)\n>>> batch_size = 50\n>>> test_recursive_lsq(batch_size)\n", + "failure_message": "Check your implementation", + "hidden": false, + "locked": false, + "success_message": "Good, parameters seem to match" + } + ], + "scored": true, + "setup": "", + "teardown": "", + "type": "doctest" + } + ] + } + } + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/exercises/week06/data.npz b/exercises/week06/data.npz new file mode 100644 index 0000000000000000000000000000000000000000..d7d8fed3919fc28db7e27e3baefe5fb6b9c0a88c GIT binary patch literal 71415 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 literal 0 HcmV?d00001 -- GitLab