2018-05-28 19:37:23 +00:00
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
2018-05-30 22:34:41 +00:00
"block_hidden": true,
"collapsed": true
2018-05-28 19:37:23 +00:00
},
"outputs": [],
"source": [
"%load_ext rpy2.ipython\n",
"%matplotlib inline\n",
"from fbprophet import Prophet\n",
"import pandas as pd\n",
"import numpy as np\n",
"from matplotlib import pyplot as plt\n",
"import logging\n",
"logging.getLogger('fbprophet').setLevel(logging.ERROR)\n",
"import warnings\n",
"warnings.filterwarnings(\"ignore\")"
]
},
{
"cell_type": "code",
"execution_count": 2,
2018-05-30 22:34:41 +00:00
"metadata": {
"collapsed": true
},
2018-05-28 19:37:23 +00:00
"outputs": [],
"source": [
"%%R\n",
"library(prophet)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"By default Prophet fits additive seasonalities, meaning the effect of the seasonality is added to the trend to get the forecast. This time series of the number of air passengers is an example of when additive seasonality does not work:"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"output_hidden": true
},
"outputs": [
{
"data": {
"text/plain": [
"Initial log joint probability = -50.465\n",
"Optimization terminated normally: \n",
" Convergence detected: relative gradient magnitude is below tolerance\n"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"image/png": "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\nkocoQgfLV5gYAAEASg2
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"%%R -w 10 -h 6 -u in\n",
"df <- read.csv('../examples/example_air_passengers.csv')\n",
"m <- prophet(df)\n",
"future <- make_future_dataframe(m, 50, freq = 'm')\n",
"forecast <- predict(m, future)\n",
"plot(m, forecast)"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\nQ75xqcifny8wW3b2fDS
"text/plain": [
"<Figure size 720x432 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"df = pd.read_csv('../examples/example_air_passengers.csv')\n",
"m = Prophet()\n",
"m.fit(df)\n",
"future = m.make_future_dataframe(50, freq='MS')\n",
"forecast = m.predict(future)\n",
"m.plot(forecast);"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"This time series has a clear yearly cycle, but the seasonality in the forecast is too large at the start of the time series and too small at the end. In this time series, the seasonality is not a constant additive factor as assumed by Prophet, rather it grows with the trend. This is multiplicative seasonality.\n",
"\n",
"Prophet can model multiplicative seasonality by setting `seasonality_mode='multiplicative'` in the input arguments:"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"Initial log joint probability = -50.465\n",
"Optimization terminated normally: \n",
" Convergence detected: absolute parameter change was below tolerance\n"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"image/png": "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\nnCTLQsNXtUEzy6pR5sq
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"%%R -w 10 -h 6 -u in\n",
"m <- prophet(df, seasonality.mode = 'multiplicative')\n",
"forecast <- predict(m, future)\n",
"plot(m, forecast)"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAsgAAAGoCAYAAABbtxOxAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4yLCBo\ndHRwOi8vbWF0cGxvdGxpYi5vcmcvhp/UCwAAIABJREFUeJzs3XuQnHd5L/jve3/73j33GY1k2ZYx\nGNsYLF9EknMEig3L7rGXxIFDctYK6y1t2NqCsJUcOGdPzi6VqoNzzoZcWDYV7TqU2E0Ba3LWCgQH\nsIIwEBljjE3wjbEs29Lcp+/X975/vO/b09L0jHp6prtHo++nKlVhZqT5zesp+9tPP7/nETzP80BE\nRERERAAAcdAHICIiIiLaSRiQiYiIiIhaMCATEREREbVgQCYiIiIiasGATERERETUggGZiIiIiKgF\nAzIRERERUQsGZCIiIiKiFgzIREREREQt5EEfYCtGRkawf//+QR9jR7AsC4qiDPoYOx6fU2f4nDrD\n59QZPqfO8Dl1hs+pM3xO7b3++utYWVm57Ndd0QF5//79eOaZZwZ9jB1hbm4OU1NTgz7Gjsfn1Bk+\np87wOXWGz6kzfE6d4XPqDJ9TewcPHuzo69hiQURERETUggGZiIiIiKgFAzIRERERUQsGZCIiIiKi\nFgzIREREREQtGJCJiIiIiFowIBMRERERtWBAJiIiIiJqwYBMRERERNSCAZmIiIiIqAUDMhERERFR\nCwZkIiIiIqIWDMhERERERC0YkImIiIiIWjAgExERERG1YEAmIiIiorZWKgZeXCzB87xBH6WvGJCJ\niIiIqK2a6eCF+TJmVqqDPkpfMSATERERUVsN20U6omBmuYrXc7VBH6dvGJCJiIiIqC3DdqCIIkZj\nKl5YKGOh1Bj0kfqCAZmIiIiI2rIcD5IoQBIFxFUJSxVj0EfqCwZkIiIiImqrYbsQg7QoCgJs5+q4\nrMeATERERERtGY4LWRAAAKIImC4DMhERERFdxUzHhST6AVkSBFiOO+AT9QcDMhERERGt4bgePBcQ\nwgqyIMCyGZCJiIiI6Cpluy4grP5vUQAstlgQERER0dXKdjy4LRv0BEGA53lwr4KQzIBMRERERGu8\nulLFAyeewRMzyxd93LkK1k4zIBMRERHRGq8sV1C3XPzhd2bwRj7Yoif4vcm7HQMyEREREa2xUjEB\nAJbj4tN/9zIatgOAAZmIiIiIrlLLVT8g/8E9b8HMShX/2+nXIEBgiwURERERXZ2WKgZEAXjfjaP4\n6B178djPF/Dj8wVWkLfqT/7kT/D2t78dN998Mz7ykY+g0Wjg3LlzuOuuu3DDDTfgwx/+MEzTf3Vi\nGAY+/OEP48CBA7jrrrvw+uuv9/JoRERERLSBbM1CQpMhCgL+2zv3AgBey9YYkLdidnYWf/7nf45n\nnnkGP//5z+E4Dr7yla/gU5/6FD75yU9iZmYGmUwGjzzyCADgkUceQSaTwauvvopPfvKT+NSnPtWr\noxERERHRZWSrJlK6AgDQZRGSKKBm2XB2fz7ubQXZtm3U63XYto1arYbJyUn8wz/8Ax544AEAwNGj\nR/HYY48BAE6ePImjR48CAB544AGcOnUK3lXQ40JERES0E+XrFlIRGYA/AzmuSqgazlVRQZZ79Rfv\n2bMHv/d7v4d9+/YhEong3nvvxe233450Og1Z9r/t9PQ0ZmdnAfgV5717/fK9LMtIpVLIZrMYGRm5\n6O89fvw4jh8/DgBYWFjA3Nxcr36EK8ry8vLlv4j4nDrE59QZPqfO8Dl1hs+pM3xOndmO55Qt1zEZ\nV1BYWQQARGUBpUoN8/NzQFXf8t+/k/UsIOfzeZw8eRLnzp1DOp3Gb/zGb+Dxxx9f83Xhfu921eLw\nc62OHTuGY8eOAQAOHjyIqampbT75lYvPojN8Tp3hc+oMn1Nn+Jw6w+fUGT6nzmz1OZWsn+GWVBzp\nkXEAQDIyC1OQkRwew9RofDuOuGP1rMXiiSeewLXXXovR0VEoioJf+7Vfwz/+4z+iUCjAtm0AwIUL\nF5r/8Kanp3H+/HkAfmtGsVjE0NBQr45HREREROtwXRflho1MRGl+LK7JqFoOrKugCblnAXnfvn14\n6qmnUKvV4HkeTp06hZtuugnvec978LWvfQ0AcOLECdx///0AgPvuuw8nTpwAAHzta1/De9/73rYV\nZCIiIiLqrULdhuV6SOpys+c4pkqomQ4sxx3w6XqvZwH5rrvuwgMPPIB3vetduOWWW+C6Lo4dO4Y/\n+qM/wuc+9zkcOHAA2WwWDz30EADgoYceQjabxYEDB/C5z30ODz/8cK+ORkREREQbWKoYAABFErBc\nNeF6nl9BNh1Y7u4PyD3rQQaAz3zmM/jMZz5z0ceuu+46PP3002u+Vtd1PProo708DhERERF1YClY\nM53UZYwlVKxULH+KhWnDtHd/i0VPAzIRERERdWa2UMfLSxUokgBZFHHDaAyjcW0gZwkryElNxrWZ\nKODVIEsiqqYD03YGcqZ+4qppIiIioh2gYtrwPA+qJKJs2MjXrIGdZaUaVJA1Gaos4pbJJGKKBNcD\nSgYDMhERERH1gWm7kEURiiRCk8SB9vouhy0WEQWyKEBXJNw45o92KzasXb/MjQGZiIiIaAcwHReS\n6E/wEkXAHOA4tZWqAQFATJUhi35cHI6qAICa6WC3L9NjQCYiIiLaAQzbQ5BFIQoCLHtwFeSVqomE\nLkMSADkI7elg7XTV2v3rphmQiYiIiHYA03EhBzsgREEYaItFtmYhpcuQRAFiEJAzUX9pSM104LDF\ngoiIiIh6zXTcZhiVhMG2WORqJpKaDE1ejYrhVr2ayQoyEREREfWY63pwXQ9iWEEWhYFurMvXLCR1\nBZosNT82FFSQK6a96wMy5yATERERDZjluHhhoYzlahav5WpYrpj46J3TfmgOqsr9VGjYODASu6iC\nnI74l/SqV0GLBQMyERER0YB96xfL+L1vvAQA0GURDdvFHXtTcDwPIvobkD3PQ7FhIanL0FsCckyV\nIApAxWCLBRERERH12Pl8HQDwpY/chpMfvQNAUKkdQBAtNWxYjremB1kQBMRUiS0WRERERNR72WBr\n3v5MtDkLeVABeTFYMx3XZOiKdNHn4qp8VVzSY0AmIiIiGrCVqgFZFBBRRAiCAEUSBtbruxwE5KQu\nN2cgh+KajKrpwBzgBcJ+YIsFERER0YDlaxYSmgwhmGIxyErtYjMgK2sCclKXUTNtBmQiIiIi6q1c\nzURCW21niGsSqtZgVjqvVEwAYQX54qiY1GTULAf2Lm+xYEAmIiIiGrBc3a8gh+KqjOqALsMttwZk\n6eIKciqioGY6A11i0g8MyEREREQDlq9ZSAWb6gC/glwzBtODnK1ZEADEFWlNi0VKl1G1HFg2WyyI\niIiIqIcKdQsJVUaxYSFfM6FIIiqmDXMAQXS5aiCuyZAkoU1AVlA3XZiO0/dz9RMDMhEREdGAFRs2\nVEXEcFTFtcMxjMc1VAY0LWKlaiKly1BEsXlpMJSOyHA8D2VjdwdkjnkjIiIiGqCG5aBhu0hqMvZm\nIhiKqhhLqKhbDqwB9Prma/4WvdYlIaGwDaTQsPp9rL5iBZmIiIhogPJ1P2ymWuYOp3UFdctF3ep/\npTZXs9Zs0QuldT8gVwwb3gD6o/uFAZmIiIhogHLBFr3WucPpoFJbHEClttiwkNSV9gE54jcfDGrL\nX78wIBMREREN0FLL5jrpkoBcqPU3IHueh0J9/RaL8FzVAU3Y6BcGZCIiIqIBWqn6ATmhSs3FHOkB\n9fqGM46TmgxdltZ8PhOcq2axgkxEREREPbJS9RdzJCJKs4KcabZY2H09y1LLkpB2FeShqAogbLHo\n69H6igGZiIiIaICyVb9KPBKETwDIRP2AXGr09zLcYqUBAEi0XBhstdpiYbPFgoiIiIh6I1czIQkC\n0vrq9N1UOC2iz+umm2u
"text/plain": [
"<Figure size 720x432 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"m = Prophet(seasonality_mode='multiplicative')\n",
"m.fit(df)\n",
"forecast = m.predict(future)\n",
"fig = m.plot(forecast)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The components figure will now show the seasonality as a percent of the trend:"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\nyt1FIpEE+e4zDGM2m9k
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"%%R -w 9 -h 6 -u in\n",
"prophet_plot_components(m, forecast);"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\nxMTEuG7tlpeXEx0d7dq
"text/plain": [
"<Figure size 648x432 with 2 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"fig = m.plot_components(forecast)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"With `seasonality_mode='multiplicative'`, holiday effects will also be modeled as multiplicative. Any added seasonalities or extra regressors will by default use whatever `seasonality_mode` is set to, but can be overriden by specifying `mode='additive'` or `mode='multiplicative'` as an argument when adding the seasonality or regressor.\n",
"\n",
"For example, this block sets the built-in seasonalities to multiplicative, but includes an additive quarterly seasonality and an additive regressor:"
]
},
{
"cell_type": "code",
"execution_count": 13,
2018-05-30 22:34:41 +00:00
"metadata": {
"collapsed": true
},
2018-05-28 19:37:23 +00:00
"outputs": [],
"source": [
"%%R\n",
"m <- prophet(seasonality.mode = 'multiplicative')\n",
"m <- add_seasonality(m, 'quarterly', period = 91.25, fourier.order = 8, mode = 'additive')\n",
"m <- add_regressor(m, 'regressor', mode = 'additive')"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<fbprophet.forecaster.Prophet at 0x7f813fc32c90>"
]
},
"execution_count": 14,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"m = Prophet(seasonality_mode='multiplicative')\n",
"m.add_seasonality('quarterly', period=91.25, fourier_order=8, mode='additive')\n",
"m.add_regressor('regressor', mode='additive')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Additive and multiplicative extra regressors will show up in separate panels on the components plot."
]
}
],
"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",
2018-05-30 22:34:41 +00:00
"version": "2.7.14+"
2018-05-28 19:37:23 +00:00
}
},
"nbformat": 4,
"nbformat_minor": 1
}