{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Deterministic Terms in Time Series Models" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "execution": { "iopub.execute_input": "2021-02-02T06:55:18.230527Z", "iopub.status.busy": "2021-02-02T06:55:18.229814Z", "iopub.status.idle": "2021-02-02T06:55:18.754169Z", "shell.execute_reply": "2021-02-02T06:55:18.754576Z" } }, "outputs": [], "source": [ "import matplotlib.pyplot as plt\n", "import numpy as np\n", "import pandas as pd\n", "\n", "plt.rc(\"figure\", figsize=(16, 9))\n", "plt.rc(\"font\", size=16)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Basic Use\n", "\n", "Basic configurations can be directly constructed through `DeterministicProcess`. These can include a constant, a time trend of any order, and either a seasonal or a Fourier component.\n", "\n", "The process requires an index, which is the index of the full-sample (or in-sample).\n", "\n", "First, we initialize a deterministic process with a constant, a linear time trend, and a 5-period seasonal term. The `in_sample` method returns the full set of values that match the index." ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "execution": { "iopub.execute_input": "2021-02-02T06:55:18.757763Z", "iopub.status.busy": "2021-02-02T06:55:18.757082Z", "iopub.status.idle": "2021-02-02T06:55:18.895967Z", "shell.execute_reply": "2021-02-02T06:55:18.896459Z" } }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
consttrends(2,5)s(3,5)s(4,5)s(5,5)
01.01.00.00.00.00.0
11.02.01.00.00.00.0
21.03.00.01.00.00.0
31.04.00.00.01.00.0
41.05.00.00.00.01.0
.....................
951.096.00.00.00.00.0
961.097.01.00.00.00.0
971.098.00.01.00.00.0
981.099.00.00.01.00.0
991.0100.00.00.00.01.0
\n", "

100 rows × 6 columns

\n", "
" ], "text/plain": [ " const trend s(2,5) s(3,5) s(4,5) s(5,5)\n", "0 1.0 1.0 0.0 0.0 0.0 0.0\n", "1 1.0 2.0 1.0 0.0 0.0 0.0\n", "2 1.0 3.0 0.0 1.0 0.0 0.0\n", "3 1.0 4.0 0.0 0.0 1.0 0.0\n", "4 1.0 5.0 0.0 0.0 0.0 1.0\n", ".. ... ... ... ... ... ...\n", "95 1.0 96.0 0.0 0.0 0.0 0.0\n", "96 1.0 97.0 1.0 0.0 0.0 0.0\n", "97 1.0 98.0 0.0 1.0 0.0 0.0\n", "98 1.0 99.0 0.0 0.0 1.0 0.0\n", "99 1.0 100.0 0.0 0.0 0.0 1.0\n", "\n", "[100 rows x 6 columns]" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from statsmodels.tsa.deterministic import DeterministicProcess\n", "\n", "index = pd.RangeIndex(0, 100)\n", "det_proc = DeterministicProcess(\n", " index, constant=True, order=1, seasonal=True, period=5\n", ")\n", "det_proc.in_sample()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The `out_of_sample` returns the next `steps` values after the end of the in-sample." ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "execution": { "iopub.execute_input": "2021-02-02T06:55:18.900423Z", "iopub.status.busy": "2021-02-02T06:55:18.899263Z", "iopub.status.idle": "2021-02-02T06:55:18.932619Z", "shell.execute_reply": "2021-02-02T06:55:18.933212Z" } }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
consttrends(2,5)s(3,5)s(4,5)s(5,5)
1001.0101.00.00.00.00.0
1011.0102.01.00.00.00.0
1021.0103.00.01.00.00.0
1031.0104.00.00.01.00.0
1041.0105.00.00.00.01.0
1051.0106.00.00.00.00.0
1061.0107.01.00.00.00.0
1071.0108.00.01.00.00.0
1081.0109.00.00.01.00.0
1091.0110.00.00.00.01.0
1101.0111.00.00.00.00.0
1111.0112.01.00.00.00.0
1121.0113.00.01.00.00.0
1131.0114.00.00.01.00.0
1141.0115.00.00.00.01.0
\n", "
" ], "text/plain": [ " const trend s(2,5) s(3,5) s(4,5) s(5,5)\n", "100 1.0 101.0 0.0 0.0 0.0 0.0\n", "101 1.0 102.0 1.0 0.0 0.0 0.0\n", "102 1.0 103.0 0.0 1.0 0.0 0.0\n", "103 1.0 104.0 0.0 0.0 1.0 0.0\n", "104 1.0 105.0 0.0 0.0 0.0 1.0\n", "105 1.0 106.0 0.0 0.0 0.0 0.0\n", "106 1.0 107.0 1.0 0.0 0.0 0.0\n", "107 1.0 108.0 0.0 1.0 0.0 0.0\n", "108 1.0 109.0 0.0 0.0 1.0 0.0\n", "109 1.0 110.0 0.0 0.0 0.0 1.0\n", "110 1.0 111.0 0.0 0.0 0.0 0.0\n", "111 1.0 112.0 1.0 0.0 0.0 0.0\n", "112 1.0 113.0 0.0 1.0 0.0 0.0\n", "113 1.0 114.0 0.0 0.0 1.0 0.0\n", "114 1.0 115.0 0.0 0.0 0.0 1.0" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "det_proc.out_of_sample(15)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "`range(start, stop)` can also be used to produce the deterministic terms over any range including in- and out-of-sample.\n", "\n", "### Notes\n", "\n", "* When the index is a pandas `DatetimeIndex` or a `PeriodIndex`, then `start` and `stop` can be date-like (strings, e.g., \"2020-06-01\", or Timestamp) or integers.\n", "* `stop` is always included in the range. While this is not very Pythonic, it is needed since both statsmodels and Pandas include `stop` when working with date-like slices." ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "execution": { "iopub.execute_input": "2021-02-02T06:55:18.937137Z", "iopub.status.busy": "2021-02-02T06:55:18.935951Z", "iopub.status.idle": "2021-02-02T06:55:18.967543Z", "shell.execute_reply": "2021-02-02T06:55:18.968440Z" } }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
consttrends(2,5)s(3,5)s(4,5)s(5,5)
1901.0191.00.00.00.00.0
1911.0192.01.00.00.00.0
1921.0193.00.01.00.00.0
1931.0194.00.00.01.00.0
1941.0195.00.00.00.01.0
1951.0196.00.00.00.00.0
1961.0197.01.00.00.00.0
1971.0198.00.01.00.00.0
1981.0199.00.00.01.00.0
1991.0200.00.00.00.01.0
2001.0201.00.00.00.00.0
2011.0202.01.00.00.00.0
2021.0203.00.01.00.00.0
2031.0204.00.00.01.00.0
2041.0205.00.00.00.01.0
2051.0206.00.00.00.00.0
2061.0207.01.00.00.00.0
2071.0208.00.01.00.00.0
2081.0209.00.00.01.00.0
2091.0210.00.00.00.01.0
2101.0211.00.00.00.00.0
\n", "
" ], "text/plain": [ " const trend s(2,5) s(3,5) s(4,5) s(5,5)\n", "190 1.0 191.0 0.0 0.0 0.0 0.0\n", "191 1.0 192.0 1.0 0.0 0.0 0.0\n", "192 1.0 193.0 0.0 1.0 0.0 0.0\n", "193 1.0 194.0 0.0 0.0 1.0 0.0\n", "194 1.0 195.0 0.0 0.0 0.0 1.0\n", "195 1.0 196.0 0.0 0.0 0.0 0.0\n", "196 1.0 197.0 1.0 0.0 0.0 0.0\n", "197 1.0 198.0 0.0 1.0 0.0 0.0\n", "198 1.0 199.0 0.0 0.0 1.0 0.0\n", "199 1.0 200.0 0.0 0.0 0.0 1.0\n", "200 1.0 201.0 0.0 0.0 0.0 0.0\n", "201 1.0 202.0 1.0 0.0 0.0 0.0\n", "202 1.0 203.0 0.0 1.0 0.0 0.0\n", "203 1.0 204.0 0.0 0.0 1.0 0.0\n", "204 1.0 205.0 0.0 0.0 0.0 1.0\n", "205 1.0 206.0 0.0 0.0 0.0 0.0\n", "206 1.0 207.0 1.0 0.0 0.0 0.0\n", "207 1.0 208.0 0.0 1.0 0.0 0.0\n", "208 1.0 209.0 0.0 0.0 1.0 0.0\n", "209 1.0 210.0 0.0 0.0 0.0 1.0\n", "210 1.0 211.0 0.0 0.0 0.0 0.0" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "det_proc.range(190, 210)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Using a Date-like Index\n", "\n", "Next, we show the same steps using a `PeriodIndex`." ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "execution": { "iopub.execute_input": "2021-02-02T06:55:18.972435Z", "iopub.status.busy": "2021-02-02T06:55:18.971206Z", "iopub.status.idle": "2021-02-02T06:55:18.999294Z", "shell.execute_reply": "2021-02-02T06:55:19.000165Z" } }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
constsin(1,12)cos(1,12)sin(2,12)cos(2,12)
2020-031.00.000000e+001.000000e+000.000000e+001.0
2020-041.05.000000e-018.660254e-018.660254e-010.5
2020-051.08.660254e-015.000000e-018.660254e-01-0.5
2020-061.01.000000e+006.123234e-171.224647e-16-1.0
2020-071.08.660254e-01-5.000000e-01-8.660254e-01-0.5
2020-081.05.000000e-01-8.660254e-01-8.660254e-010.5
2020-091.01.224647e-16-1.000000e+00-2.449294e-161.0
2020-101.0-5.000000e-01-8.660254e-018.660254e-010.5
2020-111.0-8.660254e-01-5.000000e-018.660254e-01-0.5
2020-121.0-1.000000e+00-1.836970e-163.673940e-16-1.0
2021-011.0-8.660254e-015.000000e-01-8.660254e-01-0.5
2021-021.0-5.000000e-018.660254e-01-8.660254e-010.5
\n", "
" ], "text/plain": [ " const sin(1,12) cos(1,12) sin(2,12) cos(2,12)\n", "2020-03 1.0 0.000000e+00 1.000000e+00 0.000000e+00 1.0\n", "2020-04 1.0 5.000000e-01 8.660254e-01 8.660254e-01 0.5\n", "2020-05 1.0 8.660254e-01 5.000000e-01 8.660254e-01 -0.5\n", "2020-06 1.0 1.000000e+00 6.123234e-17 1.224647e-16 -1.0\n", "2020-07 1.0 8.660254e-01 -5.000000e-01 -8.660254e-01 -0.5\n", "2020-08 1.0 5.000000e-01 -8.660254e-01 -8.660254e-01 0.5\n", "2020-09 1.0 1.224647e-16 -1.000000e+00 -2.449294e-16 1.0\n", "2020-10 1.0 -5.000000e-01 -8.660254e-01 8.660254e-01 0.5\n", "2020-11 1.0 -8.660254e-01 -5.000000e-01 8.660254e-01 -0.5\n", "2020-12 1.0 -1.000000e+00 -1.836970e-16 3.673940e-16 -1.0\n", "2021-01 1.0 -8.660254e-01 5.000000e-01 -8.660254e-01 -0.5\n", "2021-02 1.0 -5.000000e-01 8.660254e-01 -8.660254e-01 0.5" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "index = pd.period_range(\"2020-03-01\", freq=\"M\", periods=60)\n", "det_proc = DeterministicProcess(index, constant=True, fourier=2)\n", "det_proc.in_sample().head(12)" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "execution": { "iopub.execute_input": "2021-02-02T06:55:19.003965Z", "iopub.status.busy": "2021-02-02T06:55:19.002754Z", "iopub.status.idle": "2021-02-02T06:55:19.023876Z", "shell.execute_reply": "2021-02-02T06:55:19.024737Z" } }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
constsin(1,12)cos(1,12)sin(2,12)cos(2,12)
2025-031.0-1.224647e-151.000000e+00-2.449294e-151.0
2025-041.05.000000e-018.660254e-018.660254e-010.5
2025-051.08.660254e-015.000000e-018.660254e-01-0.5
2025-061.01.000000e+00-4.904777e-16-9.809554e-16-1.0
2025-071.08.660254e-01-5.000000e-01-8.660254e-01-0.5
2025-081.05.000000e-01-8.660254e-01-8.660254e-010.5
2025-091.04.899825e-15-1.000000e+00-9.799650e-151.0
2025-101.0-5.000000e-01-8.660254e-018.660254e-010.5
2025-111.0-8.660254e-01-5.000000e-018.660254e-01-0.5
2025-121.0-1.000000e+00-3.184701e-156.369401e-15-1.0
2026-011.0-8.660254e-015.000000e-01-8.660254e-01-0.5
2026-021.0-5.000000e-018.660254e-01-8.660254e-010.5
\n", "
" ], "text/plain": [ " const sin(1,12) cos(1,12) sin(2,12) cos(2,12)\n", "2025-03 1.0 -1.224647e-15 1.000000e+00 -2.449294e-15 1.0\n", "2025-04 1.0 5.000000e-01 8.660254e-01 8.660254e-01 0.5\n", "2025-05 1.0 8.660254e-01 5.000000e-01 8.660254e-01 -0.5\n", "2025-06 1.0 1.000000e+00 -4.904777e-16 -9.809554e-16 -1.0\n", "2025-07 1.0 8.660254e-01 -5.000000e-01 -8.660254e-01 -0.5\n", "2025-08 1.0 5.000000e-01 -8.660254e-01 -8.660254e-01 0.5\n", "2025-09 1.0 4.899825e-15 -1.000000e+00 -9.799650e-15 1.0\n", "2025-10 1.0 -5.000000e-01 -8.660254e-01 8.660254e-01 0.5\n", "2025-11 1.0 -8.660254e-01 -5.000000e-01 8.660254e-01 -0.5\n", "2025-12 1.0 -1.000000e+00 -3.184701e-15 6.369401e-15 -1.0\n", "2026-01 1.0 -8.660254e-01 5.000000e-01 -8.660254e-01 -0.5\n", "2026-02 1.0 -5.000000e-01 8.660254e-01 -8.660254e-01 0.5" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "det_proc.out_of_sample(12)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "`range` accepts date-like arguments, which are usually given as strings." ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "execution": { "iopub.execute_input": "2021-02-02T06:55:19.029461Z", "iopub.status.busy": "2021-02-02T06:55:19.028243Z", "iopub.status.idle": "2021-02-02T06:55:19.050651Z", "shell.execute_reply": "2021-02-02T06:55:19.051421Z" } }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
constsin(1,12)cos(1,12)sin(2,12)cos(2,12)
2025-011.0-8.660254e-015.000000e-01-8.660254e-01-0.5
2025-021.0-5.000000e-018.660254e-01-8.660254e-010.5
2025-031.0-1.224647e-151.000000e+00-2.449294e-151.0
2025-041.05.000000e-018.660254e-018.660254e-010.5
2025-051.08.660254e-015.000000e-018.660254e-01-0.5
2025-061.01.000000e+00-4.904777e-16-9.809554e-16-1.0
2025-071.08.660254e-01-5.000000e-01-8.660254e-01-0.5
2025-081.05.000000e-01-8.660254e-01-8.660254e-010.5
2025-091.04.899825e-15-1.000000e+00-9.799650e-151.0
2025-101.0-5.000000e-01-8.660254e-018.660254e-010.5
2025-111.0-8.660254e-01-5.000000e-018.660254e-01-0.5
2025-121.0-1.000000e+00-3.184701e-156.369401e-15-1.0
2026-011.0-8.660254e-015.000000e-01-8.660254e-01-0.5
\n", "
" ], "text/plain": [ " const sin(1,12) cos(1,12) sin(2,12) cos(2,12)\n", "2025-01 1.0 -8.660254e-01 5.000000e-01 -8.660254e-01 -0.5\n", "2025-02 1.0 -5.000000e-01 8.660254e-01 -8.660254e-01 0.5\n", "2025-03 1.0 -1.224647e-15 1.000000e+00 -2.449294e-15 1.0\n", "2025-04 1.0 5.000000e-01 8.660254e-01 8.660254e-01 0.5\n", "2025-05 1.0 8.660254e-01 5.000000e-01 8.660254e-01 -0.5\n", "2025-06 1.0 1.000000e+00 -4.904777e-16 -9.809554e-16 -1.0\n", "2025-07 1.0 8.660254e-01 -5.000000e-01 -8.660254e-01 -0.5\n", "2025-08 1.0 5.000000e-01 -8.660254e-01 -8.660254e-01 0.5\n", "2025-09 1.0 4.899825e-15 -1.000000e+00 -9.799650e-15 1.0\n", "2025-10 1.0 -5.000000e-01 -8.660254e-01 8.660254e-01 0.5\n", "2025-11 1.0 -8.660254e-01 -5.000000e-01 8.660254e-01 -0.5\n", "2025-12 1.0 -1.000000e+00 -3.184701e-15 6.369401e-15 -1.0\n", "2026-01 1.0 -8.660254e-01 5.000000e-01 -8.660254e-01 -0.5" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "det_proc.range(\"2025-01\", \"2026-01\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This is equivalent to using the integer values 58 and 70." ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "execution": { "iopub.execute_input": "2021-02-02T06:55:19.054946Z", "iopub.status.busy": "2021-02-02T06:55:19.053855Z", "iopub.status.idle": "2021-02-02T06:55:19.074663Z", "shell.execute_reply": "2021-02-02T06:55:19.075468Z" } }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
constsin(1,12)cos(1,12)sin(2,12)cos(2,12)
2025-011.0-8.660254e-015.000000e-01-8.660254e-01-0.5
2025-021.0-5.000000e-018.660254e-01-8.660254e-010.5
2025-031.0-1.224647e-151.000000e+00-2.449294e-151.0
2025-041.05.000000e-018.660254e-018.660254e-010.5
2025-051.08.660254e-015.000000e-018.660254e-01-0.5
2025-061.01.000000e+00-4.904777e-16-9.809554e-16-1.0
2025-071.08.660254e-01-5.000000e-01-8.660254e-01-0.5
2025-081.05.000000e-01-8.660254e-01-8.660254e-010.5
2025-091.04.899825e-15-1.000000e+00-9.799650e-151.0
2025-101.0-5.000000e-01-8.660254e-018.660254e-010.5
2025-111.0-8.660254e-01-5.000000e-018.660254e-01-0.5
2025-121.0-1.000000e+00-3.184701e-156.369401e-15-1.0
2026-011.0-8.660254e-015.000000e-01-8.660254e-01-0.5
\n", "
" ], "text/plain": [ " const sin(1,12) cos(1,12) sin(2,12) cos(2,12)\n", "2025-01 1.0 -8.660254e-01 5.000000e-01 -8.660254e-01 -0.5\n", "2025-02 1.0 -5.000000e-01 8.660254e-01 -8.660254e-01 0.5\n", "2025-03 1.0 -1.224647e-15 1.000000e+00 -2.449294e-15 1.0\n", "2025-04 1.0 5.000000e-01 8.660254e-01 8.660254e-01 0.5\n", "2025-05 1.0 8.660254e-01 5.000000e-01 8.660254e-01 -0.5\n", "2025-06 1.0 1.000000e+00 -4.904777e-16 -9.809554e-16 -1.0\n", "2025-07 1.0 8.660254e-01 -5.000000e-01 -8.660254e-01 -0.5\n", "2025-08 1.0 5.000000e-01 -8.660254e-01 -8.660254e-01 0.5\n", "2025-09 1.0 4.899825e-15 -1.000000e+00 -9.799650e-15 1.0\n", "2025-10 1.0 -5.000000e-01 -8.660254e-01 8.660254e-01 0.5\n", "2025-11 1.0 -8.660254e-01 -5.000000e-01 8.660254e-01 -0.5\n", "2025-12 1.0 -1.000000e+00 -3.184701e-15 6.369401e-15 -1.0\n", "2026-01 1.0 -8.660254e-01 5.000000e-01 -8.660254e-01 -0.5" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "det_proc.range(58, 70)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Advanced Construction\n", "\n", "Deterministic processes with features not supported directly through the constructor can be created using `additional_terms` which accepts a list of `DetermisticTerm`. Here we create a deterministic process with two seasonal components: day-of-week with a 5 day period and an annual captured through a Fourier component with a period of 365.25 days." ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "execution": { "iopub.execute_input": "2021-02-02T06:55:19.079699Z", "iopub.status.busy": "2021-02-02T06:55:19.078374Z", "iopub.status.idle": "2021-02-02T06:55:19.136391Z", "shell.execute_reply": "2021-02-02T06:55:19.137288Z" } }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
consts(2,7)s(3,7)s(4,7)s(5,7)s(6,7)s(7,7)sin(1,365.25)cos(1,365.25)sin(2,365.25)cos(2,365.25)
2020-03-011.00.00.00.00.00.00.00.0000001.0000000.0000001.000000
2020-03-021.01.00.00.00.00.00.00.0172020.9998520.0343980.999408
2020-03-031.00.01.00.00.00.00.00.0343980.9994080.0687550.997634
2020-03-041.00.00.01.00.00.00.00.0515840.9986690.1030310.994678
2020-03-051.00.00.00.01.00.00.00.0687550.9976340.1371850.990545
2020-03-061.00.00.00.00.01.00.00.0859060.9963030.1711770.985240
2020-03-071.00.00.00.00.00.01.00.1030310.9946780.2049660.978769
2020-03-081.00.00.00.00.00.00.00.1201260.9927590.2385130.971139
2020-03-091.01.00.00.00.00.00.00.1371850.9905450.2717770.962360
2020-03-101.00.01.00.00.00.00.00.1542040.9880390.3047190.952442
2020-03-111.00.00.01.00.00.00.00.1711770.9852400.3373010.941397
2020-03-121.00.00.00.01.00.00.00.1880990.9821500.3694840.929237
2020-03-131.00.00.00.00.01.00.00.2049660.9787690.4012290.915978
2020-03-141.00.00.00.00.00.01.00.2217720.9750990.4324990.901634
2020-03-151.00.00.00.00.00.00.00.2385130.9711390.4632580.886224
2020-03-161.01.00.00.00.00.00.00.2551820.9668930.4934680.869764
2020-03-171.00.01.00.00.00.00.00.2717770.9623600.5230940.852275
2020-03-181.00.00.01.00.00.00.00.2882910.9575430.5521010.833777
2020-03-191.00.00.00.01.00.00.00.3047190.9524420.5804550.814292
2020-03-201.00.00.00.00.01.00.00.3210580.9470600.6081210.793844
2020-03-211.00.00.00.00.00.01.00.3373010.9413970.6350680.772456
2020-03-221.00.00.00.00.00.00.00.3534450.9354550.6612630.750154
2020-03-231.01.00.00.00.00.00.00.3694840.9292370.6866760.726964
2020-03-241.00.01.00.00.00.00.00.3854130.9227440.7112760.702913
2020-03-251.00.00.01.00.00.00.00.4012290.9159780.7350340.678031
2020-03-261.00.00.00.01.00.00.00.4169260.9089400.7579220.652346
2020-03-271.00.00.00.00.01.00.00.4324990.9016340.7799130.625889
2020-03-281.00.00.00.00.00.01.00.4479450.8940610.8009800.598691
\n", "
" ], "text/plain": [ " const s(2,7) s(3,7) s(4,7) s(5,7) s(6,7) s(7,7) \\\n", "2020-03-01 1.0 0.0 0.0 0.0 0.0 0.0 0.0 \n", "2020-03-02 1.0 1.0 0.0 0.0 0.0 0.0 0.0 \n", "2020-03-03 1.0 0.0 1.0 0.0 0.0 0.0 0.0 \n", "2020-03-04 1.0 0.0 0.0 1.0 0.0 0.0 0.0 \n", "2020-03-05 1.0 0.0 0.0 0.0 1.0 0.0 0.0 \n", "2020-03-06 1.0 0.0 0.0 0.0 0.0 1.0 0.0 \n", "2020-03-07 1.0 0.0 0.0 0.0 0.0 0.0 1.0 \n", "2020-03-08 1.0 0.0 0.0 0.0 0.0 0.0 0.0 \n", "2020-03-09 1.0 1.0 0.0 0.0 0.0 0.0 0.0 \n", "2020-03-10 1.0 0.0 1.0 0.0 0.0 0.0 0.0 \n", "2020-03-11 1.0 0.0 0.0 1.0 0.0 0.0 0.0 \n", "2020-03-12 1.0 0.0 0.0 0.0 1.0 0.0 0.0 \n", "2020-03-13 1.0 0.0 0.0 0.0 0.0 1.0 0.0 \n", "2020-03-14 1.0 0.0 0.0 0.0 0.0 0.0 1.0 \n", "2020-03-15 1.0 0.0 0.0 0.0 0.0 0.0 0.0 \n", "2020-03-16 1.0 1.0 0.0 0.0 0.0 0.0 0.0 \n", "2020-03-17 1.0 0.0 1.0 0.0 0.0 0.0 0.0 \n", "2020-03-18 1.0 0.0 0.0 1.0 0.0 0.0 0.0 \n", "2020-03-19 1.0 0.0 0.0 0.0 1.0 0.0 0.0 \n", "2020-03-20 1.0 0.0 0.0 0.0 0.0 1.0 0.0 \n", "2020-03-21 1.0 0.0 0.0 0.0 0.0 0.0 1.0 \n", "2020-03-22 1.0 0.0 0.0 0.0 0.0 0.0 0.0 \n", "2020-03-23 1.0 1.0 0.0 0.0 0.0 0.0 0.0 \n", "2020-03-24 1.0 0.0 1.0 0.0 0.0 0.0 0.0 \n", "2020-03-25 1.0 0.0 0.0 1.0 0.0 0.0 0.0 \n", "2020-03-26 1.0 0.0 0.0 0.0 1.0 0.0 0.0 \n", "2020-03-27 1.0 0.0 0.0 0.0 0.0 1.0 0.0 \n", "2020-03-28 1.0 0.0 0.0 0.0 0.0 0.0 1.0 \n", "\n", " sin(1,365.25) cos(1,365.25) sin(2,365.25) cos(2,365.25) \n", "2020-03-01 0.000000 1.000000 0.000000 1.000000 \n", "2020-03-02 0.017202 0.999852 0.034398 0.999408 \n", "2020-03-03 0.034398 0.999408 0.068755 0.997634 \n", "2020-03-04 0.051584 0.998669 0.103031 0.994678 \n", "2020-03-05 0.068755 0.997634 0.137185 0.990545 \n", "2020-03-06 0.085906 0.996303 0.171177 0.985240 \n", "2020-03-07 0.103031 0.994678 0.204966 0.978769 \n", "2020-03-08 0.120126 0.992759 0.238513 0.971139 \n", "2020-03-09 0.137185 0.990545 0.271777 0.962360 \n", "2020-03-10 0.154204 0.988039 0.304719 0.952442 \n", "2020-03-11 0.171177 0.985240 0.337301 0.941397 \n", "2020-03-12 0.188099 0.982150 0.369484 0.929237 \n", "2020-03-13 0.204966 0.978769 0.401229 0.915978 \n", "2020-03-14 0.221772 0.975099 0.432499 0.901634 \n", "2020-03-15 0.238513 0.971139 0.463258 0.886224 \n", "2020-03-16 0.255182 0.966893 0.493468 0.869764 \n", "2020-03-17 0.271777 0.962360 0.523094 0.852275 \n", "2020-03-18 0.288291 0.957543 0.552101 0.833777 \n", "2020-03-19 0.304719 0.952442 0.580455 0.814292 \n", "2020-03-20 0.321058 0.947060 0.608121 0.793844 \n", "2020-03-21 0.337301 0.941397 0.635068 0.772456 \n", "2020-03-22 0.353445 0.935455 0.661263 0.750154 \n", "2020-03-23 0.369484 0.929237 0.686676 0.726964 \n", "2020-03-24 0.385413 0.922744 0.711276 0.702913 \n", "2020-03-25 0.401229 0.915978 0.735034 0.678031 \n", "2020-03-26 0.416926 0.908940 0.757922 0.652346 \n", "2020-03-27 0.432499 0.901634 0.779913 0.625889 \n", "2020-03-28 0.447945 0.894061 0.800980 0.598691 " ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from statsmodels.tsa.deterministic import Fourier, Seasonality, TimeTrend\n", "\n", "index = pd.period_range(\"2020-03-01\", freq=\"D\", periods=2 * 365)\n", "tt = TimeTrend(constant=True)\n", "four = Fourier(period=365.25, order=2)\n", "seas = Seasonality(period=7)\n", "det_proc = DeterministicProcess(index, additional_terms=[tt, seas, four])\n", "det_proc.in_sample().head(28)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Custom Deterministic Terms\n", "\n", "The `DetermisticTerm` Abstract Base Class is designed to be subclassed to help users write custom deterministic terms. We next show two examples. The first is a broken time trend that allows a break after a fixed number of periods. The second is a \"trick\" deterministic term that allows exogenous data, which is not really a deterministic process, to be treated as if was deterministic. This lets use simplify gathering the terms needed for forecasting.\n", "\n", "These are intended to demonstrate the construction of custom terms. They can definitely be improved in terms of input validation." ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "execution": { "iopub.execute_input": "2021-02-02T06:55:19.141353Z", "iopub.status.busy": "2021-02-02T06:55:19.140125Z", "iopub.status.idle": "2021-02-02T06:55:19.150826Z", "shell.execute_reply": "2021-02-02T06:55:19.151671Z" } }, "outputs": [], "source": [ "from statsmodels.tsa.deterministic import DeterministicTerm\n", "\n", "\n", "class BrokenTimeTrend(DeterministicTerm):\n", " def __init__(self, break_period: int):\n", " self._break_period = break_period\n", "\n", " def __str__(self):\n", " return \"Broken Time Trend\"\n", "\n", " def _eq_attr(self):\n", " return (self._break_period,)\n", "\n", " def in_sample(self, index: pd.Index):\n", " nobs = index.shape[0]\n", " terms = np.zeros((nobs, 2))\n", " terms[self._break_period :, 0] = 1\n", " terms[self._break_period :, 1] = np.arange(\n", " self._break_period + 1, nobs + 1\n", " )\n", " return pd.DataFrame(\n", " terms, columns=[\"const_break\", \"trend_break\"], index=index\n", " )\n", "\n", " def out_of_sample(\n", " self, steps: int, index: pd.Index, forecast_index: pd.Index = None\n", " ):\n", " # Always call extend index first\n", " fcast_index = self._extend_index(index, steps, forecast_index)\n", " nobs = index.shape[0]\n", " terms = np.zeros((steps, 2))\n", " # Assume break period is in-sample\n", " terms[:, 0] = 1\n", " terms[:, 1] = np.arange(nobs + 1, nobs + steps + 1)\n", " return pd.DataFrame(\n", " terms, columns=[\"const_break\", \"trend_break\"], index=fcast_index\n", " )" ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "execution": { "iopub.execute_input": "2021-02-02T06:55:19.155412Z", "iopub.status.busy": "2021-02-02T06:55:19.154236Z", "iopub.status.idle": "2021-02-02T06:55:19.177652Z", "shell.execute_reply": "2021-02-02T06:55:19.178485Z" } }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
consttrendconst_breaktrend_break
551.056.00.00.0
561.057.00.00.0
571.058.00.00.0
581.059.00.00.0
591.060.00.00.0
601.061.01.061.0
611.062.01.062.0
621.063.01.063.0
631.064.01.064.0
641.065.01.065.0
651.066.01.066.0
\n", "
" ], "text/plain": [ " const trend const_break trend_break\n", "55 1.0 56.0 0.0 0.0\n", "56 1.0 57.0 0.0 0.0\n", "57 1.0 58.0 0.0 0.0\n", "58 1.0 59.0 0.0 0.0\n", "59 1.0 60.0 0.0 0.0\n", "60 1.0 61.0 1.0 61.0\n", "61 1.0 62.0 1.0 62.0\n", "62 1.0 63.0 1.0 63.0\n", "63 1.0 64.0 1.0 64.0\n", "64 1.0 65.0 1.0 65.0\n", "65 1.0 66.0 1.0 66.0" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "btt = BrokenTimeTrend(60)\n", "tt = TimeTrend(constant=True, order=1)\n", "index = pd.RangeIndex(100)\n", "det_proc = DeterministicProcess(index, additional_terms=[tt, btt])\n", "det_proc.range(55, 65)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Next, we write a simple \"wrapper\" for some actual exogenous data that simplifies constructing out-of-sample exogenous arrays for forecasting." ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "execution": { "iopub.execute_input": "2021-02-02T06:55:19.182275Z", "iopub.status.busy": "2021-02-02T06:55:19.181104Z", "iopub.status.idle": "2021-02-02T06:55:19.188280Z", "shell.execute_reply": "2021-02-02T06:55:19.189143Z" } }, "outputs": [], "source": [ "class ExogenousProcess(DeterministicTerm):\n", " def __init__(self, data):\n", " self._data = data\n", "\n", " def __str__(self):\n", " return \"Custom Exog Process\"\n", "\n", " def _eq_attr(self):\n", " return (id(self._data),)\n", "\n", " def in_sample(self, index: pd.Index):\n", " return self._data.loc[index]\n", "\n", " def out_of_sample(\n", " self, steps: int, index: pd.Index, forecast_index: pd.Index = None\n", " ):\n", " forecast_index = self._extend_index(index, steps, forecast_index)\n", " return self._data.loc[forecast_index]" ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "execution": { "iopub.execute_input": "2021-02-02T06:55:19.192761Z", "iopub.status.busy": "2021-02-02T06:55:19.191576Z", "iopub.status.idle": "2021-02-02T06:55:19.202823Z", "shell.execute_reply": "2021-02-02T06:55:19.203652Z" } }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
exog1exog2
0699
16428
21581
3548
4128
\n", "
" ], "text/plain": [ " exog1 exog2\n", "0 6 99\n", "1 64 28\n", "2 15 81\n", "3 54 8\n", "4 12 8" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import numpy as np\n", "\n", "gen = np.random.default_rng(98765432101234567890)\n", "exog = pd.DataFrame(\n", " gen.integers(100, size=(300, 2)), columns=[\"exog1\", \"exog2\"]\n", ")\n", "exog.head()" ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "execution": { "iopub.execute_input": "2021-02-02T06:55:19.207360Z", "iopub.status.busy": "2021-02-02T06:55:19.206167Z", "iopub.status.idle": "2021-02-02T06:55:19.211743Z", "shell.execute_reply": "2021-02-02T06:55:19.212562Z" } }, "outputs": [], "source": [ "ep = ExogenousProcess(exog)\n", "tt = TimeTrend(constant=True, order=1)\n", "# The in-sample index\n", "idx = exog.index[:200]\n", "det_proc = DeterministicProcess(idx, additional_terms=[tt, ep])" ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "execution": { "iopub.execute_input": "2021-02-02T06:55:19.216209Z", "iopub.status.busy": "2021-02-02T06:55:19.215029Z", "iopub.status.idle": "2021-02-02T06:55:19.232952Z", "shell.execute_reply": "2021-02-02T06:55:19.233857Z" } }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
consttrendexog1exog2
01.01.0699
11.02.06428
21.03.01581
31.04.0548
41.05.0128
\n", "
" ], "text/plain": [ " const trend exog1 exog2\n", "0 1.0 1.0 6 99\n", "1 1.0 2.0 64 28\n", "2 1.0 3.0 15 81\n", "3 1.0 4.0 54 8\n", "4 1.0 5.0 12 8" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "det_proc.in_sample().head()" ] }, { "cell_type": "code", "execution_count": 16, "metadata": { "execution": { "iopub.execute_input": "2021-02-02T06:55:19.237802Z", "iopub.status.busy": "2021-02-02T06:55:19.236531Z", "iopub.status.idle": "2021-02-02T06:55:19.254516Z", "shell.execute_reply": "2021-02-02T06:55:19.255421Z" } }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
consttrendexog1exog2
2001.0201.05688
2011.0202.04884
2021.0203.0445
2031.0204.06563
2041.0205.06339
2051.0206.08939
2061.0207.04154
2071.0208.0715
2081.0209.0896
2091.0210.05863
\n", "
" ], "text/plain": [ " const trend exog1 exog2\n", "200 1.0 201.0 56 88\n", "201 1.0 202.0 48 84\n", "202 1.0 203.0 44 5\n", "203 1.0 204.0 65 63\n", "204 1.0 205.0 63 39\n", "205 1.0 206.0 89 39\n", "206 1.0 207.0 41 54\n", "207 1.0 208.0 71 5\n", "208 1.0 209.0 89 6\n", "209 1.0 210.0 58 63" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "det_proc.out_of_sample(10)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Model Support\n", "\n", "The only model that directly supports `DeterministicProcess` is `AutoReg`. A custom term can be set using the `deterministic` keyword argument. \n", "\n", "**Note**: Using a custom term requires that `trend=\"n\"` and `seasonal=False` so that all deterministic components must come from the custom deterministic term." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Simulate Some Data\n", "\n", "Here we simulate some data that has an weekly seasonality captured by a Fourier series." ] }, { "cell_type": "code", "execution_count": 17, "metadata": { "execution": { "iopub.execute_input": "2021-02-02T06:55:19.259657Z", "iopub.status.busy": "2021-02-02T06:55:19.258332Z", "iopub.status.idle": "2021-02-02T06:55:19.636769Z", "shell.execute_reply": "2021-02-02T06:55:19.637161Z" } }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "gen = np.random.default_rng(98765432101234567890)\n", "idx = pd.RangeIndex(200)\n", "det_proc = DeterministicProcess(idx, constant=True, period=52, fourier=2)\n", "det_terms = det_proc.in_sample().to_numpy()\n", "params = np.array([1.0, 3, -1, 4, -2])\n", "exog = det_terms @ params\n", "y = np.empty(200)\n", "y[0] = det_terms[0] @ params + gen.standard_normal()\n", "for i in range(1, 200):\n", " y[i] = 0.9 * y[i - 1] + det_terms[i] @ params + gen.standard_normal()\n", "y = pd.Series(y, index=idx)\n", "ax = y.plot()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The model is then fit using the `deterministic` keyword argument. `seasonal` defaults to False but `trend` defaults to `\"c\"` so this needs to be changed." ] }, { "cell_type": "code", "execution_count": 18, "metadata": { "execution": { "iopub.execute_input": "2021-02-02T06:55:19.642003Z", "iopub.status.busy": "2021-02-02T06:55:19.639708Z", "iopub.status.idle": "2021-02-02T06:55:20.027317Z", "shell.execute_reply": "2021-02-02T06:55:20.027644Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " AutoReg Model Results \n", "==============================================================================\n", "Dep. Variable: y No. Observations: 200\n", "Model: AutoReg(1) Log Likelihood -270.964\n", "Method: Conditional MLE S.D. of innovations 0.944\n", "Date: Tue, 02 Feb 2021 AIC -0.044\n", "Time: 06:55:20 BIC 0.072\n", "Sample: 1 HQIC 0.003\n", " 200 \n", "==============================================================================\n", " coef std err z P>|z| [0.025 0.975]\n", "------------------------------------------------------------------------------\n", "const 0.8436 0.172 4.916 0.000 0.507 1.180\n", "sin(1,52) 2.9738 0.160 18.587 0.000 2.660 3.287\n", "cos(1,52) -0.6771 0.284 -2.380 0.017 -1.235 -0.120\n", "sin(2,52) 3.9951 0.099 40.336 0.000 3.801 4.189\n", "cos(2,52) -1.7206 0.264 -6.519 0.000 -2.238 -1.203\n", "y.L1 0.9116 0.014 63.264 0.000 0.883 0.940\n", " Roots \n", "=============================================================================\n", " Real Imaginary Modulus Frequency\n", "-----------------------------------------------------------------------------\n", "AR.1 1.0970 +0.0000j 1.0970 0.0000\n", "-----------------------------------------------------------------------------\n" ] } ], "source": [ "from statsmodels.tsa.api import AutoReg\n", "\n", "mod = AutoReg(y, 1, trend=\"n\", deterministic=det_proc)\n", "res = mod.fit()\n", "print(res.summary())" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can use the `plot_predict` to show the predicted values and their prediction interval. The out-of-sample deterministic values are automatically produced by the deterministic process passed to `AutoReg`." ] }, { "cell_type": "code", "execution_count": 19, "metadata": { "execution": { "iopub.execute_input": "2021-02-02T06:55:20.033666Z", "iopub.status.busy": "2021-02-02T06:55:20.032836Z", "iopub.status.idle": "2021-02-02T06:55:20.303344Z", "shell.execute_reply": "2021-02-02T06:55:20.302149Z" } }, "outputs": [ { "data": { "image/png": "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jzyCn/70p5AkCR/72MfmPe673/0uHnjgAaxbtw7/9V//he9973s4d+4c9u3bB4/HM+ux+/fvxze/+U185StfwU9/+lOoqorXv/71s4LkX/7yl7jjjjsQCoXwve99D7/85S/xvve9D319fdOP+cxnPoOPfOQjuPPOO/GrX/0Kjz76KJ555hncc889Cw7skv3bfec73wEA/P3f//30v90NN9yQ9ngef/xx/OY3v8Fjjz2G3/zmN2hra8Odd96JJ598ct6YfvSjH+G1r30tKisrAQDd3d2444478MMf/hC/+c1v8Gd/9mf48pe/jM9//vML+jsvVGGdIxNCCCGEEFJgOjs7ceTIkVkf6+vrw/DwMGRZnv6YXq/HQw89hLvvvhuVlZW4ePEiHnnkEdx00004evQo1q5dCwD40pe+hHvuuQd1dXUAgP/9v/83brzxRjz88MOorKzE+9///rTGd/XqVXzrW9/CJz/5Sfy///f/pj/+ute9bvq///Vf/xVXrlyZVXDpnnvuwejoKL7whS/g/e9/P0RRnH78O97xDjz88MMAgDvvvBOvvPIKfvKTn+Dhhx+G1WrF7t27odPpUFlZmTCl+tlnn8WBAwfwk5/8BH/yJ38CAHjNa16De+65B4ODg9OP83q9+PSnP433vve9+OEPfzj98V27dqGjowM/+MEP8Bd/8RfTH3e73Th9+jRKS0sBADU1NdixYwd++9vf4h3veAc45/jEJz6BLVu24IUXXoAgCNN/l6je3l48+uij+NKXvoT/83/+z/THOzo6sHfvXvz617/Gm970pqT//nMl+7dbt24dAGDt2rWz/u3SHQ/nHL///e9nnfI/+OCDeNe73oVLly6hs7MTAHD69GmcO3cOX/ziF6cf9+EPf3jW89x8880IhUJ47LHH8Mgjj0z/e2UbncwSQgghhJCc4pwjEAggFAot9VBy4hOf+ASOHj2KL3zhCxgbG8PFixfx4IMPQhCEWYv+2tpafPe738X999+Pm2++GR/84Afx8ssvgzGGr371q9OPq6+vx6uvvoqrV69ifHwc3/jGN9Dd3Y3HHnsM//RP/wS/348Pf/jDqK6uRmtra8y00Zmee+45aJqGD33oQ3Ef8/LLL6O+vn5e5eB3vetdsNvt6OrqmvXxmYEwAGzcuHFeum8qDh8+DFEU8cADD8z6eDSwnfk4t9uNd77z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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "fig = res.plot_predict(200, 200 + 2 * 52, True)" ] }, { "cell_type": "code", "execution_count": 20, "metadata": { "execution": { "iopub.execute_input": "2021-02-02T06:55:20.310300Z", "iopub.status.busy": "2021-02-02T06:55:20.309485Z", "iopub.status.idle": "2021-02-02T06:55:20.318956Z", "shell.execute_reply": "2021-02-02T06:55:20.320032Z" } }, "outputs": [ { "data": { "text/plain": [ "200 -3.253482\n", "201 -8.555660\n", "202 -13.607557\n", "203 -18.152622\n", "204 -21.950370\n", "205 -24.790116\n", "206 -26.503171\n", "207 -26.972781\n", "208 -26.141244\n", "209 -24.013773\n", "210 -20.658891\n", "211 -16.205310\n", "dtype: float64" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "auto_reg_forecast = res.predict(200, 211)\n", "auto_reg_forecast" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Using with other models\n", "\n", "Other models do not support `DeterministicProcess` directly. We can instead manually pass any deterministic terms as `exog` to model that support exogenous values.\n", "\n", "Note that `SARIMAX` with exogenous variables is OLS with SARIMA errors so that the model is \n", "\n", "$$\n", "\\begin{align*}\n", "\\nu_t & = y_t - x_t \\beta \\\\\n", "(1-\\phi(L))\\nu_t & = (1+\\theta(L))\\epsilon_t.\n", "\\end{align*}\n", "$$\n", "\n", "The parameters on deterministic terms are not directly comparable to `AutoReg` which evolves according to the equation\n", "\n", "$$\n", "(1-\\phi(L)) y_t = x_t \\beta + \\epsilon_t.\n", "$$\n", "\n", "When $x_t$ contains only deterministic terms, these two representation are equivalent (assuming $\\theta(L)=0$ so that there is no MA).\n" ] }, { "cell_type": "code", "execution_count": 21, "metadata": { "execution": { "iopub.execute_input": "2021-02-02T06:55:20.324626Z", "iopub.status.busy": "2021-02-02T06:55:20.323078Z", "iopub.status.idle": "2021-02-02T06:55:20.815136Z", "shell.execute_reply": "2021-02-02T06:55:20.816073Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " SARIMAX Results \n", "==============================================================================\n", "Dep. Variable: y No. Observations: 200\n", "Model: SARIMAX(1, 0, 0) Log Likelihood -293.381\n", "Date: Tue, 02 Feb 2021 AIC 600.763\n", "Time: 06:55:20 BIC 623.851\n", "Sample: 0 HQIC 610.106\n", " - 200 \n", "Covariance Type: opg \n", "==============================================================================\n", " coef std err z P>|z| [0.025 0.975]\n", "------------------------------------------------------------------------------\n", "intercept 0.0796 0.140 0.567 0.570 -0.196 0.355\n", "sin(1,52) 9.1916 0.876 10.492 0.000 7.475 10.909\n", "cos(1,52) -17.4348 0.891 -19.576 0.000 -19.180 -15.689\n", "sin(2,52) 1.2512 0.466 2.683 0.007 0.337 2.165\n", "cos(2,52) -17.1863 0.434 -39.583 0.000 -18.037 -16.335\n", "ar.L1 0.9957 0.007 150.761 0.000 0.983 1.009\n", "sigma2 1.0748 0.119 9.068 0.000 0.842 1.307\n", "===================================================================================\n", "Ljung-Box (L1) (Q): 2.16 Jarque-Bera (JB): 1.03\n", "Prob(Q): 0.14 Prob(JB): 0.60\n", "Heteroskedasticity (H): 0.71 Skew: -0.14\n", "Prob(H) (two-sided): 0.16 Kurtosis: 2.78\n", "===================================================================================\n", "\n", "Warnings:\n", "[1] Covariance matrix calculated using the outer product of gradients (complex-step).\n" ] } ], "source": [ "from statsmodels.tsa.api import SARIMAX\n", "\n", "det_proc = DeterministicProcess(idx, period=52, fourier=2)\n", "det_terms = det_proc.in_sample()\n", "\n", "mod = SARIMAX(y, order=(1, 0, 0), trend=\"c\", exog=det_terms)\n", "res = mod.fit(disp=False)\n", "print(res.summary())" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The forecasts are similar but differ since the parameters of the `SARIMAX` are estimated using MLE while `AutoReg` uses OLS." ] }, { "cell_type": "code", "execution_count": 22, "metadata": { "execution": { "iopub.execute_input": "2021-02-02T06:55:20.820333Z", "iopub.status.busy": "2021-02-02T06:55:20.819091Z", "iopub.status.idle": "2021-02-02T06:55:20.840970Z", "shell.execute_reply": "2021-02-02T06:55:20.842005Z" } }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
AutoRegSARIMAX
200-3.253482-2.956563
201-8.555660-7.985590
202-13.607557-12.794074
203-18.152622-17.130966
204-21.950370-20.760476
205-24.790116-23.475515
206-26.503171-25.109633
207-26.972781-25.546794
208-26.141244-24.728390
209-24.013773-22.657099
210-20.658891-19.397357
211-16.205310-15.072390
\n", "
" ], "text/plain": [ " AutoReg SARIMAX\n", "200 -3.253482 -2.956563\n", "201 -8.555660 -7.985590\n", "202 -13.607557 -12.794074\n", "203 -18.152622 -17.130966\n", "204 -21.950370 -20.760476\n", "205 -24.790116 -23.475515\n", "206 -26.503171 -25.109633\n", "207 -26.972781 -25.546794\n", "208 -26.141244 -24.728390\n", "209 -24.013773 -22.657099\n", "210 -20.658891 -19.397357\n", "211 -16.205310 -15.072390" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sarimax_forecast = res.forecast(12, exog=det_proc.out_of_sample(12))\n", "df = pd.concat([auto_reg_forecast, sarimax_forecast], axis=1)\n", "df.columns = columns = [\"AutoReg\", \"SARIMAX\"]\n", "df" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "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.7.9" } }, "nbformat": 4, "nbformat_minor": 4 }