Skip to content

Instantly share code, notes, and snippets.

@ChadFulton
Created November 21, 2014 05:57
Show Gist options
  • Save ChadFulton/a07d1a95c1945e4f3792 to your computer and use it in GitHub Desktop.
Save ChadFulton/a07d1a95c1945e4f3792 to your computer and use it in GitHub Desktop.
Python - Econometric Modeling
Display the source blob
Display the rendered blob
Raw
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Display the source blob
Display the rendered blob
Raw
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Display the source blob
Display the rendered blob
Raw
{
"metadata": {
"name": "",
"signature": "sha256:21df03244b2e909a4f78910fd191abe03b731c45c9341e84a3a0aad0df3c52f2"
},
"nbformat": 3,
"nbformat_minor": 0,
"worksheets": [
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# State space models in Python\n",
"\n",
"The below describes fitting state-space models using the `ssm` module `dismalpy` (very much still a work-in-progress), which can be found at http://github.com/ChadFulton/dismalpy."
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"# Show plots inline in the notebook\n",
"%matplotlib inline\n",
"import matplotlib.pyplot as plt\n",
"\n",
"# Numpy is the Python numerical library\n",
"import numpy as np\n",
"# Pandas allows working with datasets\n",
"import pandas as pd\n",
"# Dismalpy.ssm is my state space library\n",
"from dismalpy import ssm"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 1
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## State space models\n",
"\n",
"Following Durbin and Koopman (2012), write the general linear Gaussian state space model as\n",
"\n",
"$$\n",
"\\begin{align}\n",
"y_t & = Z_t \\alpha_t + d_t + \\varepsilon_t \\hspace{3em} & \\varepsilon_t & \\sim N(0, H_t) \\hspace{3em} & \\text{(Observation equation)}\\\\\n",
"\\alpha_{t+1} & = T_t \\alpha_t + c_t + R_t \\eta_t & \\eta_t & \\sim N(0, Q_t) \\hspace{3em} & \\text{(Transition equation)} \\\\\n",
"& & \\alpha_1 & \\sim N(a_1, P_1) \\hspace{3em} & \\text{(Initialization)}\n",
"\\end{align}\n",
"$$\n",
"\n",
"Then names and dimensions of the state-space components are given below.\n",
"\n",
"**Observation equation**\n",
"\n",
"| Variable | Name | Dimensions |\n",
"|-----------------|-----------------------------------|--------------|\n",
"| $y_t$ | **observation vector** | $p \\times 1$ |\n",
"| $Z_t$ | **design matrix** | $p \\times m$ |\n",
"| $\\alpha_t$ | **state vector** (time $t$) | $m \\times 1$ |\n",
"| $d_t$ | **observation intercept** | $p \\times 1$ |\n",
"| $\\varepsilon_t$ | **observation disturbance** | $p \\times 1$ |\n",
"| $H_t$ | **observation covariance matrix** | $p \\times p$ |\n",
"\n",
"**Transition equation**\n",
"\n",
"| Variable | Name | Dimensions |\n",
"|----------------|-------------------------------|--------------|\n",
"| $\\alpha_{t+1}$ | **state vector** (time $t+1$) | $m \\times 1$ |\n",
"| $T_t$ | **transition matrix** | $m \\times m$ |\n",
"| $c_t$ | **state intercept** | $m \\times 1$ |\n",
"| $R_t$ | **selection matrix** | $m \\times r$ |\n",
"| $\\eta_t$ | **state disturbance** | $r \\times 1$ |\n",
"| $Q_t$ | **state covariance matrix** | $r \\times r$ |\n",
"\n",
"**Initialization**\n",
"\n",
"| Variable | Name | Dimensions |\n",
"|----------|-------------------------------------|--------------|\n",
"| $a_1$ | **Initial state mean** | $m \\times 1$ |\n",
"| $P_1$ | **Initial state covariance matrix** | $m \\times m$ |"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### State-space models in Python\n",
"\n",
"We can construct a general representation of a state-space model as a *class* (see [Sargent and Stachurski's lecture](http://quant-econ.net/py/python_oop.html) on object-oriented programming for an introduction). In basic terms, a class is an abstraction used to collect attributes (data) and methods (functions) in an unified object.\n",
"\n",
"For the state-space representation above, we have the following:\n",
"\n",
"**Attributes**\n",
"\n",
"- observation vector\n",
"- observation intercept\n",
"- design matrix\n",
"- observation covariance matrix\n",
"- state intercept\n",
"- state transition matrix\n",
"- selection matrix\n",
"- state covariance matrix\n",
"\n",
"**Methods**\n",
"\n",
"We haven't defined any methods yet, but we can think of *filtering*, *smoothing*, and *simulation smoothing* as methods of a statespace model (i.e. things you can *do* with it).\n",
"\n",
"- Kalman filtering\n",
"- Kalman smoothing\n",
"- Simulation smoothing\n",
"\n",
"#### Representation class\n",
"\n",
"The basic statespace class is `ssm.Representation`, which broadly looks like the following pseudo-python-code:\n",
"\n",
"```python\n",
"class Representation:\n",
" # Attributes - these are matrices (actually numpy arrays)\n",
" endog # observation vector\n",
" obs_intercept\n",
" design\n",
" obs_cov\n",
"\n",
" state_intercept\n",
" transition\n",
" selection\n",
" state_cov\n",
"\n",
" def __init__(endog, k_states, k_posdef=None):\n",
" # this is the \"constructor\" for the class:\n",
" # when you instantiate a specific state space\n",
" # representation, you need to give the endogenous\n",
" # variable(s) (the observations), the number of\n",
" # states, and optionally the actual number of\n",
" # state disturbance elements\n",
"\n",
" def filter():\n",
" # perform Kalman filtering method\n",
" # ...\n",
"\n",
" def smooth():\n",
" # perform Kalman smoothing\n",
" # ...\n",
"\n",
" def simulation_smoother():\n",
" # Retrieve a simulation smoother\n",
" # (i.e. an object that has a method\n",
" # for drawing samples of the states, etc.)\n",
" # ...\n",
"\n",
" # other methods include\n",
" # initialize_known\n",
" # initialize_approximate_diffuse\n",
" # initialize_stationary\n",
"```\n",
"\n",
"Given this class, you can create a state space representation (that by default has all attributes as zero matrices) by instantiating an object of the class:"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"# Instantiate the class as an object, named model\n",
"model = ssm.Representation([1,2,3,4], k_states=1)\n",
"\n",
"# We can retrieve attributes using ['<name>']\n",
"print 'Design', model['design']\n",
"# the design matrix is k_endog x k_states, which\n",
"# here is 1 x 1\n",
"\n",
"# The dimensions of the state space representation are also stored\n",
"# as attributes which can be retrieved using .<name> noatation\n",
"print 'Dims', model.nobs, model.k_endog, model.k_states, model.k_posdef\n",
"\n",
"# Some descriptive components of a state space model are calculated\n",
"# on demand\n",
"print 'Time-invariant?', model.time_invariant"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"Design [[0]]\n",
"Dims 4 1 1 1\n",
"Time-invariant? True\n"
]
}
],
"prompt_number": 2
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"# We can also set attributes using ['<name>', slice] notation:\n",
"# Note: python uses 0-based indexing, so [0,0]\n",
"# represents the first row and first column of the matrix\n",
"model['design', 0, 0] = 1\n",
"print 'New design', model['design']\n",
"\n",
"# If we want to set all elements (of course there's only one)\n",
"model['transition', :, :] = 1\n",
"print 'New transition', model['transition']\n",
"\n",
"# Set a few more values\n",
"model['obs_cov', 0, 0] = 0.5\n",
"model['state_cov', 0, 0] = 0.8\n",
"model['selection'] = np.eye(model.k_states)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"New design [[1]]\n",
"New transition [[1]]\n"
]
}
],
"prompt_number": 3
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"# To use the Kalman filter, we need to provide the\n",
"# initialization mean and covariance matrix\n",
"# Representation.initialize_approximate_diffuse\n",
"# is a method which sets the initialized mean to zeros\n",
"# and the covariance matrix to be a diagonal matrix with\n",
"# arbitrary large values\n",
"model.initialize_approximate_diffuse()\n",
"# By default, the large value is 1,000,000\n",
"print model.initial_variance"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"1000000.0\n"
]
}
],
"prompt_number": 4
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"# Now we can run the Kalman filter\n",
"result = model.filter()\n",
"# What is this `result` that the filter returned?\n",
"print result"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"<dismalpy.ssm.representation.FilterResults object at 0x10c1afd90>\n"
]
}
],
"prompt_number": 5
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### FilterResults class\n",
"\n",
"Just like the state-space model itself, the Kalman filter output is stored in a different class. The definition of `FilterResults` in pseudo-python code is:\n",
"\n",
"```python\n",
"class FilterResults:\n",
" # Attributes\n",
" # (there are lots of attributes stored here\n",
" # including all dimensions, all state space matrices,\n",
" # and the Kalman filter output:\n",
" filtered_state\n",
" filtered_state_cov\n",
" predicted_state\n",
" predicted_state_cov\n",
" forecasts\n",
" forecasts_error\n",
" forecasts_error_cov\n",
" standardized_forecast_error\n",
" kalman_gain\n",
" loglikelihood\n",
" initial_state\n",
" initial_state_cov\n",
" # ... and more ...\n",
" # in particular, if you call the smooth method, you get:\n",
" scaled_smoothed_estimator\n",
" scaled_smoothed_estimator_cov\n",
" smoothing_error\n",
" smoothed_state\n",
" smoothed_state_cov\n",
" smoothed_measurement_disturbance\n",
" smoothed_state_disturbance\n",
" smoothed_measurement_disturbance_cov\n",
" smoothed_state_disturbance_cov\n",
" \n",
" # Methods\n",
" def smooth():\n",
" # The smoothing method is here too because actually\n",
" # smoothing must be performed after filtering. The\n",
" # `smooth` in the statespace, above, actually filters\n",
" # the data and calls smooth on the resulting\n",
" # FilterResults object\n",
" \n",
" def predict(start, end, dynamic=None):\n",
" # In-sample and out-of-sample prediction is straightforward\n",
" # in state-space models\n",
"```"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"# Loglikelihood\n",
"print 'Loglikelihood', result.loglikelihood\n",
"\n",
"# Filtered states\n",
"print 'Filtered states', result.filtered_state\n",
"\n",
"# Perform smoothing\n",
"smoothed = result.smooth()\n",
"\n",
"# Now we can get smoothed quantites:\n",
"print 'Smoothed states', result.smoothed_state"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"Loglikelihood [-7.82669456 -1.49060989 -1.66413502 -1.75030838]\n",
"Filtered states [[ 0.9999995 1.72222204 2.61538456 3.58029195]]\n",
"Smoothed states [[ 1.41970753 2.09124073 2.90875908 3.58029195]]\n"
]
}
],
"prompt_number": 9
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"# Simulation smoothing allows sampling from\n",
"# the states' and disturbances' distributions\n",
"\n",
"# Get a simulation smoother\n",
"# (`sim` is an object of class\n",
"# `SimulationSmootherResults`)\n",
"np.random.seed(1234)\n",
"sim = model.simulation_smoother()\n",
"\n",
"# Get a draw of the states\n",
"sim.simulate()\n",
"print sim.simulated_state\n",
"\n",
"# Get a new draw\n",
"sim.simulate()\n",
"print sim.simulated_state"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"[[ 1.40816695 1.95007649 2.50269003 3.85586712 16.04487593]]\n",
"[[ 2.86454161 1.50240554 2.15429262 2.87600931 287.34981111]]\n"
]
}
],
"prompt_number": 10
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### SimulationSmoothResults class\n",
"\n",
"As you might suspect, the definition of `SimulationSmootherResults` in pseudo-python code is:\n",
"\n",
"```python\n",
"class FilterResults:\n",
" # Attributes\n",
" generated_obs\n",
" generated_state\n",
" simulated_state\n",
" simulated_measurement_disturbance\n",
" simulated_state_disturbance\n",
" \n",
" # Methods\n",
" def simulate()\n",
" # Draw a new sample\n",
"```"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Local Level model\n",
"\n",
"It turns out that by setting the design and transition matrix to $1$'s, above, we ended up estimating a Local Level model. The Local Level 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 + \\xi_t & \\xi_t \\sim N(0, \\sigma_\\xi^2) \\\\\n",
"\\end{align}\n",
"$$\n",
"\n",
"It is easy to see that this is already in state-space form. 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 \\end{bmatrix}\n",
"\\end{align}\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Implementing a general Local Level Model\n",
"\n",
"Above, we implemented the local level model by explicitly setting the design and transition elements to be one and the observation and state variance elements to be $0.5$ and $0.8$, respectively.\n",
"\n",
"The important point, though, is that the local level model is a specific *special case* of a state space model with some known elements (the ones in the design and transition matrices) and some specific (potentially unknown) parameters (the variances).\n",
"\n",
"Using the concept of **inheritance** in object-oriented programming, we can create a **subclass** of `Representation` that will always impose those restrictions on the state space model: we can define the LocalLevel class:\n",
"\n",
"```python\n",
"# This notation means that `LocalLevel` is a subclass of `Representation`\n",
"# Another way to say this is that `LocalLevel` *extends* `Representation`\n",
"class LocalLevel(ssm.Representation):\n",
" # Attributes\n",
" # the local level special case doesn't have any particular\n",
" # new attributes, although if you wanted to add them, you could\n",
"\n",
" # Methods\n",
" \n",
" # This is a special method that is called every time\n",
" # the object is created\n",
" def __init__(self, endog, *args, **kwargs):\n",
" # Local level model orders are fixed\n",
" k_states = k_posdef = 1\n",
"\n",
" # Also initialize the parent `Representation` class\n",
" super(LocalLevel, self).__init__(\n",
" endog, k_states=k_states, k_posdef=k_posdef, *args, **kwargs\n",
" )\n",
"\n",
" # Initialize the known matrices\n",
" self.design = np.r_[1]\n",
" self.transition = np.r_[1]\n",
" self.selection = np.eye(k_states)\n",
"\n",
" # Initialize the state space model as approximately diffuse\n",
" self.initialize_approximate_diffuse(1e7)\n",
"\n",
" def update(self, params, *args, **kwargs):\n",
" params = params**2 # constrain variances to be positive\n",
" self['obs_cov', 0, 0] = params[0]\n",
" self['state_cov', 0, 0] = params[1]\n",
"```\n",
"\n",
"The `__init__` method is run every time you create a LocalLevel object, and it sets up the special-case state space model.\n",
"\n",
"We have also added an `update` method, which would be convenient for updating the state space representation if we were estimating the parameters."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Local Level Example: Nile Flow data\n",
"\n",
"A basic example, found in Durbin and Koopman (2012), Chapter 2 (and in many other places) is modeling the annual water flow of the Nile river as a local level model.\n",
"\n",
"Below we define the actual Python code for the `LocalLevel` model:"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"# the `Model` class is a subclass of `Representation`, and\n",
"# defines some additional helpful methods for maximum likelihood\n",
"# estimation, so for the example we will actually make `LocalLevel`\n",
"# a subclass of `Model` (can say that `LocalLevel` is a\n",
"# *descendent* of `Representation`)\n",
"class LocalLevel(ssm.Model):\n",
" def __init__(self, endog, *args, **kwargs):\n",
" # Local level model orders are fixed\n",
" k_states = k_posdef = 1\n",
"\n",
" # Also initialize the parent `Representation` class\n",
" super(LocalLevel, self).__init__(\n",
" endog, k_states=k_states, k_posdef=k_posdef, *args, **kwargs\n",
" )\n",
"\n",
" # Initialize the known matrices\n",
" self.design = np.r_[1]\n",
" self.transition = np.r_[1]\n",
" self.selection = np.eye(k_states)\n",
"\n",
" # Initialize the state space model as approximately diffuse\n",
" self.initialize_approximate_diffuse(1e7)\n",
" self.loglikelihood_burn = 1\n",
"\n",
" # Defining names will allow nicer summary tables\n",
" def _get_model_names(self, latex=False):\n",
" return ['sigma2.measurement', 'sigma2.level']\n",
" \n",
" # Might want to define a process for general starting\n",
" # parameters for maximum likelihood - here we'll just\n",
" # set the starting parameters to be 0.1\n",
" @property\n",
" def start_params(self):\n",
" return np.r_[0.1, 0.1]\n",
"\n",
" def transform_params(self, unconstrained):\n",
" # Transform parameters from unconstrained (i.e. used\n",
" # by the optimizer) to constrained (i.e. used in\n",
" # likelihood evaluation)\n",
" return unconstrained**2\n",
"\n",
" def untransform_params(self, constrained):\n",
" # Reverse transformation will allow us to get standard\n",
" # errors for our parameter estimates\n",
" return constrained**0.5\n",
"\n",
" def update(self, params, *args, **kwargs):\n",
" params = super(LocalLevel, self).update(params, *args, **kwargs)\n",
" self['obs_cov', 0, 0] = params[0]\n",
" self['state_cov', 0, 0] = params[1]"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 11
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"# Load the annual flow dataset\n",
"data = pd.read_table('data/Nile.dat', skiprows=1, header=None, names=['flow'])\n",
"data.index = pd.date_range(start='01-01-1871', end='01-01-1970', freq='AS')\n",
"\n",
"# Plot the dataset\n",
"data.plot(figsize=(10,3));"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "display_data",
"png": "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\nW1zcgRMXUeBSa+0ut107glQQLzHj/u6wnWXctrtQH1Mx8o0ZY0wCZ63VtM3W2mb3fE/9jEbGxG+1\nwFfntV0HvB04D/gKzC4yfKm19jTgonS7KwVcYK09W51k2TssXnLFhbX2Smvt2Tg7gKQ7VO0IUnny\njhlXemeZudTHVJa8YsZaO+TGxNnAZwDrnu+5n1EyJr6y1v4RGJjX/DRwFvAe4DG3LQJUu99aDwDt\nxpi5I7v6QK0AGeIlU1xUz3vaMHDQ/Vk7glQYLzEzb2eZ+dTHVIgC+5lrgFvcnz33M0rGJIgeAD4L\nfALYBmCtHcX5NvJ74JfAMvcBzoftz40xvzXG6IO1gmSJi+S80y4Dvuf+3IK7I4i7K0h6RxCpEAvE\nTHpnmfnUx1SwhfoZY8xyoMtau91t8tzPqGZMAsUYcwTwHmvt+9zjh4wxf3S/YfwS5x8BY8wT1tr/\nAVhrr3HbTgC+AXzAn6sXP2SLC/f4vcCz1todblO2nUKkgmSKmSw7y6TPVx9T4XL1M8AVwJ1zjj33\nMxoZkyCYO/xf5T5w59jrcOo1ZhljzgeezPA6E8DUEl2jBEfG6aL5cWGMOQk4y1r7nTmn9ZHnjiBS\nVvKJmXfw+s4yVwKXGmM2zXuK+pjKkW8/U4VTUnPfnNM89zMaGRNfGWNuwCnUbzfGJKy1nzbGPGaM\nuR/ny8Jt1toJ99wf4tzRNAJ8fM5r/ALowJlKuLrUf4OUTpZ4+RFOx3dYXAD3ALuNMX8C/mmtvUY7\nglSefGPGWvs74Hfuc9I7yzztHquPqSAe+5n3A7+11s6kGwrpZ7QCv4iIiIiPNE0pIiIi4iMlYyIi\nIiI+UjImIiIi4iMlYyIiIiI+UjImIiIi4iMlYyIiIiI+UjImIiIi4iMlYyIiIiI++j92RgYP3AVg\nuwAAAABJRU5ErkJggg==\n",
"text": [
"<matplotlib.figure.Figure at 0x1105e8150>"
]
}
],
"prompt_number": 12
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"# Instantiate the model instance\n",
"model = LocalLevel(data['flow'])"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 13
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Maximum Likelihood Estimation\n",
"\n",
"By subclassing `Model`, our `LocalLevel` class has the ability to numerically maximize the likelihood function\n",
"\n",
"It does this by:\n",
"1. Propose the parameters `start_params` to a BFGS numerical optimization procedure (`scipy.optimize`)\n",
"2. Update the statespace model with those parameters: call `transform` followed by `update`\n",
"3. Call the `filter` method and sum the `FilterResult.loglikelihood` array to get the loglikelihood\n",
"4. Return the loglikelihood to the BFGS optimizer\n",
"5. The `Model` class also has methods for numerically approximating the gradient and Hessian"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"# `fit` is a method defined in `Model` that performs MLE\n",
"# and `LocalLevel` has that method because it is a subclass\n",
"# of `Model`\n",
"result = model.fit()\n",
"\n",
"# `result` is from `StatespaceResults`, a subclass of `FilterResults`\n",
"# that defines some new functionality, like printing a summary table for\n",
"# maximum likelihood estimates\n",
"print result.summary()"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
" Statespace Model Results \n",
"==============================================================================\n",
"Dep. Variable: ['flow'] No. Observations: 100\n",
"Model: LocalLevel Log Likelihood -632.544\n",
"Date: Thu, 20 Nov 2014 AIC 1269.089\n",
"Time: 13:38:37 BIC 1274.299\n",
"Sample: 01-01-1871 HQIC 1271.197\n",
" - 01-01-1970 \n",
"======================================================================================\n",
" coef std err z P>|z| [95.0% Conf. Int.]\n",
"--------------------------------------------------------------------------------------\n",
"sigma2.measurement 1.515e+04 3149.485 4.810 0.000 8974.951 2.13e+04\n",
"sigma2.level 1450.9375 1266.172 1.146 0.252 -1030.713 3932.588\n",
"======================================================================================\n"
]
}
],
"prompt_number": 19
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Note that in Durbin and Koopman (2012), their estimates of the parameters are:\n",
"\n",
" sigma2.measurement 15099.0\n",
" sigma2.level 1469.1"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"# Since `result` is a subclass of `FilterResults`, we still have\n",
"# those methods available to us:\n",
"result.smooth()\n",
"\n",
"fig, ax = plt.subplots()\n",
"dates = data.index._mpl_repr()\n",
"\n",
"ax.plot(dates, result.smoothed_state[0], 'r', label='Smoothed');\n",
"ax.plot(dates, result.filtered_state[0], '--', label='Filtered');\n",
"\n",
"ax.legend();"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "display_data",
"png": "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\n",
"text": [
"<matplotlib.figure.Figure at 0x1117bf1d0>"
]
}
],
"prompt_number": 53
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Bayesian Estimation\n",
"\n",
"Since we have the simulation smoother, we can also perform Bayesian estimation via Gibbs-sampling. Or, we could use Metropolis-Hastings via the likelihood calculation of the `filter` object."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Priors\n",
"\n",
"We have two parameters for which to specify priors:\n",
"\n",
"Let the prior for $h = \\frac{1}{\\sigma^2}$ follow an gamma distribution, for each of $\\sigma^2 \\in \\{\\sigma_\\varepsilon^2, \\sigma_\\xi^2\\}$.\n",
"\n",
"$$\n",
"\\begin{align}\n",
"h = \\frac{1}{\\sigma^2} & \\sim \\Gamma(v_0/2, d_0/2) \\\\\n",
"\\end{align}\n",
"$$\n",
"\n",
"To be clear, the density function for $h$ is:\n",
"\n",
"$$\n",
"\\begin{align}\n",
"p(h) & \\propto h^{v_0/2 - 1} \\exp \\left [ - h \\left( \\frac{d_0}{2} \\right ) \\right ]\n",
"\\end{align}\n",
"$$\n",
"\n",
"The prior hyperparameters are $(v_{\\varepsilon,0}, d_{\\varepsilon,0}, v_{\\xi,0}, d_{\\xi,0})$."
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"# observation variance\n",
"v_eps_0 = 1.\n",
"d_eps_0 = 1e3\n",
"h_eps_hat0 = ((v_eps_0/2) / (d_eps_0/2))\n",
"print 'Prior expected value of sigma2.measurement is %.2f' % (1./h_eps_hat0)\n",
"\n",
"# state variance\n",
"v_xi_0 = 1.\n",
"d_xi_0 = 1e3\n",
"h_xi_hat0 = ((v_xi_0/2) / (d_xi_0/2))\n",
"print 'Prior expected value of sigma2.level is %.2f' % (1./h_xi_hat0)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"Prior expected value of sigma2.measurement is 1000.00\n",
"Prior expected value of sigma2.level is 1000.00\n"
]
}
],
"prompt_number": 72
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Posteriors\n",
"\n",
"1. **States** The posterior of the states conditional on the parameters can be sampled from using the simulation smoother.\n",
"\n",
"2. **Measurement variance** Conditional on the states, the measurement equation is simply a linear regression. Thus using standard results (e.g. Kim and Nelson (1999) chapter 7):\n",
"\n",
" $$\n",
" h_\\varepsilon = \\frac{1}{\\sigma_\\varepsilon^2} | \\alpha \\sim \\Gamma(v_{\\varepsilon,1}/2, d_{\\varepsilon,1}/2)\n",
" $$\n",
"\n",
" where $v_{\\varepsilon,1} = v_{\\varepsilon,0} + n$ and $d_{\\varepsilon, 1} = d_{\\varepsilon,0} + (Y - \\alpha Z)'(Y - \\alpha Z)$\n",
"\n",
"3. **Level variance** Furthermore, conditional the states, the transition equation is simply an autoregression. Using the same results as above,:\n",
"\n",
" $$\n",
" h_\\xi = \\frac{1}{\\sigma_\\xi^2} | \\alpha \\sim \\Gamma(v_{\\xi,1}/2, d_{\\xi,1}/2)\n",
" $$\n",
"\n",
" where $v_{\\xi,1} = v_{\\xi,0} + n$ and $d_{\\xi, 1} = d_{\\xi,0} + (\\alpha - L \\alpha)' (\\alpha - L \\alpha)$"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"# Get a simulation smoother\n",
"\n",
"# 1. Conditional on the variances and data, generate the states\n",
"# Run the Kalman Filter\n",
"def sample_states(hs, model, sim):\n",
" model.update(1./hs)\n",
" sim.simulate()\n",
" return sim.simulated_state[:,:-1]\n",
"\n",
"# 2. Conditional on the states, generate the variances\n",
"def sample_h_eps(states, model):\n",
" resid = model.obs[0] - states\n",
" v1 = v_eps_0 + model.nobs\n",
" d1 = d_eps_0 + np.dot(resid.T, resid)\n",
" # due to implementation of np.random.gamma,\n",
" # use 2/d1 rather than d1/2 as above\n",
" return np.random.gamma(v1/2., 2./d1)\n",
"\n",
"def sample_h_xi(states, model):\n",
" resid = states[:-1] - states[1:]\n",
" v1 = v_xi_0 + model.nobs\n",
" d1 = d_xi_0 + np.dot(resid.T, resid)\n",
" # due to implementation of np.random.gamma,\n",
" # use 2/d1 rather than d1/2 as above\n",
" return np.random.gamma(v1/2., 2./d1)"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 64
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"# Define the Gibbs-Sampling iterations\n",
"def sample(model, G1, G):\n",
" # Create the simulator\n",
" sim = model.simulation_smoother(simulation_output=ssm.SIMULATION_STATE)\n",
" \n",
" # Storage\n",
" states = np.zeros((G+G1, model.nobs))\n",
" hs = np.zeros((G+G1+1,2))\n",
" \n",
" # Initial values for variances\n",
" hs[0] = 1\n",
"\n",
" # Run the iterations\n",
" for i in range(G1+G):\n",
" states[i] = sample_states(hs[i], model, sim)\n",
" hs[i+1,0] = sample_h_eps(states[i], model)\n",
" hs[i+1,1] = sample_h_xi(states[i], model)\n",
" \n",
" return states, 1./hs"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 65
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"# Re-create the model (so we start fresh with the bayesian approach)\n",
"model = LocalLevel(data['flow'])\n",
"\n",
"# Perform the sampling\n",
"G1 = 10000\n",
"G = 100000\n",
"states, variances = sample(model, G1, G)\n",
"\n",
"# Report means, standard deviations\n",
"print('sigma2.measurement: mean=%.2f, std=%.2f'\n",
" % (variances[G1+1:,0].mean(), variances[G1+1:,0].std()))\n",
"print('sigma2.level: mean=%.2f, std=%.2f'\n",
" % (variances[G1+1:,1].mean(), variances[G1+1:,1].std()))"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"sigma2.measurement: mean=15867.84, std=2997.38\n",
"sigma2.level: mean=1376.10, std=1087.44\n"
]
}
],
"prompt_number": 67
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Recall that the maximum likelihood estimates were:\n",
"\n",
" sigma2.measurement 15147.828307\n",
" sigma2.level 1450.937213\n",
" \n",
"and Durbin and Koopman reported:\n",
"\n",
" sigma2.measurement 15099.0\n",
" sigma2.level 1469.1"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"# Running mean plot\n",
"n = np.arange(G1+G+1)\n",
"running_mean = np.cumsum(variances, 0) / np.c_[n,n]\n",
"fig, axes = plt.subplots(1, 2, figsize=(10,3))\n",
"\n",
"axes[0].plot(running_mean[:,0]);\n",
"axes[0].set(title=r\"Running mean of $\\sigma_\\varepsilon^2$\")\n",
"ylim = axes[0].get_ylim()\n",
"axes[0].vlines(G1+1, ylim[0], ylim[1], 'r', linestyle='-.')\n",
"\n",
"axes[1].plot(running_mean[:,1])\n",
"axes[1].set(title=r\"Running mean $\\sigma_\\xi^2$\");\n",
"ylim = axes[1].get_ylim()\n",
"axes[1].vlines(G1+1, ylim[0], ylim[1], 'r', linestyle='-.');"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "display_data",
"png": "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\n367gqe1vbp9x05u9rBcdaVi62fPS9n3MmNzKtSd08q8veJ7cCnc//hI//tVL5A1MmTiOS089giP3\nbqAxZ5g7dy7b9/Xw6H8+zLgG09uPXv5wDHe7bKQ/X83t1atX924vX7GSooeLLpiHMaYu8oW2Xfl+\n1kOegbZXr15dV3kG+30SEZH9DXrDgrV2LnCZc26BtbYRWAnMBfLAw8B5wNHAl4BriRpmtwNfJ7qy\nN+Ry59y6vjIsX77cf/HJg7uOLz11Ou8/+XDee/xUADq6i73dqQDee4re8+Nfb+bFbfvYtKODhzZs\n7fN1zjlsPHMOG8/ElkY+deZx0fF6inR0F5lxSCt5Y+joKfLMq7t5YeteJrY0sv6NPWze2cmmHR3s\n6OihpTHPIeMaacjlmNjSwPjmBnLGsG1fN1PGNXHU5FamjW/i8AktTG1rYsbkVgqlEnhoyEcXQQul\nEns6C2ze1cnmnZ1s3tHBK7s6eXV3J6USNDXkKMX/Zzlj2NnRzZ6uIg05Q0tjjpKHYslj4rers6dE\nY97QU/Q05A2lkqdY8hR91OW8r7vAjo4eDIbWxhzNjXnamvJMbWvCYMjn3nzfmxtyFEueXZ0FdncV\naMobxjXlAUPOgDFRhnGNeZob8jTlc0xoaSCfM0xqbWR8cwM9hRK5nGFCc/T+TG5tJJ8zlHyUq+Sh\nUPK921HW+LF425ho/5wx5HLQkDPkjSGXi/LmjYmPCcVSic5Cie5CiVLJU/lpN0AuZ2huyJGL3zDv\nPQ35HA05Q0MuOqaJ32uIlpMsf58zBmMgnzO0NuZ7nzdf/tl4u/ze7Pe5LHl6ip6eUjQMoKdYioYE\nlKLve4qeQsn3foZ7X7/3FEv0vj/lPKVStH/Rl3/mzefxHoo+ek9LHkql+PMTv7aOniI5Y2jM5+gu\nRp/58rqZhThnQ87QHV/BLhQ9XcUipRI05A3ew7XnzmTa+OY+f7dGSmubDiKFGxZEJBm1HvMG0d84\nAJxzPdbal4Hp8V1ZXfFD64E5FT8z2zm3Lu5mHXL5UAL/xaWn0NFdZHxLAxefdPh+j1U23CD6g9lg\nDL/3jhm9ZSXveWrTTrrOv5DJD7Uz69DxbN/XzSu7Onn8xe389tVdXPjdB2luyEV/GDHs6ykCUSPh\nuCnjOH5aG7s7Cxw+sZlTj5jIR087ioktjezrLrC9o4eS9+zY10NnoUjJw1uPnMhru7vYvLODX2/a\n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\n",
"text": [
"<matplotlib.figure.Figure at 0x1112435d0>"
]
}
],
"prompt_number": 68
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"# Histograms\n",
"fig, axes = plt.subplots(1, 2, figsize=(10,3))\n",
"\n",
"axes[0].hist(variances[:,0], bins=20);\n",
"axes[0].set(title=r\"Draws of $\\sigma_\\varepsilon^2$\")\n",
"axes[1].hist(variances[:,1], bins=20)\n",
"axes[1].set(title=r\"Draws of $\\sigma_\\xi^2$\");"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "display_data",
"png": "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\nIiIiIon7/888XxjPTRAqAAAAAElFTkSuQmCC\n",
"text": [
"<matplotlib.figure.Figure at 0x110f2bf50>"
]
}
],
"prompt_number": 71
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## ARMA Example\n",
"\n",
"The following is another example from Durbin and Koopman (2012), applying an ARMA(1,1) model to a series with missing data, and then performing forecasting.\n",
"\n",
"This uses the built-in SARIMAX (Seasonal Autoregressive Moving Average model with eXogenous regressors) class (a subclass of `Model`, just as `LocalLevel` was, above)."
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"# Get the basic series\n",
"dinternet = np.array(pd.read_csv('data/internet.csv').diff()[1:])\n",
"\n",
"# Remove datapoints\n",
"missing = np.r_[6,16,26,36,46,56,66,72,73,74,75,76,86,96]-1\n",
"dinternet[missing] = np.nan\n",
"\n",
"# Maximum Likelihood Estimation\n",
"mod = ssm.SARIMAX(dinternet, order=(1,0,1))\n",
"res = mod.fit()\n",
"print res.summary()\n",
"\n",
"# In-sample one-step-ahead predictions and confidence intervals\n",
"predict, predict_error_cov, predict_ci, predict_idx = res.predict()\n",
"\n",
"# Out-of-sample forecasts and confidence intervals\n",
"forecast, forecast_error_cov, forecast_ci, forecast_idx = res.forecast(20, alpha=0.5)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
" Statespace Model Results \n",
"==============================================================================\n",
"Dep. Variable: y No. Observations: 99\n",
"Model: SARIMAX(1, 0, 1) Log Likelihood -225.770\n",
"Date: Thu, 20 Nov 2014 AIC 457.541\n",
"Time: 13:44:45 BIC 465.326\n",
"Sample: 0 HQIC 460.691\n",
" - 99 \n",
"==============================================================================\n",
" coef std err z P>|z| [95.0% Conf. Int.]\n",
"------------------------------------------------------------------------------\n",
"ar.L1 0.6562 0.089 7.414 0.000 0.483 0.830\n",
"ma.L1 0.4878 0.118 4.144 0.000 0.257 0.718\n",
"sigma2 10.3402 1.595 6.482 0.000 7.214 13.467\n",
"==============================================================================\n"
]
}
],
"prompt_number": 59
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"# Graph\n",
"fig, ax = plt.subplots(figsize=(12,6))\n",
"\n",
"ax.xaxis.grid()\n",
"ax.set(title='Figure 8.9 - Internet series');\n",
"\n",
"# Plot the observed series\n",
"ax.plot(dinternet[1:], 'k.')\n",
"\n",
"# Plot the in-sample predicted values\n",
"line = ax.plot(predict_idx, predict[0]);\n",
"ax.fill_between(predict_idx, predict_ci[0,:,0], predict_ci[0,:,1], alpha=0.1)\n",
"\n",
"# Plot the forecasts values\n",
"ax.plot(forecast_idx, forecast[0], color='#348ABD', linestyle='--', linewidth=3)\n",
"ax.fill_between(forecast_idx, forecast_ci[0,:,0], forecast_ci[0,:,1], alpha=0.1)\n",
"\n",
"# Show where forecasting starts\n",
"ylim = ax.get_ylim()\n",
"ax.vlines(forecast_idx[0], ylim[0], ylim[1], linestyle='-', alpha=0.3);"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "display_data",
"png": "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\nMf4fbYGkoWsKBGsAAAAASUVORK5CYII=\n",
"text": [
"<matplotlib.figure.Figure at 0x1111e9990>"
]
}
],
"prompt_number": 62
}
],
"metadata": {}
}
]
}
Display the source blob
Display the rendered blob
Raw
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment