2017-02-22 23:59:43 +00:00
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
2017-09-02 20:07:49 +00:00
"block_hidden": true,
"collapsed": true
2017-02-22 23:59:43 +00:00
},
"outputs": [],
"source": [
"%load_ext rpy2.ipython\n",
"%matplotlib inline\n",
"from fbprophet import Prophet\n",
"import pandas as pd\n",
"from matplotlib import pyplot as plt\n",
"import numpy as np\n",
2017-09-02 20:07:49 +00:00
"import logging\n",
"logging.getLogger('fbprophet').setLevel(logging.ERROR)\n",
"import warnings\n",
"warnings.filterwarnings(\"ignore\")\n",
2017-02-22 23:59:43 +00:00
"df = pd.read_csv('../examples/example_wp_peyton_manning.csv')\n",
"df['y'] = np.log(df['y'])"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
2017-07-11 05:57:13 +00:00
"block_hidden": true
2017-02-22 23:59:43 +00:00
},
"outputs": [
{
"data": {
"text/plain": [
2017-07-11 05:57:13 +00:00
"Initial log joint probability = -19.4685\n",
2017-02-22 23:59:43 +00:00
"Optimization terminated normally: \n",
" Convergence detected: relative gradient magnitude is below tolerance\n"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"%%R\n",
"library(prophet)\n",
"df <- read.csv('../examples/example_wp_peyton_manning.csv')\n",
"df$y = log(df$y)\n",
"m <- prophet(df)\n",
"future <- make_future_dataframe(m, periods=366)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"You may have noticed in the earlier examples in this documentation that real time series frequently have abrupt changes in their trajectories. By default, Prophet will automatically detect these changepoints and will allow the trend to adapt appropriately. However, if you wish to have finer control over this process (e.g., Prophet missed a rate change, or is overfitting rate changes in the history), then there are several input arguments you can use."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Automatic changepoint detection in Prophet\n",
"Prophet detects changepoints by first specifying a large number of *potential changepoints* at which the rate is allowed to change. It then puts a sparse prior on the magnitudes of the rate changes (equivalent to L1 regularization) - this essentially means that Prophet has a large number of *possible* places where the rate can change, but will use as few of them as possible. Consider the Peyton Manning forecast from the Quickstart. By default, Prophet specifies 25 potential changepoints which are uniformly placed in the first 80% of the time series. The vertical lines in this figure indicate where the potential changepoints were placed:"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"input_hidden": true
},
"outputs": [
{
"data": {
2017-09-02 20:07:49 +00:00
"image/png": "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\nSpBDjK5JOXny5LDaENE
2017-02-22 23:59:43 +00:00
"text/plain": [
2017-09-02 20:07:49 +00:00
"<matplotlib.figure.Figure at 0x7f9c897e5750>"
2017-02-22 23:59:43 +00:00
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"m = Prophet()\n",
"m.fit(df)\n",
"future = m.make_future_dataframe(periods=366)\n",
"forecast = m.predict(future)\n",
"fig = m.plot(forecast)\n",
"for cp in m.changepoints:\n",
" plt.axvline(cp, c='gray', ls='--', lw=2)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Even though we have a lot of places where the rate can possibly change, because of the sparse prior, most of these changepoints go unused. We can see this by plotting the magnitude of the rate change at each changepoint:"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"input_hidden": true
},
"outputs": [
{
"data": {
2017-09-02 20:07:49 +00:00
"image/png": "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\nTZ06VVOnTr3s2LJly5q
2017-02-22 23:59:43 +00:00
"text/plain": [
2017-09-02 20:07:49 +00:00
"<matplotlib.figure.Figure at 0x7f9c72da7ed0>"
2017-02-22 23:59:43 +00:00
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"deltas = m.params['delta'].mean(0)\n",
"fig = plt.figure(facecolor='w', figsize=(10, 6))\n",
"ax = fig.add_subplot(111)\n",
"ax.bar(range(len(deltas)), deltas, facecolor='#0072B2', edgecolor='#0072B2')\n",
"ax.grid(True, which='major', c='gray', ls='-', lw=1, alpha=0.2)\n",
"ax.set_ylabel('Rate change')\n",
"ax.set_xlabel('Potential changepoint')\n",
"fig.tight_layout()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The number of potential changepoints can be set using the argument `n_changepoints`, but this is better tuned by adjusting the regularization."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Adjusting trend flexibility\n",
2017-07-04 15:39:49 +00:00
"If the trend changes are being overfit (too much flexibility) or underfit (not enough flexibility), you can adjust the strength of the sparse prior using the input argument `changepoint_prior_scale`. By default, this parameter is set to 0.05. Increasing it will make the trend *more* flexible:"
2017-02-22 23:59:43 +00:00
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {
"output_hidden": true
},
"outputs": [
{
"data": {
"text/plain": [
2017-07-11 05:57:13 +00:00
"Initial log joint probability = -19.4685\n",
2017-02-22 23:59:43 +00:00
"Optimization terminated normally: \n",
" Convergence detected: relative gradient magnitude is below tolerance\n"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
2017-09-02 20:07:49 +00:00
"image/png": "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\nrlzJ1LtL/Moq+veLlMT
2017-02-22 23:59:43 +00:00
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"%%R -w 10 -h 6 -u in\n",
"m <- prophet(df, changepoint.prior.scale = 0.5)\n",
"forecast <- predict(m, future)\n",
"plot(m, forecast);"
]
},
{
"cell_type": "code",
"execution_count": 6,
2017-07-11 05:57:13 +00:00
"metadata": {},
2017-02-22 23:59:43 +00:00
"outputs": [
{
"data": {
2017-09-02 20:07:49 +00:00
"image/png": "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\nve5g9U1FzyLD5KI1a+u
2017-02-22 23:59:43 +00:00
"text/plain": [
2017-09-02 20:07:49 +00:00
"<matplotlib.figure.Figure at 0x7f9c72ae7610>"
2017-02-22 23:59:43 +00:00
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"m = Prophet(changepoint_prior_scale=0.5)\n",
"forecast = m.fit(df).predict(future)\n",
"m.plot(forecast);"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Decreasing it will make the trend *less* flexible:"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {
"output_hidden": true
},
"outputs": [
{
"data": {
"text/plain": [
2017-07-11 05:57:13 +00:00
"Initial log joint probability = -19.4685\n",
2017-02-22 23:59:43 +00:00
"Optimization terminated normally: \n",
" Convergence detected: absolute parameter change was below tolerance\n"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
2017-09-02 20:07:49 +00:00
"image/png": "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\nVVVV+/TpI/0Abt68Sba
2017-02-22 23:59:43 +00:00
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"%%R -w 10 -h 6 -u in\n",
"m <- prophet(df, changepoint.prior.scale = 0.001)\n",
"forecast <- predict(m, future)\n",
"plot(m, forecast);"
]
},
{
"cell_type": "code",
"execution_count": 8,
2017-07-11 05:57:13 +00:00
"metadata": {},
2017-02-22 23:59:43 +00:00
"outputs": [
{
"data": {
2017-09-02 20:07:49 +00:00
"image/png": "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\n0J3BDg6QEJ384hYgL16
2017-02-22 23:59:43 +00:00
"text/plain": [
2017-09-02 20:07:49 +00:00
"<matplotlib.figure.Figure at 0x7f9c72c3ce90>"
2017-02-22 23:59:43 +00:00
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"m = Prophet(changepoint_prior_scale=0.001)\n",
"forecast = m.fit(df).predict(future)\n",
"m.plot(forecast);"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Specifying the locations of the changepoints"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"If you wish, rather than using automatic changepoint detection you can manually specify the locations of potential changepoints with the `changepoints` argument."
]
},
{
"cell_type": "code",
2017-09-02 20:07:49 +00:00
"execution_count": 9,
2017-02-22 23:59:43 +00:00
"metadata": {
"output_hidden": true
},
"outputs": [
{
"data": {
"text/plain": [
2017-07-11 05:57:13 +00:00
"Initial log joint probability = -19.4685\n",
2017-02-22 23:59:43 +00:00
"Optimization terminated normally: \n",
" Convergence detected: relative gradient magnitude is below tolerance\n"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
2017-09-02 20:07:49 +00:00
"image/png": "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\naGh0795d/gFcv36daru
2017-02-22 23:59:43 +00:00
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"%%R -w 10 -h 6 -u in\n",
2017-07-11 05:57:13 +00:00
"m <- prophet(df, changepoints = c('2014-01-01'))\n",
2017-02-22 23:59:43 +00:00
"forecast <- predict(m, future)\n",
"plot(m, forecast);"
]
},
{
"cell_type": "code",
"execution_count": 10,
2017-07-11 05:57:13 +00:00
"metadata": {},
2017-02-22 23:59:43 +00:00
"outputs": [
{
"data": {
2017-09-02 20:07:49 +00:00
"image/png": "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\n6xwnh/4MdnCAhOjEF7c
2017-02-22 23:59:43 +00:00
"text/plain": [
2017-09-02 20:07:49 +00:00
"<matplotlib.figure.Figure at 0x7f9c88814c50>"
2017-02-22 23:59:43 +00:00
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"m = Prophet(changepoints=['2014-01-01'])\n",
"forecast = m.fit(df).predict(future)\n",
"m.plot(forecast);"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 2",
"language": "python",
"name": "python2"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 2
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython2",
"version": "2.7.13"
}
},
"nbformat": 4,
2017-07-11 05:57:13 +00:00
"nbformat_minor": 1
2017-02-22 23:59:43 +00:00
}