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
{
"metadata": {
"name": "",
"signature": "sha256:98d44060a57695aa0dec31428e4df62b9651fbfd592802addb4e4363cf4a6878"
},
"nbformat": 3,
"nbformat_minor": 0,
"worksheets": [
{
"cells": [
{
"cell_type": "code",
"collapsed": false,
"input": [
"%matplotlib inline\n",
"\n",
"import numpy as np\n",
"import pandas as pd\n",
"from dismalpy.ssm.model import Model, StatespaceResults\n",
"import matplotlib.pyplot as plt"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 1
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 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",
"collapsed": false,
"input": [
"\"\"\"\n",
"Univariate Local Linear Trend Model\n",
"\"\"\"\n",
"class LocalLinearTrend(Model):\n",
" def __init__(self, endog, *args, **kwargs):\n",
" # Model order\n",
" k_states = k_posdef = 2\n",
"\n",
" # Initialize the statespace\n",
" super(LocalLinearTrend, self).__init__(\n",
" endog, k_states=k_states, k_posdef=k_posdef, *args, **kwargs\n",
" )\n",
"\n",
" # Initialize the matrices\n",
" self['design'] = np.array([1, 0])\n",
" self['transition'] = np.array([[1, 1],\n",
" [0, 1]])\n",
" self['selection'] = np.eye(k_states)\n",
"\n",
" # Initialize the state space model as approximately diffuse\n",
" self.initialize_approximate_diffuse()\n",
" # Because of the diffuse initialization, burn first two loglikelihoods\n",
" self.loglikelihood_burn = 2\n",
" \n",
" # Cache some indices\n",
" self._state_cov_idx = ('state_cov',) + np.diag_indices(k_posdef)\n",
"\n",
" _names = ['sigma2.measurement', 'sigma2.level', 'sigma2.trend']\n",
" def _get_model_names(self, latex=False):\n",
" return self._names\n",
"\n",
" @property\n",
" def start_params(self):\n",
" return np.r_[0.1, 0.1, 0.1]\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(LocalLinearTrend, self).update(params, *args, **kwargs)\n",
" \n",
" # Observation covariance\n",
" self['obs_cov',0,0] = params[0]\n",
"\n",
" # State covariance\n",
" self[self._state_cov_idx] = params[1:]"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 2
},
{
"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",
"collapsed": false,
"input": [
"# Load Dataset\n",
"df = pd.read_table('data/NorwayFinland.txt', skiprows=1, header=None)\n",
"df.columns = ['date', 'nf', 'ff']\n",
"df.index = pd.date_range(start='%d-01-01' % df.date[0], end='%d-01-01' % df.iloc[-1, 0], freq='AS')\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()\n",
"print(res.summary())"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
" Statespace Model Results \n",
"==============================================================================\n",
"Dep. Variable: ['lff'] No. Observations: 34\n",
"Model: LocalLinearTrend Log Likelihood 26.740\n",
"Date: Thu, 20 Nov 2014 AIC -47.480\n",
"Time: 17:50:26 BIC -42.901\n",
"Sample: 01-01-1970 HQIC -45.919\n",
" - 01-01-2003 \n",
"======================================================================================\n",
" coef std err z P>|z| [95.0% Conf. Int.]\n",
"--------------------------------------------------------------------------------------\n",
"sigma2.measurement 0.0032 0.001 3.070 0.002 0.001 0.005\n",
"sigma2.level 2.741e-10 4.95e-06 5.53e-05 1.000 -9.71e-06 9.71e-06\n",
"sigma2.trend 0.0015 0.001 1.764 0.078 -0.000 0.003\n",
"======================================================================================\n"
]
}
],
"prompt_number": 3
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"fig, ax = plt.subplots(figsize=(10,4))\n",
"\n",
"# Perform prediction and forecasting\n",
"predict, cov, ci, idx = res.predict(alpha=0.05, end='2014')\n",
"\n",
"# Plot the results\n",
"dates = df.index._mpl_repr()\n",
"ax.plot(dates, df['lff'], 'k.', label='Observations');\n",
"ax.plot(idx[:-10], predict[0][:-10], label='One-step-ahead Prediction');\n",
"ax.plot(idx[:-10], ci[0, :-10], 'k--', alpha=0.5);\n",
"\n",
"ax.plot(idx[-10:], predict[0][-10:], 'r', label='Forecast');\n",
"ax.plot(idx[-10:], ci[0, -10:], 'k--', alpha=0.5);\n",
"\n",
"# Cleanup the image\n",
"ax.set_ylim((4, 8));\n",
"legend = ax.legend(loc='lower left');\n",
"legend.get_frame().set_facecolor('w')"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "display_data",
"png": "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\ntGzZktDQxl15zl/yd4c8yMlFZ86cobCwkFGjRgEQGxtLcHAwX3zxBQD/+te/SElJoU+fPkyfPt3u\n3KVLlxIbG0t8fDzDhg2zKztw4ADJyckkJCSQnp7O2bP/N82sqKiI3r17s2DBAgYMGEBycrKtbMiQ\nIXz66ae27TFjxrB161bb9sKFCxk+fDgxMTGkpaVx+fJlW9nDDz/Mtm3bmD9/PhaLhXfffddWtnfv\nXiwWC507d6412nbp0iUmT55MfHw8sbGxLFu2zFa2e/duhg4dypw5c0hKSqJ///52C2vu2LGDQYMG\nYbFYiImJobi4zidtCCGE8LG9e/eydu1au/8fwgmttU++du3apR0pKChwuF9rrSdPnqwTEhJ0SkqK\n/vHHH50eV5eG1rF//36dnJxsty8jI0Pv2LFDL1q0SKempuqKigpdUVGhLRaLfvfdd7XWWv/44486\nMjJSX716tVad5eXl+q677tLffPON1lrr9evX66ysLFt5YWGhDgsL00qpWue++uqretasWVprrUtK\nSnS3bt201Wq1lX///fe273/zm9/ot956y+78hx56SG/YsMFpvosWLdKLFy+22/fkk0/quXPnaq21\nLisr0wMHDtR5eXlaa63z8/N1x44d9dGjR7XWWk+cOFGvXr3adm5MTIw+dOiQ0+sJ36vrtSeECDyV\nlZV68+bNeuXKlbq0tNTX4fhcdb/FYZ/GVCNTx48fZ8+ePWzdupVHHnnEZ3U4cs899xASEkJISAgZ\nGRl8/PHHAERERJCSkkJqairLly+3G3k6duwYp06dYty4cSQlJbFs2TK++uoru3p79OjhcFmcjIwM\ntmzZQmVlJUopxo4da3e78ZZbbmH37t289NJL/PTTT5w+fbpWHdrNRa63b9/OlClTAAgPDycrK8tu\nNOzuu++mV69eAERFRdl9Omzy5MlMnjyZ7Oxsjh075tZ1hRBCNL7g4GBSU1Pp1asXOTk5/PDDD74O\nyW+ZqjPVokULAPr3789LL73UqHV06tSJoqIiu31FRUW2RznU7JhUVFQQHh5u216zZg1vvPEGoaGh\nDBgwgMLCQgBCQ0Pp0qUL+fn55Ofns2fPHrZv3+5SPC1btiQxMZGtW7fy5ptvkpWVZSv76aefGDhw\nIB988AHdunWjR48eDjtODZnrZbVa7b4PDnbtV2jatGns2bOHO++8k7Fjx7Jhwwa3ry0CjysfSW7K\n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\n",
"text": [
"<matplotlib.figure.Figure at 0x1098358d0>"
]
}
],
"prompt_number": 21
},
{
"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\u202f; 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": {}
}
]
}
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.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment