2017-02-22 23:59:43 +00:00
{
"cells": [
{
"cell_type": "code",
2017-07-05 05:39:57 +00:00
"execution_count": 1,
2017-02-22 23:59:43 +00:00
"metadata": {
2018-05-30 22:34:41 +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",
2017-09-02 05:46:11 +00:00
"import pandas as pd\n",
"import logging\n",
"logging.getLogger('fbprophet').setLevel(logging.ERROR)\n",
"import warnings\n",
"warnings.filterwarnings(\"ignore\")"
2017-02-22 23:59:43 +00:00
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
2018-05-30 22:34:41 +00:00
"block_hidden": true,
"collapsed": true
2017-02-22 23:59:43 +00:00
},
2017-09-02 05:46:11 +00:00
"outputs": [],
2017-02-22 23:59:43 +00:00
"source": [
"%%R\n",
2018-05-29 23:56:39 +00:00
"library(prophet)\n",
"library(dplyr)"
2017-02-22 23:59:43 +00:00
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
2017-07-05 03:03:21 +00:00
"## Sub-daily data\n",
"\n",
2018-05-30 04:55:26 +00:00
"Prophet can make forecasts for time series with sub-daily observations by passing in a dataframe with timestamps in the `ds` column. The format of the timestamps should be YYYY-MM-DD HH:MM:SS - see the example csv [here](https://github.com/facebook/prophet/blob/master/examples/example_yosemite_temps.csv). When sub-daily data are used, daily seasonality will automatically be fit. Here we fit Prophet to data with 5-minute resolution (daily temperatures at Yosemite):"
2017-07-05 03:03:21 +00:00
]
},
{
"cell_type": "code",
2017-07-11 05:57:13 +00:00
"execution_count": 3,
2017-09-02 05:46:11 +00:00
"metadata": {
2017-09-02 20:07:49 +00:00
"output_hidden": true
2017-09-02 05:46:11 +00:00
},
2017-07-11 05:57:13 +00:00
"outputs": [
{
"data": {
"text/plain": [
2018-05-29 23:56:39 +00:00
"Initial log joint probability = -1444.46\n",
2017-07-11 05:57:13 +00:00
"Optimization terminated normally: \n",
2018-05-28 19:37:23 +00:00
" Convergence detected: relative gradient magnitude is below tolerance\n"
2017-07-11 05:57:13 +00:00
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
2018-05-30 23:25:23 +00:00
"image/png": "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\nBtcFhu4wOzubHccLwnX
2017-07-11 05:57:13 +00:00
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"%%R -w 10 -h 6 -u in\n",
"df <- read.csv('../examples/example_yosemite_temps.csv')\n",
"m <- prophet(df, changepoint.prior.scale=0.01)\n",
"future <- make_future_dataframe(m, periods = 300, freq = 60 * 60)\n",
"fcst <- predict(m, future)\n",
"plot(m, fcst);"
]
},
{
"cell_type": "code",
"execution_count": 4,
2018-05-28 19:37:23 +00:00
"metadata": {},
2017-07-05 03:03:21 +00:00
"outputs": [
{
"data": {
2018-05-30 23:25:23 +00:00
"image/png": "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\nXRu7TCO9LNgkvVyO13W
2017-07-05 03:03:21 +00:00
"text/plain": [
2018-05-30 23:25:23 +00:00
"<Figure size 720x432 with 1 Axes>"
2017-07-05 03:03:21 +00:00
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"df = pd.read_csv('../examples/example_yosemite_temps.csv')\n",
"m = Prophet(changepoint_prior_scale=0.01).fit(df)\n",
"future = m.make_future_dataframe(periods=300, freq='H')\n",
"fcst = m.predict(future)\n",
"m.plot(fcst);"
]
},
2017-09-02 05:46:11 +00:00
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The daily seasonality will show up in the components plot:"
]
},
2017-07-05 05:39:57 +00:00
{
"cell_type": "code",
2017-07-11 05:57:13 +00:00
"execution_count": 5,
2017-09-02 05:46:11 +00:00
"metadata": {
2017-09-02 20:07:49 +00:00
"output_hidden": true
2017-09-02 05:46:11 +00:00
},
2017-07-11 05:57:13 +00:00
"outputs": [
{
"data": {
2018-05-30 23:25:23 +00:00
"image/png": "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\njM+bEuEu4rLoLgQey9g
2017-07-11 05:57:13 +00:00
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"%%R -w 9 -h 9 -u in\n",
"prophet_plot_components(m, fcst)"
]
},
{
"cell_type": "code",
"execution_count": 6,
2018-05-28 19:37:23 +00:00
"metadata": {},
2017-07-05 05:39:57 +00:00
"outputs": [
{
"data": {
2018-05-30 23:25:23 +00:00
"image/png": "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\nKIQQot1+Fgpvcb5Q2Bq
2017-07-05 05:39:57 +00:00
"text/plain": [
2018-05-30 23:25:23 +00:00
"<Figure size 648x648 with 3 Axes>"
2017-07-05 05:39:57 +00:00
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"m.plot_components(fcst);"
]
},
2017-07-05 03:03:21 +00:00
{
"cell_type": "markdown",
"metadata": {},
"source": [
2018-05-29 23:56:39 +00:00
"## Data with regular gaps\n",
"\n",
"Suppose the dataset above only had observations from 12a to 6a:"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"Initial log joint probability = -467.044\n",
"Optimization terminated normally: \n",
" Convergence detected: relative gradient magnitude is below tolerance\n"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
2018-05-30 23:25:23 +00:00
"image/png": "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\nJyRUo5aaqeXx8ATCg0b
2018-05-29 23:56:39 +00:00
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"%%R -w 10 -h 6 -u in\n",
"df2 <- df %>%\n",
" mutate(ds = as.POSIXct(ds, tz=\"GMT\")) %>%\n",
" filter(as.numeric(format(ds, \"%H\")) < 6)\n",
"m <- prophet(df2)\n",
"future <- make_future_dataframe(m, periods = 300, freq = 60 * 60)\n",
"fcst <- predict(m, future)\n",
"plot(m, fcst);"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [
{
"data": {
2018-05-30 23:25:23 +00:00
"image/png": "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\nfry7QhxGRpNSrVJmhko
2018-05-29 23:56:39 +00:00
"text/plain": [
2018-05-30 23:25:23 +00:00
"<Figure size 720x432 with 1 Axes>"
2018-05-29 23:56:39 +00:00
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"df2 = df.copy()\n",
"df2['ds'] = pd.to_datetime(df2['ds'])\n",
"df2 = df2[df2['ds'].dt.hour < 6]\n",
"m = Prophet().fit(df2)\n",
"future = m.make_future_dataframe(periods=300, freq='H')\n",
"fcst = m.predict(future)\n",
"m.plot(fcst);"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The forecast seems quite poor, with much larger fluctuations in the future than were seen in the history. The issue here is that we have fit a daily cycle to a time series that only has data for part of the day (12a to 6a). The daily seasonality is thus unconstrained for the remainder of the day and is not estimated well. The solution is to only make predictions for the time windows for which there are historical data. Here, that means to limit the `future` dataframe to have times from 12a to 6a:"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [
{
"data": {
2018-05-30 23:25:23 +00:00
"image/png": "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\ns8Vi4f/XQWmJvXv3xnH
2018-05-29 23:56:39 +00:00
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"%%R -w 10 -h 6 -u in\n",
"future2 <- future %>% \n",
" filter(as.numeric(format(ds, \"%H\")) < 6)\n",
"fcst <- predict(m, future2)\n",
"plot(m, fcst);"
]
},
{
"cell_type": "code",
2018-05-30 23:25:23 +00:00
"execution_count": 10,
2018-05-29 23:56:39 +00:00
"metadata": {},
"outputs": [
{
"data": {
2018-05-30 23:25:23 +00:00
"image/png": "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\nkzFz5kwaIkIASPYZcwH
2018-05-29 23:56:39 +00:00
"text/plain": [
2018-05-30 23:25:23 +00:00
"<Figure size 720x432 with 1 Axes>"
2018-05-29 23:56:39 +00:00
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"future2 = future.copy()\n",
"future2 = future2[future2['ds'].dt.hour < 6]\n",
"fcst = m.predict(future2)\n",
"m.plot(fcst);"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The same principle applies to other datasets with regular gaps in the data. For example, if the history contains only weekdays, then predictions should only be made for weekdays since the weekly seasonality will not be well estimated for the weekends.\n",
"\n",
2017-07-05 03:03:21 +00:00
"## Monthly data\n",
"\n",
"You can use Prophet to fit monthly data. However, the underlying model is continuous-time, which means that you can get strange results if you fit the model to monthly data and then ask for daily forecasts. Here we forecast US retail sales volume for the next 10 years:"
2017-02-22 23:59:43 +00:00
]
},
{
"cell_type": "code",
2018-05-30 23:25:23 +00:00
"execution_count": 11,
2017-02-22 23:59:43 +00:00
"metadata": {
"output_hidden": true
},
"outputs": [
{
"data": {
"text/plain": [
2018-05-30 23:25:23 +00:00
"Initial log joint probability = -2.41173\n",
2017-02-22 23:59:43 +00:00
"Optimization terminated normally: \n",
2018-05-28 19:37:23 +00:00
" Convergence detected: relative gradient magnitude is below tolerance\n"
2017-02-22 23:59:43 +00:00
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
2018-05-30 23:25:23 +00:00
"image/png": "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\nsYoMh2NmWLeagIMoMqo
2017-02-22 23:59:43 +00:00
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"%%R -w 10 -h 6 -u in\n",
"df <- read.csv('../examples/example_retail_sales.csv')\n",
2018-05-28 19:37:23 +00:00
"m <- prophet(df, seasonality.mode = 'multiplicative')\n",
2017-02-22 23:59:43 +00:00
"future <- make_future_dataframe(m, periods = 3652)\n",
"fcst <- predict(m, future)\n",
"plot(m, fcst);"
]
},
{
"cell_type": "code",
2018-05-30 23:25:23 +00:00
"execution_count": 12,
2018-05-28 19:37:23 +00:00
"metadata": {},
2017-02-22 23:59:43 +00:00
"outputs": [
{
"data": {
2018-05-30 23:25:23 +00:00
"image/png": "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\nJ9oe02bDHYBSwYPUGgd
2017-02-22 23:59:43 +00:00
"text/plain": [
2018-05-28 19:37:23 +00:00
"<Figure size 720x432 with 1 Axes>"
2017-02-22 23:59:43 +00:00
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"df = pd.read_csv('../examples/example_retail_sales.csv')\n",
2018-05-28 19:37:23 +00:00
"m = Prophet(seasonality_mode='multiplicative').fit(df)\n",
2017-02-22 23:59:43 +00:00
"future = m.make_future_dataframe(periods=3652)\n",
"fcst = m.predict(future)\n",
"m.plot(fcst);"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
2018-05-30 23:25:23 +00:00
"This is the same issue from above where the dataset has regular gaps. When we fit the yearly seasonality, it only has data for the first of each month and the seasonality components for the remaining days are unidentifiable and overfit. This can be clearly seen by doing MCMC to see uncertainty in the seasonality:"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"\n",
"SAMPLING FOR MODEL 'prophet' NOW (CHAIN 1).\n",
"\n",
"Gradient evaluation took 0.000177 seconds\n",
"1000 transitions using 10 leapfrog steps per transition would take 1.77 seconds.\n",
"Adjust your expectations accordingly!\n",
"\n",
"\n",
"Iteration: 1 / 300 [ 0%] (Warmup)\n",
"Iteration: 30 / 300 [ 10%] (Warmup)\n",
"Iteration: 60 / 300 [ 20%] (Warmup)\n",
"Iteration: 90 / 300 [ 30%] (Warmup)\n",
"Iteration: 120 / 300 [ 40%] (Warmup)\n",
"Iteration: 150 / 300 [ 50%] (Warmup)\n",
"Iteration: 151 / 300 [ 50%] (Sampling)\n",
"Iteration: 180 / 300 [ 60%] (Sampling)\n",
"Iteration: 210 / 300 [ 70%] (Sampling)\n",
"Iteration: 240 / 300 [ 80%] (Sampling)\n",
"Iteration: 270 / 300 [ 90%] (Sampling)\n",
"Iteration: 300 / 300 [100%] (Sampling)\n",
"\n",
" Elapsed Time: 7.64282 seconds (Warm-up)\n",
" 12.4094 seconds (Sampling)\n",
" 20.0522 seconds (Total)\n",
"\n",
"\n",
"SAMPLING FOR MODEL 'prophet' NOW (CHAIN 2).\n",
"\n",
"Gradient evaluation took 9.3e-05 seconds\n",
"1000 transitions using 10 leapfrog steps per transition would take 0.93 seconds.\n",
"Adjust your expectations accordingly!\n",
"\n",
"\n",
"Iteration: 1 / 300 [ 0%] (Warmup)\n",
"Iteration: 30 / 300 [ 10%] (Warmup)\n",
"Iteration: 60 / 300 [ 20%] (Warmup)\n",
"Iteration: 90 / 300 [ 30%] (Warmup)\n",
"Iteration: 120 / 300 [ 40%] (Warmup)\n",
"Iteration: 150 / 300 [ 50%] (Warmup)\n",
"Iteration: 151 / 300 [ 50%] (Sampling)\n",
"Iteration: 180 / 300 [ 60%] (Sampling)\n",
"Iteration: 210 / 300 [ 70%] (Sampling)\n",
"Iteration: 240 / 300 [ 80%] (Sampling)\n",
"Iteration: 270 / 300 [ 90%] (Sampling)\n",
"Iteration: 300 / 300 [100%] (Sampling)\n",
"\n",
" Elapsed Time: 8.49809 seconds (Warm-up)\n",
" 12.0307 seconds (Sampling)\n",
" 20.5288 seconds (Total)\n",
"\n",
"\n",
"SAMPLING FOR MODEL 'prophet' NOW (CHAIN 3).\n",
"\n",
"Gradient evaluation took 0.000104 seconds\n",
"1000 transitions using 10 leapfrog steps per transition would take 1.04 seconds.\n",
"Adjust your expectations accordingly!\n",
"\n",
"\n",
"Iteration: 1 / 300 [ 0%] (Warmup)\n",
"Iteration: 30 / 300 [ 10%] (Warmup)\n",
"Iteration: 60 / 300 [ 20%] (Warmup)\n",
"Iteration: 90 / 300 [ 30%] (Warmup)\n",
"Iteration: 120 / 300 [ 40%] (Warmup)\n",
"Iteration: 150 / 300 [ 50%] (Warmup)\n",
"Iteration: 151 / 300 [ 50%] (Sampling)\n",
"Iteration: 180 / 300 [ 60%] (Sampling)\n",
"Iteration: 210 / 300 [ 70%] (Sampling)\n",
"Iteration: 240 / 300 [ 80%] (Sampling)\n",
"Iteration: 270 / 300 [ 90%] (Sampling)\n",
"Iteration: 300 / 300 [100%] (Sampling)\n",
"\n",
" Elapsed Time: 8.04169 seconds (Warm-up)\n",
" 11.8554 seconds (Sampling)\n",
" 19.8971 seconds (Total)\n",
"\n",
"\n",
"SAMPLING FOR MODEL 'prophet' NOW (CHAIN 4).\n",
"\n",
"Gradient evaluation took 9e-05 seconds\n",
"1000 transitions using 10 leapfrog steps per transition would take 0.9 seconds.\n",
"Adjust your expectations accordingly!\n",
"\n",
"\n",
"Iteration: 1 / 300 [ 0%] (Warmup)\n",
"Iteration: 30 / 300 [ 10%] (Warmup)\n",
"Iteration: 60 / 300 [ 20%] (Warmup)\n",
"Iteration: 90 / 300 [ 30%] (Warmup)\n",
"Iteration: 120 / 300 [ 40%] (Warmup)\n",
"Iteration: 150 / 300 [ 50%] (Warmup)\n",
"Iteration: 151 / 300 [ 50%] (Sampling)\n",
"Iteration: 180 / 300 [ 60%] (Sampling)\n",
"Iteration: 210 / 300 [ 70%] (Sampling)\n",
"Iteration: 240 / 300 [ 80%] (Sampling)\n",
"Iteration: 270 / 300 [ 90%] (Sampling)\n",
"Iteration: 300 / 300 [100%] (Sampling)\n",
"\n",
" Elapsed Time: 7.96322 seconds (Warm-up)\n",
" 11.872 seconds (Sampling)\n",
" 19.8352 seconds (Total)\n",
"\n"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"image/png": "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\nOXAcxzDM5/PFupBo4PP
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"%%R -w 9 -h 6 -u in\n",
"m <- prophet(df, seasonality.mode = 'multiplicative', mcmc.samples = 300)\n",
"fcst <- predict(m, future)\n",
"prophet_plot_components(m, fcst)"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAoAAAAGoCAYAAADW2lTlAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4yLCBo\ndHRwOi8vbWF0cGxvdGxpYi5vcmcvhp/UCwAAIABJREFUeJzs3Xt81OWd//3Xd86ZzCQzk+NkEhIg\nAUIAOQQIard4SDHUxqW1iHoXLO6PltrCtvdjK9uqq/vro+Bu261bdXfxphq7Wmrtb8WfhYiF0lYK\nQUBRlEOQhJzPMzkf5nDdfwyMB86YyfHzfDxozXdmvtf1SQDfXtf3ui5NKaUQQgghhBDjhm64OyCE\nEEIIIYaWBEAhhBBCiHFGAqAQQgghxDgjAVAIIYQQYpyRACiEEEIIMc5IABRCCCGEGGckAAohhBBC\njDMSAIUQQgghxhkJgEIIIYQQ44xhuDswUiQmJpKVlRXVNvx+P0ajMaptjBRS69gktY4946VOkFrH\nqvFWa21tLS0tLZ/5XhIAz8rKyuLgwYNRbaOuro60tLSotjFSSK1jk9Q69oyXOkFqHavGW63FxcWD\nci+ZAhZCCCGEGGckAAohhBBCjDMSAIUQQgghxhkJgEIIIYQQ44wEQCGEEEKIcUYCoBBCCCHEZ9TS\n1c9AIDTc3bhiEgCFEEIIIa5RfyBIZVsPZVU+ugcCw92dKyb7AAohhBBCXKVef5Dy5i5q2/vQNA1t\nuDt0lSQACiGEEEJcoWBIcaath5MtXRg0jaRYE5qm0dI9MNxduyoSAIUQQgghrkB7r5936zvo6g+S\nYDWh1422cb+PSAAUQgghhLiEnoEAJ5u7qGvvJ9akJ9lmGu4ufWYSAIUQQgghLiAQDHHG20N5czdG\nvY5kW3i6dyyQACiEEEII8TFKKZo6+3m/sQt/MIRrlE/3XogEQCGEEEKIszr7Ahxv6qS5ewCHxUi8\nZWxGpbFZlRBCCCHEVTi3uvd4cxcxBh0pNvNwdymqorYR9IkTJ5g9e3bkV1xcHD//+c9pa2ujsLCQ\nnJwcCgsL8Xq9QHi4dd26dWRnZzNr1iwOHz4cuVdJSQk5OTnk5ORQUlISuX7o0CFmzpxJdnY269at\nQykFcNE2hBBCCCE+rb3Xz/7KNk62dJFoNRFnMQ53l6IuagFw6tSpvPPOO7zzzjscOnQIq9XKsmXL\n2LRpE7fccgvl5eXccsstbNq0CYAdO3ZQXl5OeXk5mzdvZu3atUA4zD322GOUlZVx4MABHnvssUig\nW7t2Lc8880zkc6WlpQAXbUMIIYQQ4pzu/gDv1PrYW9lGUCmSYs1j7lm/ixmSo+B27drF5MmTyczM\nZNu2baxatQqAVatW8corrwCwbds2Vq5ciaZpFBQU4PP5qK+v5/XXX6ewsBCXy4XT6aSwsJDS0lLq\n6+vp6OigoKAATdNYuXLlJ+51oTaEEEIIIbr6A7xX38GfT7fS2u0nOdZErGl8PRU3JNVu3bqVu+++\nG4DGxkbcbjcAqampNDY2AlBbW0tGRkbkM+np6dTW1l7yenp6+nnXL9WGEEIIIcYvpRRV3l4+aOzE\nqPvoFI/xKOoBcGBggFdffZWNGzee95qmaVH/xl+qjc2bN7N582YAGhoaqKuri2pfmpubo3r/kURq\nHZuk1rFnvNQJUutYdaW19gdCVLR209rjJ95iRNNBe8/g9aOrN0CTqZfeKD4/OJg/16gHwB07djB3\n7lxSUlIASElJob6+HrfbTX19PcnJyQB4PB6qq6sjn6upqcHj8eDxeNizZ88nri9evBiPx0NNTc15\n779UG5+2Zs0a1qxZA0B+fj5paWmDWvuFDEUbI4XUOjZJrWPPeKkTpNax6lK1BkOK+vY+TjV1oos1\nMykxOgEt0D1AcqoDp3V0nBIS9WcAf/3rX0emfwGKi4sjK3lLSkq44447Iteff/55lFLs37+f+Ph4\n3G43S5YsYefOnXi9XrxeLzt37mTJkiW43W7i4uLYv38/Simef/75T9zrQm0IIYQQYvxo7/Wzr7KN\n9xo6sZkMOGLG/ureKxXVEcDu7m7eeOMN/uu//itybcOGDSxfvpwtW7aQmZnJSy+9BMDSpUvZvn07\n2dnZWK1Wnn32WQBcLhcPP/ww8+fPB+CRRx7B5XIB8PTTT3PffffR29tLUVERRUVFl2xDCCGEEGPf\nQCBEta+Hk83dWI1j4+zewRbVABgbG0tra+snriUkJLBr167z3qtpGk899dQF77N69WpWr1593vX8\n/HyOHj163vWLtSGEEEKIsSsQDFHX0ceJpm5CSpEwBo9wGyzja82zEEIIIcacQDBEQ0c/HzR1EVIK\nh8WAUT8kO92NWhIAhRBCCDFqdfYHOFnRRl8gJMHvKsh3SQghhBCjjj8Y4mRzF+/WdaDTICnWJOHv\nKsgIoBBCCCFGjZ6BALXtfVS09aAUOGOM4+4Uj8Eg3zEhhBBCjAqNHX28U9eOpmnEW4wYdBq+3uHu\n1egkAVAIIYQQI1qfP8iJ5i5qfL24YkyYDDLV+1lJABRCCCHEiKSUorGzn/fqO9E0RYrNPG7P7h1s\nEgCFEEIIMaIopWjo6ONUaw+d/QEcFiNmGfUbVBIAhRBCCDEiKKXw9vo51tBJR3+AOIuBFJt5uLs1\nJkkAFEIIIcSw6xkI8EFjF02dfdjMBpIl+EWVBEAhhBBCDJvOvgCV3h5qfL2Y9DpS7Jbh7tK4IAFQ\nCCGEEEOuzx/kdFs3Z9rCwS8x1oROFngMGQmAQgghhBgy/mCIam8v5S3daGdP8JCVvUNPAqAQQggh\nok4pRV17H8eaugiGFI6Y8EbOo133QIBDNe3sq/QyPyN+uLtzxSQACiGEECKqOvsCnGjqpKlrAJfV\nOKrP7A0pxYmmLvaf8bHvjJd36zsIhBRmg46H2nNwxY6OxSsSAIUQQggRFf2BIB+2dHPG24vZoCPF\nPjrC0ae1dA+w/4yX/We8lFX58Pb6AZiSFMs9czwsynLiibeQ4YgZ5p5eOQmAQgghhBhUgWCIho5+\njjV1ohh9z/n1B0IcqWtn3xkf+894KW/pBsBlNVKQ6aQg08HCCU4SY02Rz7R0DwxXd69JVMdgfT4f\nd955J9OmTSM3N5d9+/bR1tZGYWEhOTk5FBYW4vV6gfCzAevWrSM7O5tZs2Zx+PDhyH1KSkrIyckh\nJyeHkpKSyPVDhw4xc+ZMsrOzWbduHUopgIu2IYQQQojoCQRDVHt7+MvpNt5r6MRuNpBgHfnhTylF\nRVsPv367lnWvHOXm/9zHt/7PUX79di3xFgPfviGL/75nDqX/ayH/+7apfDE35RPhbzSKagBcv349\nt912G8ePH+fIkSPk5uayadMmbrnlFsrLy7nlllvYtGkTADt27KC8vJzy8nI2b97M2rVrgXCYe+yx\nxygrK+PAgQM89thjkUC3du1annnmmcjnSktLAS7ahhBCCCEGnz8YoqK1h92nWjna2InZoCPZZhrR\nz/p19Pn5Q3kzP/pDObf/8i2++vwhfvqn09S09/G3M1L5t+Lp7P7mIv7zzlncNz+Dacm2MbVNTdSm\ngNvb2/nzn//Mc889B4DJZMJkMrFt2zb27NkDwKpVq1i8eDGPP/4427ZtY+XKlWiaRkFBAT6fj/r6\nevbs2UNhYSEulwuAwsJCSktLWbx4MR0dHRQUFACwcuVKXnnlFYqKii7ahhBCCCEGTzCkONXSzRlv\nDyGlcMaYRuzK3kBI8UFDJ/vOPsv3fmMnIQU2k575Exysnp/BokwnafHjYyPqqAXAiooKkpKS+PrX\nv86RI0eYN28eTzzxBI2NjbjdbgBSU1NpbGwEoLa2loyMjMjn09PTqa2tveT19PT0864DF23j0zZv\n3szmzZsBaGhooK6ubhC/A+drbm6O6v1HEql1bJJax57xUidIrYNpIBCiuaufuo4+AiFFnNmIUQdd\nvVFt9oK6fG0Xfa2x28/
"text/plain": [
"<Figure size 648x432 with 2 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"m = Prophet(seasonality_mode='multiplicative', mcmc_samples=300).fit(df)\n",
"fcst = m.predict(future)\n",
"m.plot_components(fcst);"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The seasonality has low uncertainty at the start of each month where there are data points, but has very high posterior variance in between. When fitting Prophet to monthly data, only make monthly forecasts, which can be done by passing the frequency into make_future_dataframe:"
2017-02-22 23:59:43 +00:00
]
},
{
"cell_type": "code",
2017-07-11 05:57:13 +00:00
"execution_count": 9,
2017-02-22 23:59:43 +00:00
"metadata": {
"output_hidden": true
},
"outputs": [
{
"data": {
2018-05-28 19:37:23 +00:00
"image/png": "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\nQIYDAADgkH/YsPf7m7t
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
"future <- make_future_dataframe(m, periods = 120, freq = 'month')\n",
2017-02-22 23:59:43 +00:00
"fcst <- predict(m, future)\n",
"plot(m, fcst)"
]
},
{
"cell_type": "code",
2017-07-11 05:57:13 +00:00
"execution_count": 10,
2018-05-28 19:37:23 +00:00
"metadata": {},
2017-02-22 23:59:43 +00:00
"outputs": [
{
"data": {
2018-05-28 19:37:23 +00:00
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAsgAAAGoCAYAAABbtxOxAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4yLCBo\ndHRwOi8vbWF0cGxvdGxpYi5vcmcvhp/UCwAAIABJREFUeJzs3XmQZOV5LvjnOyeXWruW3qimm03V\nahaxSGoEsi1d2biNkD2ta18k0HUYZDTTDuw7KDTheyXHWAoTMTPCnjvhRcYa9wQjN447alu6YbVl\ni0VCxpItEAYEEiCggAa6a+muJauyKpdzzrfMH9/ZcisqM+mlqp9fhIy6Ks/JrNNyxFsvz/e+whhj\nQEREREREAADnTH8AIiIiIqKzCQtkIiIiIqIUFshERERERCkskImIiIiIUlggExERERGlsEAmIiIi\nIkphgUxERERElMICmYiIiIgohQUyEREREVFK5kx/gLPFli1bcNFFF5229wuCANls9rS939mMz8Li\nc0jwWVh8Dgk+C4vPIcFnYfE5JIIgwOTkJObm5rq+Fwvk0EUXXYQnn3zytL3f1NQUduzYcdre72zG\nZ2HxOST4LCw+hwSfhcXnkOCzsPgcElNTU9i/f//bci9GLIiIiIiIUlggExERERGlsEAmIiIiIkph\ngUxERERElMICmYiIiIgohQUyEREREVEKC2QiIiIiohQWyEREREREKSyQiYiIiIhSWCATEREREaWw\nQCYiIiIiSmGBTERERESUwgKZiIiIiCiFBTIRERERUQoLZCIiIiKiFBbIRERERNSRV+ZKqAbqTH+M\ntx0LZCIiIiLqSDVQUNqc6Y/xtmOBTEREREQdUdpg45XHLJCJiIiIqEPaAGYDVsgskImIiIioI1Jr\nbMQeMgtkIiIiIuqI2ojtY7BAJiIiIqIOac2IBRERERFRTJmNGLBggUxEREREHVLawGzAFjILZCIi\nIiJqmzEGmh1kIiIiIiLLbNARbwALZCIiIiLqgAHnIBMRERERxeKIxQaskFkgExEREVHbou7xxiuP\nWSATERERUQcMDPSGLI9ZIBMRERGdk3ypUfZlx9fbQ3qGGeR2/fEf/zGuuOIKvOtd78InPvEJVKtV\nHD16FNdddx12796NW265Bb7vAwA8z8Mtt9yC8fFxXHfddXj99dfj+3zxi1/E+Pg49uzZg4ceeij+\n+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\nHSK+WXQPX2q8fHIF6/h
2017-02-22 23:59:43 +00:00
"text/plain": [
2018-05-28 19:37:23 +00:00
"<Figure size 720x432 with 1 Axes>"
2017-02-22 23:59:43 +00:00
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"future = m.make_future_dataframe(periods=120, freq='M')\n",
"fcst = m.predict(future)\n",
"m.plot(fcst);"
]
}
],
"metadata": {
"kernelspec": {
2018-05-30 22:34:41 +00:00
"display_name": "Python 2",
2017-02-22 23:59:43 +00:00
"language": "python",
2018-05-30 22:34:41 +00:00
"name": "python2"
2017-02-22 23:59:43 +00:00
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
2018-05-30 22:34:41 +00:00
"version": 2
2017-02-22 23:59:43 +00:00
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
2018-05-30 22:34:41 +00:00
"pygments_lexer": "ipython2",
"version": "2.7.14+"
2017-02-22 23:59:43 +00:00
}
},
"nbformat": 4,
2017-07-05 03:03:21 +00:00
"nbformat_minor": 1
2017-02-22 23:59:43 +00:00
}