{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# State space modeling: Local Linear Trends" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This notebook describes how to extend the statsmodels statespace classes to create and estimate a custom model. Here we develop a local linear trend model.\n", "\n", "The Local Linear Trend model has the form (see Durbin and Koopman 2012, Chapter 3.2 for all notation and details):\n", "\n", "$$\n", "\\begin{align}\n", "y_t & = \\mu_t + \\varepsilon_t \\qquad & \\varepsilon_t \\sim\n", " N(0, \\sigma_\\varepsilon^2) \\\\\n", "\\mu_{t+1} & = \\mu_t + \\nu_t + \\xi_t & \\xi_t \\sim N(0, \\sigma_\\xi^2) \\\\\n", "\\nu_{t+1} & = \\nu_t + \\zeta_t & \\zeta_t \\sim N(0, \\sigma_\\zeta^2)\n", "\\end{align}\n", "$$\n", "\n", "It is easy to see that this can be cast into state space form as:\n", "\n", "$$\n", "\\begin{align}\n", "y_t & = \\begin{pmatrix} 1 & 0 \\end{pmatrix} \\begin{pmatrix} \\mu_t \\\\ \\nu_t \\end{pmatrix} + \\varepsilon_t \\\\\n", "\\begin{pmatrix} \\mu_{t+1} \\\\ \\nu_{t+1} \\end{pmatrix} & = \\begin{bmatrix} 1 & 1 \\\\ 0 & 1 \\end{bmatrix} \\begin{pmatrix} \\mu_t \\\\ \\nu_t \\end{pmatrix} + \\begin{pmatrix} \\xi_t \\\\ \\zeta_t \\end{pmatrix}\n", "\\end{align}\n", "$$\n", "\n", "Notice that much of the state space representation is composed of known values; in fact the only parts in which parameters to be estimated appear are in the variance / covariance matrices:\n", "\n", "$$\n", "\\begin{align}\n", "H_t & = \\begin{bmatrix} \\sigma_\\varepsilon^2 \\end{bmatrix} \\\\\n", "Q_t & = \\begin{bmatrix} \\sigma_\\xi^2 & 0 \\\\ 0 & \\sigma_\\zeta^2 \\end{bmatrix}\n", "\\end{align}\n", "$$" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": false, "execution": { "iopub.execute_input": "2026-10-05T19:00:16.469880Z", "iopub.status.busy": "2026-10-05T19:00:16.469629Z", "iopub.status.idle": "2026-10-05T19:00:18.769145Z", "shell.execute_reply": "2026-10-05T19:00:18.767594Z" }, "jupyter": { "outputs_hidden": false } }, "outputs": [], "source": [ "%matplotlib inline\n", "\n", "import matplotlib.pyplot as plt\n", "import numpy as np\n", "import pandas as pd\n", "\n", "import statsmodels.api as sm" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "To take advantage of the existing infrastructure, including Kalman filtering and maximum likelihood estimation, we create a new class which extends from `statsmodels.tsa.statespace.MLEModel`. There are a number of things that must be specified:\n", "\n", "1. **k_states**, **k_posdef**: These two parameters must be provided to the base classes in initialization. The inform the statespace model about the size of, respectively, the state vector, above $\\begin{pmatrix} \\mu_t & \\nu_t \\end{pmatrix}'$, and the state error vector, above $\\begin{pmatrix} \\xi_t & \\zeta_t \\end{pmatrix}'$. Note that the dimension of the endogenous vector does not have to be specified, since it can be inferred from the `endog` array.\n", "2. **update**: The method `update`, with argument `params`, must be specified (it is used when `fit()` is called to calculate the MLE). It takes the parameters and fills them into the appropriate state space matrices. For example, below, the `params` vector contains variance parameters $\\begin{pmatrix} \\sigma_\\varepsilon^2 & \\sigma_\\xi^2 & \\sigma_\\zeta^2\\end{pmatrix}$, and the `update` method must place them in the observation and state covariance matrices. More generally, the parameter vector might be mapped into many different places in all of the statespace matrices.\n", "3. **statespace matrices**: by default, all state space matrices (`obs_intercept, design, obs_cov, state_intercept, transition, selection, state_cov`) are set to zeros. Values that are fixed (like the ones in the design and transition matrices here) can be set in initialization, whereas values that vary with the parameters should be set in the `update` method. Note that it is easy to forget to set the selection matrix, which is often just the identity matrix (as it is here), but not setting it will lead to a very different model (one where there is not a stochastic component to the transition equation).\n", "4. **start params**: start parameters must be set, even if it is just a vector of zeros, although often good start parameters can be found from the data. Maximum likelihood estimation by gradient methods (as employed here) can be sensitive to the starting parameters, so it is important to select good ones if possible. Here it does not matter too much (although as variances, they should't be set zero).\n", "5. **initialization**: in addition to defined state space matrices, all state space models must be initialized with the mean and variance for the initial distribution of the state vector. If the distribution is known, `initialize_known(initial_state, initial_state_cov)` can be called, or if the model is stationary (e.g. an ARMA model), `initialize_stationary` can be used. Otherwise, `initialize_approximate_diffuse` is a reasonable generic initialization (exact diffuse initialization is not yet available). Since the local linear trend model is not stationary (it is composed of random walks) and since the distribution is not generally known, we use `initialize_approximate_diffuse` below.\n", "\n", "The above are the minimum necessary for a successful model. There are also a number of things that do not have to be set, but which may be helpful or important for some applications:\n", "\n", "1. **transform / untransform**: when `fit` is called, the optimizer in the background will use gradient methods to select the parameters that maximize the likelihood function. By default it uses unbounded optimization, which means that it may select any parameter value. In many cases, that is not the desired behavior; variances, for example, cannot be negative. To get around this, the `transform` method takes the unconstrained vector of parameters provided by the optimizer and returns a constrained vector of parameters used in likelihood evaluation. `untransform` provides the reverse operation.\n", "2. **param_names**: this internal method can be used to set names for the estimated parameters so that e.g. the summary provides meaningful names. If not present, parameters are named `param0`, `param1`, etc." ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": false, "execution": { "iopub.execute_input": "2026-10-05T19:00:18.771495Z", "iopub.status.busy": "2026-10-05T19:00:18.771111Z", "iopub.status.idle": "2026-10-05T19:00:18.781671Z", "shell.execute_reply": "2026-10-05T19:00:18.780474Z" }, "jupyter": { "outputs_hidden": false } }, "outputs": [], "source": [ "\"\"\"\n", "Univariate Local Linear Trend Model\n", "\"\"\"\n", "\n", "\n", "class LocalLinearTrend(sm.tsa.statespace.MLEModel):\n", " def __init__(self, endog):\n", " # Model order\n", " k_states = k_posdef = 2\n", "\n", " # Initialize the statespace\n", " super().__init__(\n", " endog,\n", " k_states=k_states,\n", " k_posdef=k_posdef,\n", " initialization=\"approximate_diffuse\",\n", " loglikelihood_burn=k_states,\n", " )\n", "\n", " # Initialize the matrices\n", " self.ssm[\"design\"] = np.array([1, 0])\n", " self.ssm[\"transition\"] = np.array([[1, 1], [0, 1]])\n", " self.ssm[\"selection\"] = np.eye(k_states)\n", "\n", " # Cache some indices\n", " self._state_cov_idx = (\"state_cov\",) + np.diag_indices(k_posdef)\n", "\n", " @property\n", " def param_names(self):\n", " return [\"sigma2.measurement\", \"sigma2.level\", \"sigma2.trend\"]\n", "\n", " @property\n", " def start_params(self):\n", " return [np.std(self.endog)] * 3\n", "\n", " def transform_params(self, unconstrained):\n", " return unconstrained**2\n", "\n", " def untransform_params(self, constrained):\n", " return constrained**0.5\n", "\n", " def update(self, params, *args, **kwargs):\n", " params = super().update(params, *args, **kwargs)\n", "\n", " # Observation covariance\n", " self.ssm[\"obs_cov\", 0, 0] = params[0]\n", "\n", " # State covariance\n", " self.ssm[self._state_cov_idx] = params[1:]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Using this simple model, we can estimate the parameters from a local linear trend model. The following example is from Commandeur and Koopman (2007), section 3.4., modeling motor vehicle fatalities in Finland." ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": false, "execution": { "iopub.execute_input": "2026-10-05T19:00:18.784490Z", "iopub.status.busy": "2026-10-05T19:00:18.783630Z", "iopub.status.idle": "2026-10-05T19:00:18.996706Z", "shell.execute_reply": "2026-10-05T19:00:18.995165Z" }, "jupyter": { "outputs_hidden": false } }, "outputs": [], "source": [ "# Download the dataset\n", "df = pd.read_table(\n", " \"https://raw.githubusercontent.com/statsmodels/smdatasets/refs/heads/main/data/statespace-local-linear-trend/NorwayFinland.txt\",\n", " skiprows=1,\n", " header=None,\n", " sep=r\"\\s+\",\n", " engine=\"python\",\n", " names=[\"date\", \"nf\", \"ff\"],\n", ")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Since we defined the local linear trend model as extending from `MLEModel`, the `fit()` method is immediately available, just as in other statsmodels maximum likelihood classes. Similarly, the returned results class supports many of the same post-estimation results, like the `summary` method.\n" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": false, "execution": { "iopub.execute_input": "2026-10-05T19:00:18.999187Z", "iopub.status.busy": "2026-10-05T19:00:18.998917Z", "iopub.status.idle": "2026-10-05T19:00:19.071875Z", "shell.execute_reply": "2026-10-05T19:00:19.070779Z" }, "jupyter": { "outputs_hidden": false } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " Statespace Model Results \n", "==============================================================================\n", "Dep. Variable: lff No. Observations: 34\n", "Model: LocalLinearTrend Log Likelihood 27.510\n", "Date: Mon, 05 Oct 2026 AIC -49.020\n", "Time: 19:00:19 BIC -44.623\n", "Sample: 01-01-1970 HQIC -47.563\n", " - 01-01-2003 \n", "Covariance Type: opg \n", "======================================================================================\n", " coef std err z P>|z| [0.025 0.975]\n", "--------------------------------------------------------------------------------------\n", "sigma2.measurement 0.0010 0.003 0.346 0.730 -0.005 0.007\n", "sigma2.level 0.0074 0.005 1.564 0.118 -0.002 0.017\n", "sigma2.trend 2.497e-11 0.000 1.66e-07 1.000 -0.000 0.000\n", "===================================================================================\n", "Ljung-Box (L1) (Q): 0.00 Jarque-Bera (JB): 0.68\n", "Prob(Q): 0.95 Prob(JB): 0.71\n", "Heteroskedasticity (H): 0.75 Skew: -0.02\n", "Prob(H) (two-sided): 0.64 Kurtosis: 2.29\n", "===================================================================================\n", "\n", "Warnings:\n", "[1] Covariance matrix calculated using the outer product of gradients (complex-step).\n" ] } ], "source": [ "# Load Dataset\n", "df.index = pd.date_range(\n", " start=f\"{df.date[0]}-01-01\", end=f\"{df.iloc[-1, 0]}-01-01\", freq=\"YS\"\n", ")\n", "\n", "# Log transform\n", "df[\"lff\"] = np.log(df[\"ff\"])\n", "\n", "# Setup the model\n", "mod = LocalLinearTrend(df[\"lff\"])\n", "\n", "# Fit it using MLE (recall that we are fitting the three variance parameters)\n", "res = mod.fit(disp=False)\n", "print(res.summary())" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Finally, we can do post-estimation prediction and forecasting. Notice that the end period can be specified as a date." ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": false, "execution": { "iopub.execute_input": "2026-10-05T19:00:19.074751Z", "iopub.status.busy": "2026-10-05T19:00:19.073896Z", "iopub.status.idle": "2026-10-05T19:00:19.083797Z", "shell.execute_reply": "2026-10-05T19:00:19.083144Z" }, "jupyter": { "outputs_hidden": false } }, "outputs": [], "source": [ "# Perform prediction and forecasting\n", "predict = res.get_prediction()\n", "forecast = res.get_forecast(\"2014\")" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": false, "execution": { "iopub.execute_input": "2026-10-05T19:00:19.085919Z", "iopub.status.busy": "2026-10-05T19:00:19.085735Z", "iopub.status.idle": "2026-10-05T19:00:19.503205Z", "shell.execute_reply": "2026-10-05T19:00:19.501794Z" }, "jupyter": { "outputs_hidden": false } }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAzoAAAFkCAYAAADoqk4aAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjExLjIsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvgI3uAAAAAAlwSFlzAAAPYQAAD2EBqD+naQAAld5JREFUeJzs3Xd4FNX6B/Dv7GxL7wHSSAKh994EVEARFQXBjiJW9MoV77VfhHtV7k+9ig0VRbGgqGCvIIoiXem9hBCSEELqpm2d8/tjs0uWFHaT3ZTN9/M8+4SdnXJmyMK8857zHkkIIUBERERERORHVM3dACIiIiIiIm9joENERERERH6HgQ4REREREfkdBjpEREREROR3GOgQEREREZHfYaBDRERERER+h4EOERERERH5HQY6RERERETkd9SebmC1WrF9+3bk5eUhLi4O/fv3hyRJ591u9+7dOHHiBNLS0tCtW7cGNZaIiIiIiMgdHgU6+/fvx6RJkyDLMrp164Zdu3YhNDQUP/30ExISEmrdxmw2Y/r06Vi/fj369euHbdu2Ydq0aXj77bfdCpCIiIiIiIg85VHXtcceewxxcXE4fPgwvv32Wxw5cgRWqxVPPfVUndssWrQIGzZswK5du7B27Vps2rQJH330ET788MNGN56IiIiIiKg2HgU6lZWVSElJgUpl30yv1yMhIQFGo7HObT744ANce+21zoxPz549MXHiRHzwwQeNaDYREREREVHdPOq69tRTT2H69Ol4/PHH0aNHD2zZsgXZ2dl48803a13farXiwIED+Nvf/uayvE+fPnjjjTfqPI7JZILJZHK+VxQFhYWFiIqKYnc3IiIiIqI2TAiB0tJSxMXFORMwtfEo0ElKSsLgwYPx8ccfo1u3bti7dy8uueQStGvXrtb1y8rKYLPZEBER4bI8KioKxcXFdR5n4cKFWLBggSdNIyIiIiKiNuTkyZN11gkAPAx0rr32WgQEBODw4cNQq9WorKzE6NGjcffdd2P58uU11tfpdACAiooKl+VlZWXQ6/V1HufRRx/F3Llzne9LSkqQlJSEkydPIjQ01JMmExERERGRHzEYDEhMTERISEi967kd6NhsNqxfvx5LliyBWm3fLCAgAJMnT8arr75a6zYBAQFo3749MjMzXZZnZmYiNTW1zmPpdDpnkFRdaGgoAx0iIiIiIjrvkBa3ixHIsoz27dvj0KFDLssPHjyI+Ph45/v9+/fj66+/dr6fOHEiPv/8cyiKAgAwGo345ptvMHHiRHcPTURERERE5BGPuq49/vjjeOCBByCEQJ8+fbB582asWLECn3zyiXOdTz/9FIsWLXKOwZk3bx4GDx6MqVOn4rLLLsOKFSugVqtduqYRERERERF5k0flpWfPno1ffvkFQgisXr0aISEh+PPPPzF16lTnOj169MDkyZOd75OTk7F9+3Z069YN69atwwUXXIBt27YhKirKe2dBRERERERUjSSEEM3diPMxGAwICwtDSUkJx+gQEREREbVh7sYGHmV0iIiIiIiIWgMGOkRERERE5HcY6BARERERkd9hoENERERERH6HgQ4REREREfkdBjpEREREROR3GOgQEREREZHfYaBDRERERER+h4EOERERERH5HQY6RERERETkdxjoEBERERGR32GgQ0REREREfoeBDhERERER+R0GOkRERERE5HcY6BARERERkd9hoENERERERH6HgQ4REREREfkdBjpEREREROR3GOgQEREREZHfYaBDRERERER+h4EOERERERH5HQY6RERERETkdxjoEBERERGR32GgQ0REREREfoeBDhERERER+R0GOkRERERE5HcY6BARERERkd9Re7LylVdeifT09BrLx4wZg9dee63WbZYsWYKXX37ZZVloaCg2btzoyaGJiIiIiIjc5lGg87///Q8mk8n5/tSpU5gwYQLuueeeOrfJy8uDLMtYvny5c5ksyw1oKhERERERkXs8CnTS0tJc3n/77bcICAjAjTfeWO92AQEB6NWrl+etIyIiIiIiagCPAp1zvfPOO5g2bRrCw8PrXe/IkSMYPnw49Ho9hgwZgocffhiRkZGNOTQREREREVGdGhzo/P777zhy5AjeeeedetfT6XS4++67cemll6K4uBhPP/00PvnkE+zevRuhoaG1bmMymVy6yBkMhoY2k4iIiIiI2iBJCCEasuEtt9yCrVu34sCBA/WuZ7VaoVafjaeKi4uRmpqKhx56CI888kit28yfPx8LFiyosbykpKTO4IiIiIiIiPyfwWBAWFjYeWODBpWXNhgMWLlyJe64447zrls9yAGA8PBw9OnTB3v37q1zm0cffRQlJSXO18mTJxvSTCIiIiIiaqMa1HXt448/htVqxYwZMxp0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QWhoqMtnRqMRx48fR0pKirPAwcFTBphtCjrHBCNQ1/Q1u4mofrV9b4mIiIjcUV9sUJ1fTjTjbxkdRVGchRb8hT+eExERERG1HH4Z6DiSVCr/iHNw2223YcaMGc3djAarLai5//77MWXKlGZqERERERH5O78MdBy31C09o1NYWIg5c+YgKSkJarUaUVFRuPbaa3Hw4MHmbppXzZ49G9OnT3dZJssyB6ETERERkc/4XaAjhGgVGZ3CwkIMGzYM27Ztw5dffgmTyYQdO3YgJCQEQ4cOxfbt25u0PedmXRRFgRDCWeyhuurLhRCwWq2wWq117tfxd+JYTwiBF198EZ999lmj2khEREREVBc/DHTO/tnTjE5WVhZ+/fVXZGVleblVNf3rX/9CXl4evvvuOwwYMACyLCMpKQlvv/02+vbti9tvv91l/dLSUtx2221o3749AgMDMXPmTFRWVjo/37hxI4YNG4aAgAAkJCTgoYcecvl86dKl6Nq1KzQaDVJSUvDMM8+4BDG33XYbrr76asyaNQthYWHo0aMHfvzxRwQGBqKoyLWE30MPPYShQ4cCABYuXFhVxluP4OBgZ1U9hwULFuCtt97CF1984Vzv119/rdF1TVEU/Pvf/0ZcXBxkWUa3bt3wySefuBz3tttuw5QpU3D33XejQ4cOCA0NxQ033ICysjK3rwMRERERtQ1+F+go1SIdTzI6S5cuRceOHXHRRRehY8eOWLp0qQ9aZyeEwCeffIKbb74ZERERNT6fM2cOduzY4dKF7euvv0Z0dDQOHTqEzZs3Y/369Xj00Uedn0+dOhWXXHIJCgoKsH37dnTo0AHr168HALz11ltYsGAB3n77bZSXl+PLL7/EsmXL8L///c/luF9//TU6deqErKwsHDx4EOPHj0d4eDhWrlzpXEdRFHz88ce46aabAACPPfaYM1OTk5OD8ePH4/LLL4fBYABgD3TuvPNOTJkyxbneRRddVOOcX375Zbz88sv48MMPYTAY8OCDD+KGG27A5s2bXdb76quv0KVLFxw5cgR//vknNmzYgOeff96t60BEREREbYhoBUpKSgQAUVJSUuOzyspKsX//flFZWSmEEMJssYldJ4vE7pPFbu//5MmTQqVSCQDOlyzL4uTJk147h+ry8/MFAPHKK6/U+vmePXsEAPHVV18JIYS45ZZbRGJiorBarc51VqxYIXQ6naioqBCVlZVCkiSxfv36WveXmJgoli1bJoQQQlEUYbPZxNtvvy26du3qXOeWW24RvXr1qrHt3/72NzFmzBjn+19++UXIsixyc3NrrGuz2YTFYhHt2rUT3333nXP5XXfdJaZOneqy7r333ismT57sfB8XFycWLlzoss4VV1whpkyZ4tLGoUOHuqzz8MMPi3HjxgkhxHmvA7Uc535viYiIiNxVX2xQnf9ldGDP6HjSa+3IkSM1xn7YbDYcPXrUm02rQdQxhZGjLdW73vXv399l8P7gwYNhMplw/Phx6PV63HXXXbjiiitw1113YcWKFSguLgYAnDlzBidPnsSsWbOgVquh0Wig1Wpx11134eTJky7H7dGjR4223Hjjjfj999+d6y5fvhzjxo1Du3btAAAZGRmYNm0aYmJioFarodfrcfr0aWRmZrp9HQwGA3JycjBkyBCX5UOHDsWBAwdclnXq1MnlfXh4uLNrXX3XgYiIiIjaFr8LdByxg8qDSCctLQ0qleulkGUZnTt39mbTnCIjIxEdHV1ndTXH8i5dujiXnRsUOd47gqHXX38da9euRXJyMhYvXozk5GSsW7fOud53333n7DrmeJWXl7vsU6PR1GjL0KFD0blzZ3z88ccwmUxYtWqVs9saAFx33XVQqVTYunUrzGYzrFYrkpKS6ixOUJ/azvHccVbnG3dV13UgIiIiorbF7wIdRXie0UlISMCSJUucGRNZlvHmm28iISHBF02EJEm4/vrr8cEHHyA/P7/G54sWLcKgQYPQtWtX57IdO3a4FA/YsmUL9Ho9UlJSnMsGDBiARx99FL///jsuuugivPHGG4iNjUVCQgJ++OGHBrf3hhtuwPLly/Hdd9/BYrHg6quvBmDPev3555+45557kJKSArVajezs7BrFHDQaTa3V2xxCQ0ORkJCALVu2uCzfvHlzrVmm86ntOhARERFR2+J3gU5DMjoAMGvWLGRkZODXX39FRkYGZs2a5YPWnfWf//wHiYmJmDhxIjZt2oTKykocOXIEN998Mw4cOFCjGEJWVhbmzp2LvLw8bN26FY8//jjuuece6PV6nDhxAtdccw02btyI0tJSHDhwAPv370daWhoAe0GAxYsX45VXXkFeXh4yMzPx7rvvYs6cOW619aabbsLu3bsxf/58XHXVVQgKCgJgDwi7dOmCd999F4WFhTh06BBuvPHGGt0Ak5OTsW/fPuTl5TnLS5/rkUcewfPPP48ff/wRhYWFeO211/Djjz/ioYcecvuanu86EBEREVHboW7uBnhbQzI6DgkJCT7L4pwrLCwMGzduxDPPPIMZM2YgOzsb4eHhGDduHP7880+XsSiyLGPq1Kkwm80YNGgQSktLMX36dDzzzDMAgI4dO+L666/HQw89hD179iAiIgJTp07FE088AcBeljkkJATPPfccHn30UURHR2P8+PGYN2+eyzHqGjPUuXNnDB8+HFu3bsVzzz3n8tny5csxe/ZsJCUlISoqCjNnzkReXp5LV8CZM2fil19+Qbdu3WAwGLB69eoaE4bOnj0b5eXlmD17NnJzc9GlSxesXLkSgwcPrreNKpUKarXaretARERERG2HJOq6u21BDAYDwsLCUFJSgtDQUJfPjEYjjh8/jpSUFOj1ehgqLcgoKEegVo3OscHN1GIiqs+531siIiIid9UXG1Tnd13XGpPRISIiIiIi/+B3gY4jP8U4h4iIiIio7fK7QMeR0fG0GAEREREREfkPvwt0zlZda952EBERERFR8/G7QEeB60SaRERERETU9vhdoMOMDhERERER+V2gc7bqGiMdIiIiIqK2yu8CHWZ0iIiIiIjI7wIdZnSIiIiIiMjvAh1mdPzbc889h//+97/NdvylS5fi0UcfbbbjV1dUVIRx48bh5MmTAICcnByMGzcOp0+fbvA+vbEPIiIiopZA3dwN8LbWltH54Ycf8MUXXyA7Oxvh4eEYN24cbrrpJmg0muZuGl566SWUlJRg3rx5zd0Up3379sFqtTbb8Y8cOYKdO3fW+fmyZcvw4YcfAgBkWUZ8fDwuu+wyTJ061eu/kyaTCWvXrkV5eTkAoKKiAmvXrkVlZaVb2588eRIzZ87EihUrEB0d3aB9EBEREbVUzOg0E0VRcNNNN+HGG29EcnIy7r33XowZMwbPPfcchg8fjsLCwuZuIg4cOIDdu3c3dzNalaNHj+LAgQN45JFHMHfuXHTu3Bk333wz/vWvf/n82PHx8VizZg3at2/v1vrl5eVYu3YtjEZjg/dBRERE1FIxo9NMXnnlFXz88cf4888/0b9/f+fy6667Dr1798bs2bOxYsUKAPbuWjabDV27dsXXX3+NsrIyXHHFFZgxY4bLPg8fPozXXnsNx44dQ2JiImbOnIkhQ4bU246CggK88sor2LVrF6KionD99dfj4osvxrJly/Dtt9/CYrFg3Lhxznb079//vMdxtDc1NRXfffcdSktLce211+Laa6+tty3Lly/Hu+++CwAICwvDgAEDMGfOHAQHB9dY94svvmjUtXD3WD/99BPeeecdyLKMCy+8EMIRSdcjICDAec0uueQSlJSU4JVXXsFTTz2Fm266CdOnT8fBgwfxxx9/YOzYsZg7dy7MZjOWLl2Kn3/+GWq1GiNHjsQ999zjktnLz8/HwoULceTIEXTp0gXXXXedy3GLiorw3//+F8uXL4derwcAmM1mvPPOO1i7di3UajWmTZuGKVOmwGAw4LbbbgMAXH/99dDpdBg2bBhmz55dYx8GgwEvvfQStmzZguDgYEyZMgXTp093HvfYsWO466678Morr+Ddd9/F4cOHkZqaikceeQSxsbHnvV5EREREvuB/gY4iYLTYYDTbUKFu2i5OARrZ7QDr1VdfxdSpU12CHAAIDQ3Fww8/jPvuuw8vvfQS2rVrh3379mHVqlUYPXo0Zs6ciZycHNxzzz0A4LzB37x5MyZNmoS7774bd955Jw4cOIDx48fjk08+waWXXlpnOy6//HKEhobirrvuQllZGZ577jlIkoQLLrgA/fv3R0lJCR555BEAQMeOHd06zr59+7By5Ur06dMHc+bMwYkTJ3DrrbeitLQUt99+e51tGTlyJNq1awcAKCwsxBtvvIGvvvoKW7ZscbmuX331FYqKihp1Ldw51vfff4+rrroKDz/8MPr27YulS5fijz/+wMiRI935K3ZKTExEaWkpjEYj/vjjD3z99de4+eabceedd6JTp06w2Wy44oorUFlZiXvuuQeyLGPRokX46aef8N133wEArFYrxo4di4iICPztb39Denp6jb/Xc7udWa1WXHbZZUhPT8fDDz+M8PBwLF++HABwxRVX4I477sCmTZtw7733Ijo6GjExMTX2YbPZcOGFF0KWZcydOxe5ubmYNWsW0tPTnb8XpaWlWLt2LSZNmoQHHngAw4cPx4svvojLLrsM27Zta/EPHYiIiMg/NTjQ+eabb/Doo49iwoQJeOGFF+pcb8mSJXj55ZddloWGhmLjxo0NPXS9Kqw2TH9zs0/2fT77/30JArXnv6SlpaU4evQo7rzzzlo/HzRoEIQQ2LFjh/NmNiYm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ALFs2TJfnmKz+uOPP8R3330nbDabCAsLqzXQGTRokLjyyiud/y/l5OSIqKgosXz5co/WeeWVV0TXrl19fEYty/vvvy/y8/Od77dv3y7UarX45JNPnMs+/vhjodPpxJ49e4QQQpw6dUq0b99ezJ8/3+vr+JsVK1aInJwc5/sjR46IoKAg8dprrzmXrVmzRkiSJDZs2CCEEKK4uFh06tTJJeB0Z50ffvhByLLs61NqUVatWuVyn3Xy5EkRGRkpnn76aeeyrVu3uvzfV15eLvr06SNuuukm5zoZGRli2bJloqKiQlx88cW1Bjru7KctapJAx6GuQOfDDz8UAFwi3MrKSgFAvPPOO7Xuy2QyiaioKPHPf/7TuezkyZMCgMt/vGazWYSHh4vnn3/ey2fT8tQV6Pz4448CgMjKynJZHhwc7HKTXZ2iKCI1NVXMnDnTZfnkyZPFNddcI7744gvxxx9/OG/I24K6Ap3NmzcLAGLv3r0uyxMSElxusjt16uSSnVEURXTs2NGZEbNYLCIoKEi89NJLLvvp06ePuPvuu719Oi1OXYHOwYMHBQDxxx9/uCzv1auXmD17tvP9wIEDxf333++yTu/evcU//vEP5/s5c+aIUaNGia+++kr8+uuvorCw0Adn0nLVFujk5+cLAOLLL790WT527Fgxffp0t9cRQoiePXuKv/3tby7rTJkyRYwbN86bp9Fi1RbomM1moVKpagR7V111lZgwYYLb6whhD3SSk5PF999/L1avXi1OnTrlozNp2dLS0sSjjz7qfD9p0iRxxRVXuKwzd+5c0blzZ6+v0xYMHz5c3HHHHc73t9xyixg+fLjLOs8884yIiIhwPvhwZx1HoLNmzRrx3XffiYyMDB+fScs0ceJEMW3aNOf7OXPmiO7du7uss3jxYqHX60VlZWWN7esKdDzdT1vRIooRxMXFAQAOHjzoXOboR79r165at/nyyy9RUFCA22+/3blsz549AODSJ1yj0aBr167Oz9qi2q5vVlYWysvL67y+v/76K9LT03HHHXfU+OyPP/7A22+/jdtvvx2pqan46quvfNPwVqK261tQUIAzZ864XN+XX34Z77//Pv7zn/9g2bJluPbaa5GUlITZs2cDsPfxLy8vrzGmoXfv3m3697dDhw6QJMnl+paVlSErK8vl+v7vf//D119/jXnz5mHZsmW45ZZb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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, ax = plt.subplots(figsize=(10, 4))\n", "\n", "# Plot the results\n", "df[\"lff\"].plot(ax=ax, style=\"k.\", label=\"Observations\")\n", "predict.predicted_mean.plot(ax=ax, label=\"One-step-ahead Prediction\")\n", "predict_ci = predict.conf_int(alpha=0.05)\n", "predict_index = np.arange(len(predict_ci))\n", "ax.fill_between(\n", " predict_index[2:], predict_ci.iloc[2:, 0], predict_ci.iloc[2:, 1], alpha=0.1\n", ")\n", "\n", "forecast.predicted_mean.plot(ax=ax, style=\"r\", label=\"Forecast\")\n", "forecast_ci = forecast.conf_int()\n", "forecast_index = np.arange(len(predict_ci), len(predict_ci) + len(forecast_ci))\n", "ax.fill_between(\n", " forecast_index, forecast_ci.iloc[:, 0], forecast_ci.iloc[:, 1], alpha=0.1\n", ")\n", "\n", "# Cleanup the image\n", "ax.set_ylim((4, 8))\n", "legend = ax.legend(loc=\"lower left\");" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### References\n", "\n", " Commandeur, Jacques J. F., and Siem Jan Koopman. 2007.\n", " An Introduction to State Space Time Series Analysis.\n", " Oxford ; New York: Oxford University Press.\n", "\n", " Durbin, James, and Siem Jan Koopman. 2012.\n", " Time Series Analysis by State Space Methods: Second Edition.\n", " Oxford University Press." ] } ], "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.14.7" } }, "nbformat": 4, "nbformat_minor": 4 }