prophet/notebooks/multiplicative_seasonality.ipynb

293 lines
362 KiB
Text
Raw Normal View History

{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"block_hidden": true,
"collapsed": true
},
"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,
"metadata": {
"block_hidden": true,
"collapsed": true
},
"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 = -2.46502\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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\nEKqrq2tubm5vb0++W1l
},
"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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\nA6xGOsN2rHRuKjkB042
"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",
"fig = 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": {
"output_hidden": true
},
"outputs": [
{
"data": {
"text/plain": [
"Initial log joint probability = -2.46502\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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\nk0AQBIIgDo93voMIguA
},
"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/UCwAAIABJREFUeJzs3XmwnXd5J/jve867nf2cu29abMsr\ntjFYICvJpAUaBQ/dZYeMMUOosTrNjCquykAzSQeSaaqLzlQherpICKHT0YzHJSfd0A4ZLELbNKAg\nzCLj2MYGr8i2ZEt3v2ff3v2dP97znrtfnXPufc+5uvp+qiiou/70XhX6nuc+v+cRXNd1QURERERE\nAIBQrw9ARERERLSdMCATERERES3BgExEREREtAQDMhERERHREgzIRERERERLMCATERERES3BgExE\nREREtAQDMhERERHREgzIRERERERLiL0+wGYMDAxg7969vT7GtmCaJiRJ6vUxtj0+p9bwObWGz6k1\nfE6t4XNqDZ9Ta/ic1nbhwgUsLCxc9uOu6IC8d+9ePPPMM70+xrYwNTWFsbGxXh9j2+Nzag2fU2v4\nnFrD59QaPqfW8Dm1hs9pbfv372/p49hiQURERES0BAMyEREREdESDMhEREREREswIBMRERERLcGA\nTERERES0BAMyEREREdESDMhEREREREswIBMRERERLcGATERERES0BAMyEREREdESDMhEREREREsw\nIBMRERERLcGATERERES0BAMyEREREdESDMhEREREREswIBMRERHRmhYqOn45X+n1MbqOAZmIiIiI\n1lQzbPxiqoTZktbro3QVAzIRERERrUmzHMTkMF6YKqGqW70+TtcwIBMRERHRmnTLhiqGIYdDeH6q\nBNtxe32krmBAJiIiIqI1GbaDcEhAQhVR1k28lav1+khdwYBMRERERGvSLRfhkAAAiIhhlK+SNgsG\nZCIiIiJak96oIANAOCTAdJwen6g7GJCJiIiIaE2G7SDs5WOEBAGGxR5kIiIiIrpKWbYD1wEEoVFB\nFgDTZgWZiIiIiK5Stusum1oRCgkwOcWCiIiIiK5W5+aruO+RZ3D63AIAr8XCdly47s4PyQzIRERE\nRLTKq3MVaJaDf/vdX2Ky6G3Sc11cFbOQGZCJiIiIaJX5qgEA0C0Hf/z4q17/seC1Xux0gQbkP/3T\n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\nawZkfx12xbDYg0xERER
"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": {
"output_hidden": true
},
"outputs": [
{
"data": {
"image/png": "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\n7rY7fqpo//J0y08V2pF
},
"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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\nMlAGoAxAGYAygMGVQVu
"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": 9,
"metadata": {
"collapsed": true
},
"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": 10,
"metadata": {
"output_hidden": true
},
"outputs": [
{
"data": {
"text/plain": [
"<fbprophet.forecaster.Prophet at 0x7f2f9db52d10>"
]
},
"execution_count": 10,
"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",
"version": "2.7.14+"
}
},
"nbformat": 4,
"nbformat_minor": 1
}