{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "{\n", " \"tags\": [\n", " \"hide-cell\"\n", " ]\n", "}\n", "\n", "\n", "### Import standard libraries\n", "\n", "import abc\n", "from dataclasses import dataclass\n", "import functools\n", "import itertools\n", "\n", "from typing import Any, Callable, NamedTuple, Optional, Union, Tuple\n", "\n", "import matplotlib.pyplot as plt\n", "import numpy as np\n", "\n", "\n", "import jax\n", "import jax.numpy as jnp\n", "from jax import lax, vmap, jit, grad\n", "from jax.scipy.special import logit\n", "from jax.nn import softmax\n", "from functools import partial\n", "from jax.random import PRNGKey, split\n", "\n", "import jsl\n", "import ssm_jax\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "(sec:inference)=\n", "# States estimation (inference)\n", "\n", "\n", "\n", "\n", "\n", "Given the sequence of observations, and a known model,\n", "one of the main tasks with SSMs\n", "to perform posterior inference,\n", "about the hidden states; this is also called\n", "state estimation.\n", "At each time step $t$,\n", "there are multiple forms of posterior we may be interested in computing,\n", "including the following:\n", "- the filtering distribution\n", "$p(\\hidden_t|\\obs_{1:t})$\n", "- the smoothing distribution\n", "$p(\\hidden_t|\\obs_{1:T})$ (note that this conditions on future data $T>t$)\n", "- the fixed-lag smoothing distribution\n", "$p(\\hidden_{t-\\ell}|\\obs_{1:t})$ (note that this\n", "infers $\\ell$ steps in the past given data up to the present).\n", "\n", "We may also want to compute the\n", "predictive distribution $h$ steps into the future:\n", "\\begin{align}\n", "p(\\obs_{t+h}|\\obs_{1:t})\n", "= \\sum_{\\hidden_{t+h}} p(\\obs_{t+h}|\\hidden_{t+h}) p(\\hidden_{t+h}|\\obs_{1:t})\n", "\\end{align}\n", "where the hidden state predictive distribution is\n", "\\begin{align}\n", "p(\\hidden_{t+h}|\\obs_{1:t})\n", "&= \\sum_{\\hidden_{t:t+h-1}}\n", " p(\\hidden_t|\\obs_{1:t}) \n", " p(\\hidden_{t+1}|\\hidden_{t})\n", " p(\\hidden_{t+2}|\\hidden_{t+1})\n", "\\cdots\n", " p(\\hidden_{t+h}|\\hidden_{t+h-1})\n", "\\end{align}\n", "See \n", "{numref}`fig:dbn-inference` for a summary of these distributions.\n", "\n", "```{figure} /figures/inference-problems-tikz.png\n", ":scale: 30%\n", ":name: fig:dbn-inference\n", "\n", "Illustration of the different kinds of inference in an SSM.\n", " The main kinds of inference for state-space models.\n", " The shaded region is the interval for which we have data.\n", " The arrow represents the time step at which we want to perform inference.\n", " $t$ is the current time, $T$ is the sequence length,\n", "$\\ell$ is the lag and $h$ is the prediction horizon.\n", "```\n", "\n", "In addition to comuting posterior marginals,\n", "we may want to compute the most probable hidden sequence,\n", "i.e., the joint MAP estimate\n", "```{math}\n", "\\arg \\max_{\\hidden_{1:T}} p(\\hidden_{1:T}|\\obs_{1:T})\n", "```\n", "or sample sequences from the posterior\n", "```{math}\n", "\\hidden_{1:T} \\sim p(\\hidden_{1:T}|\\obs_{1:T})\n", "```\n", "\n", "Algorithms for all these task are discussed in the following chapters,\n", "since the details depend on the form of the SSM.\n", "\n", "\n", "\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "(sec:casino-inference)=\n", "## Example: inference in the casino HMM\n", "\n", "\n", "We now illustrate filtering, smoothing and MAP decoding applied\n", "to the casino HMM from {ref}`sec:casino` and [](sec:casino). \n" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "WARNING:absl:No GPU/TPU found, falling back to CPU. (Set TF_CPP_MIN_LOG_LEVEL=0 and rerun for more info.)\n" ] } ], "source": [ "# state transition matrix\n", "A = np.array([\n", " [0.95, 0.05],\n", " [0.10, 0.90]\n", "])\n", "\n", "# observation matrix\n", "B = np.array([\n", " [1/6, 1/6, 1/6, 1/6, 1/6, 1/6], # fair die\n", " [1/10, 1/10, 1/10, 1/10, 1/10, 5/10] # loaded die\n", "])\n", "\n", "pi = np.array([0.5, 0.5])\n", "\n", "(nstates, nobs) = np.shape(B)\n", "\n", "import distrax\n", "from distrax import HMM\n", "\n", "\n", "hmm = HMM(trans_dist=distrax.Categorical(probs=A),\n", " init_dist=distrax.Categorical(probs=pi),\n", " obs_dist=distrax.Categorical(probs=B))\n", "\n", "\n", "seed = 314\n", "n_samples = 300\n", "z_hist, x_hist = hmm.sample(seed=PRNGKey(seed), seq_len=n_samples)\n" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/opt/anaconda3/lib/python3.8/site-packages/jax/_src/numpy/lax_numpy.py:4457: UserWarning: Explicitly requested dtype requested in astype is not available, and will be truncated to dtype int32. To enable more dtypes, set the jax_enable_x64 configuration option or the JAX_ENABLE_X64 shell environment variable. See https://github.com/google/jax#current-gotchas for more.\n", " lax_internal._check_user_dtype_supported(dtype, \"astype\")\n" ] } ], "source": [ "# Call inference engine\n", "\n", "filtered_dist, _, smoothed_dist, loglik = hmm.forward_backward(x_hist)\n", "map_path = hmm.viterbi(x_hist)" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "# Find the span of timesteps that the simulated systems turns to be in state 1\n", "def find_dishonest_intervals(z_hist):\n", " spans = []\n", " x_init = 0\n", " for t, _ in enumerate(z_hist[:-1]):\n", " if z_hist[t + 1] == 0 and z_hist[t] == 1:\n", " x_end = t\n", " spans.append((x_init, x_end))\n", " elif z_hist[t + 1] == 1 and z_hist[t] == 0:\n", " x_init = t + 1\n", " return spans" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "# Plot posterior\n", "def plot_inference(inference_values, z_hist, ax, state=1, map_estimate=False):\n", " n_samples = len(inference_values)\n", " xspan = np.arange(1, n_samples + 1)\n", " spans = find_dishonest_intervals(z_hist)\n", " if map_estimate:\n", " ax.step(xspan, inference_values, where=\"post\")\n", " else:\n", " ax.plot(xspan, inference_values[:, state])\n", "\n", " for span in spans:\n", " ax.axvspan(*span, alpha=0.5, facecolor=\"tab:gray\", edgecolor=\"none\")\n", " ax.set_xlim(1, n_samples)\n", " # ax.set_ylim(0, 1)\n", " ax.set_ylim(-0.1, 1.1)\n", " ax.set_xlabel(\"Observation number\")" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Text(0.5, 1.0, 'Filtered')" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "filenames": { "image/png": "/Users/kpmurphy/github/ssm-book/_build/jupyter_execute/chapters/ssm/inference_7_1.png" }, "needs_background": "light" }, "output_type": "display_data" } ], "source": [ " # Filtering\n", "fig, ax = plt.subplots()\n", "plot_inference(filtered_dist, z_hist, ax)\n", "ax.set_ylabel(\"p(loaded)\")\n", "ax.set_title(\"Filtered\")\n", " \n", "\n", " " ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Text(0.5, 1.0, 'Smoothed')" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "filenames": { "image/png": "/Users/kpmurphy/github/ssm-book/_build/jupyter_execute/chapters/ssm/inference_8_1.png" }, "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# Smoothing\n", "fig, ax = plt.subplots()\n", "plot_inference(smoothed_dist, z_hist, ax)\n", "ax.set_ylabel(\"p(loaded)\")\n", "ax.set_title(\"Smoothed\")\n", "\n", "\n", " " ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Text(0.5, 1.0, 'Viterbi')" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "filenames": { "image/png": "/Users/kpmurphy/github/ssm-book/_build/jupyter_execute/chapters/ssm/inference_9_1.png" }, "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# MAP estimation\n", "fig, ax = plt.subplots()\n", "plot_inference(map_path, z_hist, ax, map_estimate=True)\n", "ax.set_ylabel(\"MAP state\")\n", "ax.set_title(\"Viterbi\")\n" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [], "source": [ "# TODO: posterior samples\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Example: inference in the tracking LG-SSM\n", "\n", "We now illustrate filtering, smoothing and MAP decoding applied\n", "to the 2d tracking HMM from {ref}`sec:tracking-lds`. " ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [], "source": [ "key = jax.random.PRNGKey(314)\n", "timesteps = 15\n", "delta = 1.0\n", "A = jnp.array([\n", " [1, 0, delta, 0],\n", " [0, 1, 0, delta],\n", " [0, 0, 1, 0],\n", " [0, 0, 0, 1]\n", "])\n", "\n", "C = jnp.array([\n", " [1, 0, 0, 0],\n", " [0, 1, 0, 0]\n", "])\n", "\n", "state_size, _ = A.shape\n", "observation_size, _ = C.shape\n", "\n", "Q = jnp.eye(state_size) * 0.001\n", "R = jnp.eye(observation_size) * 1.0\n", "mu0 = jnp.array([8, 10, 1, 0]).astype(float)\n", "Sigma0 = jnp.eye(state_size) * 1.0\n", "\n", "from jsl.lds.kalman_filter import LDS, smooth, filter\n", "\n", "lds = LDS(A, C, Q, R, mu0, Sigma0)\n", "\n", "\n", "z_hist, x_hist = lds.sample(key, timesteps)\n", "\n" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [], "source": [ "from jsl.demos.plot_utils import plot_ellipse\n", "\n", "def plot_tracking_values(observed, filtered, cov_hist, signal_label, ax):\n", " timesteps, _ = observed.shape\n", " ax.plot(observed[:, 0], observed[:, 1], marker=\"o\", linewidth=0,\n", " markerfacecolor=\"none\", markeredgewidth=2, markersize=8, label=\"observed\", c=\"tab:green\")\n", " ax.plot(*filtered[:, :2].T, label=signal_label, c=\"tab:red\", marker=\"x\", linewidth=2)\n", " for t in range(0, timesteps, 1):\n", " covn = cov_hist[t][:2, :2]\n", " plot_ellipse(covn, filtered[t, :2], ax, n_std=2.0, plot_center=False)\n", " ax.axis(\"equal\")\n", " ax.legend()" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "L2-filter: 3.2481\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "filenames": { "image/png": "/Users/kpmurphy/github/ssm-book/_build/jupyter_execute/chapters/ssm/inference_14_1.png" }, "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# Filtering\n", "\n", "mu_hist, Sigma_hist, mu_cond_hist, Sigma_cond_hist = filter(lds, x_hist)\n", "l2_filter = jnp.linalg.norm(z_hist[:, :2] - mu_hist[:, :2], 2)\n", "print(f\"L2-filter: {l2_filter:0.4f}\")\n", "fig_filtered, axs = plt.subplots()\n", "plot_tracking_values(x_hist, mu_hist, Sigma_hist, \"filtered\", axs)" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "L2-smooth: 2.0450\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "filenames": { "image/png": "/Users/kpmurphy/github/ssm-book/_build/jupyter_execute/chapters/ssm/inference_15_1.png" }, "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# Smoothing\n", "\n", "mu_hist_smooth, Sigma_hist_smooth = smooth(lds, mu_hist, Sigma_hist, mu_cond_hist, Sigma_cond_hist)\n", "l2_smooth = jnp.linalg.norm(z_hist[:, :2] - mu_hist_smooth[:, :2], 2)\n", "print(f\"L2-smooth: {l2_smooth:0.4f}\")\n", "fig_smoothed, axs = plt.subplots()\n", "plot_tracking_values(x_hist, mu_hist_smooth, Sigma_hist_smooth, \"smoothed\", axs)" ] } ], "metadata": { "interpreter": { "hash": "6407c60499271029b671b4ff687c4ed4626355c45fd34c44476827f4be42c4d7" }, "kernelspec": { "display_name": "Python 3.9.2 ('spyder-dev')", "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.8.5" } }, "nbformat": 4, "nbformat_minor": 4 }