prophet/notebooks/non-daily_data.ipynb

579 lines
1.6 MiB
Text
Raw Normal View History

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": {
"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": {
"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",
"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",
"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
},
"outputs": [
{
"data": {
"text/plain": [
"Initial log joint probability = -1444.46\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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\nO7VQo1UO3jtGOriE6tW
},
"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,
"metadata": {},
2017-07-05 03:03:21 +00:00
"outputs": [
{
"data": {
"image/png": "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\nFyW1hXUi8q6rPBce8SP
2017-07-05 03:03:21 +00:00
"text/plain": [
"<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",
"fig = m.plot(fcst)"
2017-07-05 03:03:21 +00:00
]
},
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",
"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
},
"outputs": [
{
"data": {
"image/png": "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\nmMxny5uOlTTuvFS7cN8
},
"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,
"metadata": {},
2017-07-05 05:39:57 +00:00
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAoYAAAKACAYAAAAB07lkAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4yLCBo\ndHRwOi8vbWF0cGxvdGxpYi5vcmcvhp/UCwAAIABJREFUeJzs3Xd4VGXax/HvmZJM6qR3SEgBAmlA\naNJBXAuLVEVQUVFcdVfXjm3XrbZ1V1cXVxQVQbG+ggVBpbjSDIQmvQbSe08mmXLeP4KxUQIkU+/P\ndeUyDpk5d24OmV+ec57nUVRVVRFCCCGEEB5P4+gChBBCCCGEc5BgKIQQQgghAAmGQgghhBDiJAmG\nQgghhBACkGAohBBCCCFOkmAohBBCCCEACYZCCCGEEOIkCYZCCCGEEAKQYCiEEEIIIU7SOboAewoL\nCyMhIcHRZXgEs9mMXq93dBkeQ/ptX9Jv+5J+25f027460u+8vDwqKirsUo9HBcOEhAS2bt3q6DI8\nQlFRETExMY4uw2NIv+1L+m1f0m/7kn7bV0f6nZ2dbadq5FKyEEIIIYQ4SYKhEEIIIYQAJBgKIYQQ\nQoiTJBgKIYQQQghAgqEQQgghhDhJgqEQQgghxHlotdioN1kcXUankmAohBBCCHEetuTXsLukztFl\ndCqPWsdQCCGEEOJCNLZYKK1vQaNASZ2J3pH+ji6pU0kwFEIIIYToAFVV2VVcR1WTGY0C/t46FBRH\nl9WpJBgKIYQQQpyBqqocqWjEpkJ1k5moAG8A6kxmB1fW+SQYCiGEEEKchtWmcry6ie+K6/H10hDs\n4977SEswFEIIIYQ4BZtNZXtBDWWNrcQYDeg07nXZ+FQkGAohhBBC/IyqqmwrqKG0oYWoAIOjy7Eb\nWa5GCCGEEOJnyupbKGto9ahQCC4QDE0mE4MGDSIzM5O+ffvyxz/+EYBjx44xePBgkpOTufrqq2lt\nbXVwpUIIIYRwBzabyr6yBow+nndh1emDobe3N2vWrGHnzp3s2LGDlStXsnnzZh588EHuvvtuDh8+\nTHBwMAsXLnR0qUIIIYRwcTabSnGdiWazFYNO6+hy7M7pg6GiKPj7ty0eaTabMZvNKIrCmjVrmDZt\nGgCzZ89m2bJljixTCCGEEC6u3mTh66OV7Cyuw2hw79nHp+MSY6RWq5UBAwZw+PBh7rjjDpKSkggK\nCkKnays/Li6OwsLCUz53wYIFLFiwAICSkhKKiorsVrcnKy8vd3QJHkX6bV/Sb/uSftuXp/bbpqrs\nKqrDZlPx8dLSbILmszynsdWCl8mbIlv9eR/X2frtEsFQq9WyY8cOampqmDx5Mvv37+/wc+fOncvc\nuXMByM7OJiYmpqvKFD8jvbYv6bd9Sb/tS/ptX57Wb4vVxu6SejQBOiL9vDv8PI3JTHCAgZiogAs6\nvjP12yWC4feCgoIYM2YMmzZtoqamBovFgk6no6CggNjYWEeXJ4QQQggXU93Uypb8Gqw2lQj/jodC\nd+X09xiWl5dTU1MDQHNzM19++SWpqamMGTOGDz74AIBFixZx5ZVXOrJMIYQQQrgQs9XGscomthbU\n4qfXSig8yelHDIuLi5k9ezZWqxWbzcZVV13FhAkT6NOnDzNmzODRRx+lX79+zJkzx9GlCiGEEMJF\n7CutJ7/GhNGgw6D3vNnHp+P0wTAjI4Pt27f/4vHExERycnIcUJEQQgghXNnRikYKakxE+nuhKO6/\nzd25cPpgKIQQQghxIZrNVvKqmqg3WWhotdDUaiXC31tC4SlIMBRCCCGE2yqtM7GzqA6NBnx0Wvz0\nWo9do7AjJBgKIYQQwu20WKzsLKyjvLGFUF8v9Fqnn2/rFCQYCiGEEMJtqKpKnclCXlUT1c2tRPh7\no5FLxh0mwVAIIUSXyzlRzcwl2+gR6svY5DBGJYaS3S0IL52M4ojOU2cys6OwjsZWKzoNhPrK5JJz\nJcFQCCFElzpc0cgVr+agUeBYZRMPH2zbvcpHr2FIfDDjUtqC4sDuQXjrZNkQce5UVaWm2cyu4jpQ\nIcLfy9EluSwJhkIIIbpMaX0Lv3p5MxabjdeuymJSehQHyxpYsb+MnBM15BbU8ujnBwDw1mkY0j2Y\nsSlhjE4KZVD3IFlfTpyVxWpjT2k9BTUm9FqFUF8JhRdCgqEQQogu0dBiYcKr31JYZ+LlqelMSo9C\nURR6RQbQK7Jtb1lVVTlc0ciKfWV8e6KabQW1PL7qACrgpdUwqHsQg6K8mZDlxZD4YHwkKIofsdlU\n9pTWU1RrIipAdi7pDBIMhRBCdDqz1cZVb+ayrbCWZ3/dh2uzu53yXi9FUUgJ9+eucH+gLSgeq2ri\n831lbDreFhSf21zFPzcVo9cqDOwWxNjkthHFoQnB+HrJ25inUlWVgtpmCmtNRMp2dp1G/kUJIYTo\nVKqqcuv7u/h8fxkPj0vmtmEJaDUdmwCgKAqJoX7cMbwHdwzvAcDWfUfZUqVh0/FqcgtqeGL1If76\n1SH0GoX+cca2exSTQrkoIQR/b3lb8wTNZisHyxsoqDER4iNrEnYm+RckhBCiU/1x1QFe35LPLYO7\n89C4lAueUBJjNHBbagy3DUsAIL+mmc/3lbIxr21E8am1R/j76sPoNAr9YgMZmxzO6ORQhiWEEGCQ\ntzl3U9nYytb8GgDZ0q4LyL8YIYQQneblTXn85ctDTOwbyd8u69UlI3jdgnyYOzSBuUMTACisaWbl\n/jI25FWTW1DLs18f4am1h9EqkBVrbFseJymU4T1CMMroksuqM5kpqGnmWFUzwT56vGWpoy4hwVAI\nIUSn+Hh3Cbd/+B3DEoL518S+hAcY7HLc2CAf5gyJZ86QeACK65pZub+cDceq2FZYy3PfHOWZdUfQ\nKJARHdh+6XlEYihBEhRdwpGKBvaXNaJRZJSwq0kwFEIIccE2H69mxpJcekf488LkdBLD/BxWS3Sg\nDzcO6s6Ng7oDUFbfwsoDZaw/WkVuQS0vrD/Gs18fRQHSowMYc3Iyy8ikUEJkqROns7e0jmOVzUT4\ne8kOJnYgwVAIIcQFOVjewIRXvyXU14vnruxLvzijo0v6iYgAb67P7sb12d0AqGhoYdWBMr452jai\n+N+Nx3n+m2MoQJ9I/5PrKIYxMjGEMJnt6jAms5WjlY3kVTXLKKEdSTAUQghx3krqTFy64FtsKrww\nOY3xvSIcXdJZhfl7M2tAN2YNaAuKVY0tfHGwgq+PVLKtsJYFm0/wwvo8AFIj/BmTHMqY5DBGJoYS\nIWvldTlVVSlvaGV3ST0Wm41wCYV2JcFQCCHEeak3WbhiYQ7FdSZenpbBxL5Rji7pvIT4eTOjXywz\n+sUCUNPUypcng2JuQQ2vb8ln/sbjAPQM92tfR3FUUihRgfa5j9JTNLVa2FFUR22zmUBvHUaDXNq3\nNwmGQgghzpnZamPaoq3sLKzl2Yl9uaZ/LJoOrlXo7IJ8vZieFcP0rBigbTbslwfLWXe4bUTxza0F\n/HdTW1BMDvNlTFIYY07OfI4xSlA8HxarjbKGVvaW1qNVIEIu4TuM0wfD/Px8rr/+ekpLS1EUhblz\n53LXXXfx+OOP88orrxAeHg7A3//+dy6//HIHVyuEEO5PVVVufm8nXxws59GLU7hlSHf0WvddOiTQ\noGdqRgxTM9qCYr3JzOpDlaw7UkFuQS1vby/klW9PAJAY4suY5FBGJ4cxKjGUbsE+jizdJdQ0m/mu\nuI46kxmjQS/bHjqY0wdDnU7Hs88+S//+/amvr2fAgAGMHz8egLvvvpv77rvPwRUKIYRn+dtXh3hz\nawG3DunOPaMSPW5bugCDnknpUUxKb7t03thiYfWhCtYeqWBbQS3v7SxmYU4+APHBPoxJDmNMciij\nEkOJD/F1ZOlOQ1VVCmtMHK9uotZkwc9LS5SdljcSZ+b0/5qjo6OJjo4GICAggNTUVAoLCx1clRBC\neKY6k5mn1hxmbHIof7i
2017-07-05 05:39:57 +00:00
"text/plain": [
"<Figure size 648x648 with 3 Axes>"
2017-07-05 05:39:57 +00:00
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"fig = m.plot_components(fcst)"
2017-07-05 05:39:57 +00:00
]
},
2017-07-05 03:03:21 +00:00
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Data with regular gaps\n",
"\n",
"Suppose the dataset above only had observations from 12a to 6a:"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {
"output_hidden": true
},
"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": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAtAAAAGwCAIAAAAPKcUMAAAACXBIWXMAAAsSAAALEgHS3X78AAAg\nAElEQVR4nOy9eXxkVZn//7n3VlVSSzpJZeklvdELTTe9QtMsstsgIouDfG1QmNZRmdFxgZ86Ds7w\ncxalFQRGRGe+Ai4vQcBhVJBBEGhAkb3pDnvv0EvSnaSqstSWusv5/nFuPXXq1q0QoCsJ4Xn/AbdP\nbs49devmns95tqMJIcAwDMMwDFNL9PEeAMMwDMMwkx8WHAzDMAzD1BwWHAzDMAzD1BwWHAzDMAzD\n1JzAeA/ASyaTqUW3oVCoUCjUomdGxTAM27bHexSTHF3XDcMwTXO8BzI54We4RmiaFggE+LkdA8b+\nGY5Go6M5bcIJjlwud8j71DQtGo0ODAwc8p4ZD9FotBbfIKMSDAb5PtcOvrc1IhgM1tXVDQ4OjvdA\nJjmaptXX14/xMzxKwcEuFYZhGIZhag4LDoZhGIZhag4LDoZhGIZhas5YxHDcfffdzzzzDIB0Or1m\nzZpzzz33q1/9ant7O4ArrrhixowZYzAGhmEYhmHGkbEQHBdeeOGFF14I4Ec/+tGHP/zh3t7es88+\ne926dWNwaYZhGIZhJgJj51LZs2dPOByeNm3awYMHu7q6brrppscee2zMrs4wDMMwzDgydmmxd999\n9+c+9zkAkUhk6dKlq1at+sEPfhCPx5cvX759+/Z/+7d/A3D++ed/9KMfrdEAmpqaatQzQ+i6HgwG\nx3sUkxxN03Rd5+e5RvAzXCP4uR0zdF2vq6sbs8s5jjPKM8dIcGQymVwu19DQAGDNmjWy8fTTT9+2\nbdvy5cvb29vXr18P4LDDDqtRHY5YLMa59WNAXV3d8PDweI9ikhMIBEKhED/PNYKf4RphGMbY14d4\nfzLGhS6FEKFQaDRnjpHg2LRp0/Lly+XxHXfcsWTJkhUrVuzZs2fBggUAGhsb165dK3/a19d3yK8u\nBQe/RMaAQCDA97nWOI4TDAb5PtcIfoZrhCz8xfe21khL0sS8z2MUw/Hcc8+tXLlSHq9du/bOO++8\n6qqrUqnU8ccfPzYDYBiGYRhmHNGEEOM9hjJqZOFoaWmpRc+Mh2g0WqPdcBhCljbv7+8f74FMTvgZ\nrhHBYDAWi6VSqfEeyCRnXEqbt7a2juY0LvzFMAzDMEzNYcHBMAzDMEzNYcHBMAzDMEzNYcHBMAzD\nMEzNYcHBMAzDMEzNYcHBMAzDMEzNYcHBMAzDMEzNYcHBMAzDMEzNYcHBMAzDMEzNYcHBMAzDMEzN\nYcHBMAzDMEzNYcHBMAzDMEzNYcHBMAzDMEzNYcHBMAzDMEzNYcHBMAzDMO9JOrvT4z2EtwELDoZh\nGIaZVExMIcKCg2EYhmGYmsOCg2EYhmGYmsOCg2EYhmGYmsOCg2EYhmGYmsOCg2EYhmGYmsOCg2EY\nhmGYmsOCg2EYhmGYmsOCg2EYhmGYmsOCg2EYhmGYmsOCg2EYhmGYmsOCg2EYhmGYmsOCg2EYhmGY\nmsOCg2EYhmGYmsOCg2EYhmGYmsOCg2EYhmGYmsOCg2EYhmGYmhMY7wF4iUaj77meGSIYDPJ9rjW6\nruu6zve5RvAzXCP4ua0F4bDtuaWaphmGEQ6Hx+xWCyFGeeaEExyZTOaQ96lpWjgcrkXPjIdoNMr3\nudYEg0HDMPg+1wh+hmtEMBgMBAJ8bw8tuVwukzHUFk3T6uvrK9trSiQSGc1p7FJhGIZhGKbmsOBg\nGIZhGKbmsOBgGIZhmLGmszs93kMYa1hwMAzDMAxTc1hwMAzDMAxTc1hwMAzDMAxTc1hwMAzDMEyt\neB/GalSDBQfDMAzDMDWHBQfDMAzDMDWHBQfDMAzDMDWHBQfDMAzDTGgmRyAICw6GYRiGYWoOCw6G\nYRiGYWoOCw6GYRiGYWoOCw6GYRiGYWoOCw6GYRiGYWoOCw6GYRiGYWoOCw6GYRiGYWoOCw6GYRiG\nYWoOCw6GYRiGYWoOCw6GYRiGYWoOCw6GYRiGYWoOCw6GYRiGYWoOCw6GYRiGYWoOCw6GYRiGYWoO\nCw6GYRjmfc3k2Px94sOCg2EYhmF8YCFyaGHBwTAMw0wqdqfym1krTDxYcDAMwzCTivu2Jn76wsHx\nHgXjhQUHwzAMM6mwHZEZtsZ7FIwXFhwMwzDMpEJAy5rOeI+C8cKCg2EYhplUCIGMaVe25y1HCJ/z\n9w0Waj4mBgiMwTX6+vq++tWvtre3A7jiiiva29tvvPHGdDo9e/bsT33qU2MwAIZhGOb9g4DIFHws\nHJ/73faLlrV9ZFHc0/7Z3217+UurWyJjMSG+nxmL+9vb23v22WevW7dO/vOJJ56YMWPGRRddtGHD\nhn379s2cOXMMxsAwDMO8T7AdkfWzcGRNO5X3ie2wHJEu2Cw4as1YuFQOHjzY1dV10003PfbYYwC2\nb98+b948APPmzdu+ffsYDIBhGIZ5/yAAXwuHEMgUvEJEOll8XTDvHssR1z+5r9KPsyuVv+f1xDvo\n8D1dGmQsBF0kElm6dOmqVat+8IMfxOPxbDbb2toKoKWlJZ1OA3jllVe+9KUvAbjkkks+/elP12gY\nLS0tNeqZUamvrx/vIUx+NE3j57l28DNcI8bsua0P9w3bovJaRiAgAnWedtsRAIz6aEuL19XSmDVa\nWprezUgG89b921L1DY2xurLZ9vGu7sfeGPrBqO8GjcQzpGojbGxsfJcjHz2OM9r43LEQHGvWrJEH\np59++rZt2yKRSCKRmDdvXiKRkIEdCxcu/OUvfwmgoaGhv7//kA9A07SmpqZa9Mx4CIfDuVxuvEcx\nyQkGg+FweHBwcLwHMjnhZ7hGBAKBSCQyNs9tLpe3HVH5zjctKzGY8bSbtgOgJzXY3+Q1+Q8NDY1+\n3rj75d6TD2tqjwbVxoG8BWB/b3JqLKS2pzPZzLA1+lmJRuIZUuUINU0LhUJva+TvEiFEPO7Var6M\nheC44447lixZsmLFij179ixYsGDatGlvvPHGMcccs2fPnhNOOAFAKBTq6OiQJ/f19R3yAWiaBsC2\na2IxY1SEEHyfa42u63yfawff2xqh6zrG6j1sO0LA53u0HSddsD3tlu0AGMyZnvY9A8M3P99940ci\no7zofz27PxzAWQvLpl7TsgEM5c3WsFE2EtvOmt6RjIDjOPJkOvC0E5qmCSEq2ycCYxHDsXbt2jvv\nvPOqq65KpVLHH3/8cccdt3///muvvba9vX3WrFljMACGYRjm/YMjhG/6qyOQrigIJqABqAwyfbM/\n/8SbA5Wd3NbZc8vz3b6dVwaOyHFUtjsCecvHE7FvYLgva1a2P7V3aBJUFhkLC0dbW9uGDRvon7qu\nX3755WNwXYZhGOZ9iCOEb8ENAeQqpnnHEajSnveLJH2zf3jAL9XFEaIy8lSqmcp2RwhfwfGjZ7tb\nwoGvnehN3vy/z3WtnB47blZD5a9IOrvTK6bHqv10gsCFvxiGYZhJhSPgZ+CA47jyovxkIX9U2Une\n8unGEf45t44QlUYIx7VwVAoODNtOpSqyHMc3X0b42WBGw4TKamHBwTAMw0wqRBWXioCQJofyRvdH\n3rM1rdLsAcARIl0hIFAl59YVHBVCRI4w59OON/vzfp1rlZ2852DBwTAMw0wqHAFfxeEIH2HhWjgq\nTneEsBxRsH00gW+RD/8YDgDFuFTPyQCGbZ/BVKoQ2V6pZt5zsOBgGIZhJhWO8LFkwI3tqGwE4CNQ\nnKrxnj6xGpDVxnxiNdwfVZ6MYs0xz/m+gkNAVIa7vudgwcEwDMNMKoSAf9Co8JvjpSjQvAJFRnVU\nRk44Aulh/xiOQpWIVD9hIeDnx6kWTOoIH79Mf976/O93+I7ErLCdTARYcDAMwzCTCuFnsYBr+fCJ\n1QB8BIo8s+Dn9fCN3xTCxy8jir9S0Yn7K5Wd+AaOwO+i6WF7RzJf2clvXu757hN7fToZb1hwMAzD\nMJMKR8Dxd6n4ZqNUM0I
},
"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": {
"image/png": "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\ncUwQBEFMAAqFAq666io
"text/plain": [
"<Figure size 720x432 with 1 Axes>"
]
},
"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",
"fig = 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": {
"output_hidden": true
},
"outputs": [
{
"data": {
"image/png": "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\n40Ycz5kzB+MVsmfP3qJ
},
"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",
"execution_count": 10,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAsgAAAGoCAYAAABbtxOxAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4yLCBo\ndHRwOi8vbWF0cGxvdGxpYi5vcmcvhp/UCwAAIABJREFUeJzsnXlgFdXZxp+5NzdhVRZFBBW01h0L\nynaVJS3uWlyrXWOrbfzaflRsFVFr3aogbqDWavppa7pqtSruWuSyZQBBrIpLXUBF1gQCWe/MnHO+\nP2a5M3POmQuIJiTv7x9uOJm5c9c8887zPq8hhBAgCIIgCIIgCAIAkGrrAyAIgiAIgiCI9gQJZIIg\nCIIgCIIIQQKZIAiCIAiCIEKQQCYIgiAIgiCIECSQCYIgCIIgCCIECWSCIAiCIAiCCEECmSAIgiAI\ngiBCkEAmCIIgCIIgiBAkkAmCIAiCIAgiRElbH8CuYK+99sLgwYOVa7ZtI5PJfLkHRGwX9Nq0b+j1\nab/Qa9O+oden/UKvTftm9erVqK2tbevDANBBBPLgwYOxbNky5dratWsxYMCAL/mIiO2BXpv2Db0+\n7Rd6bdo39Pq0X+i1ad8MHz68rQ8hgCwWBEEQBEEQBBGCBDJBEARBEARBhCCBTBAEQRAEQRAhSCAT\nBEEQBEEQRAgSyARBEARBEAQRggQyQRAEQRAEQYQggUwQBEEQBEEQIUggEwRBEARBEEQIEsgEQRAE\nQRAEEYIEMkEQBEEQBEGEIIFMEARBEARBECFIIBMEQRAEQRBECBLIBEEQBEEQBBGCBDJBEARBEARB\nhCCBTBAEQRAEQRAhSCATBEEQBEEQAAAhBFaub2jrw2hzSCATBEEQBEEQAADGBZot1taH0eaQQCYI\ngiAIgiAAAEwIMC7a+jDaHBLIBEEQBEEQBACAC1ckd3ZIIBMEQRAEQRAAXIsFJ4FMApkgCIIgCIJw\nYVyAcwHRyUUyCWSCIAiCIAgCAMCFIIsFSCATBEEQBEEQHq7FAujsGpkEMkEQBEEQBAHAa9KjFAsS\nyARBEARBEIQLE26TXmeXyCVteeeDBw9Gz549kU6nUVJSgmXLlmHz5s244IILsHr1agwePBiPPvoo\nevfu3ZaHSRAEQRAE0SlwGAcVkNtBBXnu3Ll4/fXXsWzZMgDA9OnTMWHCBLz//vuYMGECpk+f3sZH\nSBAEQRAE0TmwmauOKcWinfHUU0/hwgsvBABceOGFePLJJ9v4iAiCIAiCIDoHNudApzdYtLHFwjAM\nnHTSSTAMA5dccgkqKyuxYcMG7LvvvgCA/v37Y8OGDcptq6qqUFVVBQBYv3491q5dq/y9TZs2fTEH\nT3xu6LVp39Dr036h16Z9Q69P+4Vem+JsqmtC07ZWrF3HUJIy2vpw2ow2FcgLFy7EwIEDsXHjRpx4\n4ok47LDDIuuGYcAw1C9OZWUlKisrAQDDhw/HgAEDtPeTtEa0LfTatG/o9Wm/0GvTvqHXp/1Cr00y\nG8RWdEu1YN99+yGTbndGgy+NNn3kAwcOBAD069cPZ599NpYuXYp99tkH69atAwCsW7cO/fr1a8tD\nJAiCIAiC6DQwztv6ENoFbSaQm5qa0NDQENx+6aWXcNRRR2HixIl4+OGHAQAPP/wwzjzzzLY6RIIg\nCIIgiE6F5fhNem18IG1Mm1ksNmzYgLPPPhsA4DgOvvvd7+KUU07BiBEjcP755+PBBx/EoEGD8Oij\nj7bVIRIEQRAEQXQqGGUgA2hDgXzQQQfhP//5j/T/ffv2xZw5c9rgiAiCIAiCIDo3tsORNgx0dpnc\ned3XBEEQBEEQnRCHceQdplyzhdAGJHQmSCATBEEQBEF0Iuqabazflpf+n3MBIQQMkAeZBDJBEARB\nEEQnggsBR5FWwX1VbHRydQwSyARBEARBEJ0K2+FKhzETAoBrr+jsEpkEMkEQBEEQRCfC4hyquGPG\nfVlMHmQSyARBEARBEB2MjQ35kOCNYjtCmVLBRUEai05uQiaBTBAEQRAE0cFY39CqT6rgGouF16RH\nkEAmCIIgCILocNia6jEAOExAKCwWXAjAi3jr7DqZBDJBEARBEEQHw3a4VuRaGvFcsGR0cnUMEsgE\nQRAEQRAdDiehgmwzDpXJwt2ExDFAApkgCIIgCKJDwbgAE/ph0Q5Te42Z938GjE4vk0kgEwRBEARB\ndCC4EOBJFWSutl/YDidx7EECmSAIgiAIogPBuAAX6kY7zkWwHsfhAmnD7dOjJj2CIAiCIAiiw8CF\nANMIXC5EYaR0DItzGIbR6cUxQAKZIAiCIAiiQ8E4wDhXDgNhQoBxQJHyBsYF0n7MWyc3WpBAJgiC\nIAiC6ECwhCqxPwxEtWwx4cYgUwmZBDJBEARBEERHgntVYpXOZRxggHLRYRzpFA0KAUggEwRBEARB\n7Ha02gwf1DYp19wmPLXC5cLt3lNZKGy/gmzsyiPdPSGBTBAEQRAEsZthM4FWmynXuACYUI/8YEJo\no9wczkMe5M4NCWSCIAiCIIjdDLfZLtlnrFszDIAruvQcJpAyDEBQCZkEMkEQBNHhME0T06ZNg2ma\nbX0oBPGF4Ea5aeLamDsIRDktL3GAiIBnQdYK7M5CSVsfAEEQBEHsSkzTxIQJE2BZFkpLSzFnzhxk\ns9m2PiyC2KUwLuBowo4dzrUWiaCCHPt/zl1fsmEY5EEGVZAJgiCIDkYul4NlWWCMwbIs5HK5tj4k\ngtjlcAE4miqv7bj/r1q1vazjeIU4Xo3u3PVjEsgEQRBEB6O8vBylpaVIp9MoLS1FeXn5Dm1vM46N\nDfkv5uAIYgdw84p33Gdscx5YJeJYDkdKMS2Pe8173h3v7CF3GEggEwRBEB2KbDaLmTNnYsKECZg5\nc+YO2ys2NVr4eEvzTt23aZq45557yPtM7BI+rW/B5mZbuWYxDp2d2G22U+tcm7tZx/GYN8aj/9PZ\nNTJ5kAmCIIgOhWmamDRpEmzbRi6Xw5AhQ3ZIJHMhtMKj2P363udZs2aR95n43LTaHF0zep8x17xR\nLe6lUSiwmUBasRTZlWbbzgRVkAmCIIgORXV1NSzLghAClmWhurp6h7bf0mIndvrrIO8zsauxOddW\ncn2fsQrGOVIp2WcMuMI6lTKkk0DGRaRs3NlTLEggEwRBEB2K9evXJ/5cjGVLFuPh++7aYZtEeXk5\n0uk0DMNAOp3eYe8zQcSxmSKs2F/jXEqi8LGYQEoTRWE56iY9LgRVjkOQQCYIgiA6FP3790/8GQA+\nqmtCbaPciGeaJn72nbPwf3dOw4QJE3ZYJBuewDBIaBC7AJupBkK7OLpReXCrwamUetnxPciqCnKI\nzl0/JoFMEARBdDAqKiqQTqcBAOl0GhUVFdLv1DZZ2NwiNz/lcjlYtgXOd9wmkcvl4DgOhBBwHEfa\nloaXECqSrAyWJucYcOPaVNsK4eYj687RbG9aXnxL9678/+3s8pgEMkEQBNHBePPNN8EYAwAwxvDm\nm29G1k3TxB/vvQv/WbZU2ra8vBylmVKkEiLitrXaSmFSXl4eqSCHtzVNE+Xl5bjmmmtQXl5OIpkI\neGPdNu2azbhWQDsai4VfCNZdw3C426QX36sb81agk1uQSSATBEEQHYvHH39c+7OfNFF1xy2oOOcM\nSahms1n84dHZ+OGlU7UpFO9tbMQGRU7ym2++CcdxAACO40SE+edtHCQ6JpwL5B29CLaTKsiaNdcq\n4YpdlY1CaLzGtsNBI/QKkEAmCIIgOhTnnnuu9mc/aYJzBttWWyh008mCdS7QJZOW/j9JmBOECiYE\nOFdXa4UQUjZxGIcLt7EuhttspzZJRH4/9gt+ZVmz3OkggUwQBEF0KCorKzFlyhQcfPDBmDJlCior\nK4O1YkkTpmmi8ltn4I933aK0QpimiT/97i4sW7JYut8kYV5RUYFMJgMAyGQySl800fngQkgjnn0Y\nd9d04tnRNPAxLmAYBgw
"text/plain": [
"<Figure size 720x432 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"future2 = future.copy()\n",
"future2 = future2[future2['ds'].dt.hour < 6]\n",
"fcst = m.predict(future2)\n",
"fig = 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",
"execution_count": 11,
2017-02-22 23:59:43 +00:00
"metadata": {
"output_hidden": true
},
"outputs": [
{
"data": {
"text/plain": [
"Initial log joint probability = -2.41173\n",
2017-02-22 23:59:43 +00:00
"Optimization terminated normally: \n",
" Convergence detected: relative gradient magnitude is below tolerance\n"
2017-02-22 23:59:43 +00:00
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"image/png": "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\nTiTgEEIIIdbGvQdbWbU
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",
"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)"
2017-02-22 23:59:43 +00:00
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
2017-02-22 23:59:43 +00:00
"outputs": [
{
"data": {
"image/png": "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\nUe8ZbhqFlMUiNkn4gUK
2017-02-22 23:59:43 +00:00
"text/plain": [
"<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",
"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",
"fig = m.plot(fcst)"
2017-02-22 23:59:43 +00:00
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"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": 13,
"metadata": {
"output_hidden": true
},
"outputs": [
{
"data": {
"text/plain": [
"\n",
"SAMPLING FOR MODEL 'prophet' NOW (CHAIN 1).\n",
"\n",
"Gradient evaluation took 0.000295 seconds\n",
"1000 transitions using 10 leapfrog steps per transition would take 2.95 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.34305 seconds (Warm-up)\n",
" 11.9261 seconds (Sampling)\n",
" 20.2691 seconds (Total)\n",
"\n",
"\n",
"SAMPLING FOR MODEL 'prophet' NOW (CHAIN 2).\n",
"\n",
"Gradient evaluation took 8.8e-05 seconds\n",
"1000 transitions using 10 leapfrog steps per transition would take 0.88 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.03362 seconds (Warm-up)\n",
" 12.053 seconds (Sampling)\n",
" 20.0867 seconds (Total)\n",
"\n",
"\n",
"SAMPLING FOR MODEL 'prophet' NOW (CHAIN 3).\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.93548 seconds (Warm-up)\n",
" 11.498 seconds (Sampling)\n",
" 19.4335 seconds (Total)\n",
"\n",
"\n",
"SAMPLING FOR MODEL 'prophet' NOW (CHAIN 4).\n",
"\n",
"Gradient evaluation took 8.9e-05 seconds\n",
"1000 transitions using 10 leapfrog steps per transition would take 0.89 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.28209 seconds (Warm-up)\n",
" 11.0983 seconds (Sampling)\n",
" 19.3804 seconds (Total)\n",
"\n"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"image/png": "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\nx5gp2eKkTmm/H6nWmZ3
},
"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": 14,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAoAAAAGoCAYAAADW2lTlAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4yLCBo\ndHRwOi8vbWF0cGxvdGxpYi5vcmcvhp/UCwAAIABJREFUeJzs3Xt81OWd//3Xd07JzGQyk8k5k4QA\niRAi50CC2hXFLEJtWFuLqHfB4v5oqS1sez92ZVv1p/voo+Bu261bde+NpRp7a6lr9xZ/FhBXpF0P\nBAkFVAQCBnI+z+QwmSRzuO4/JkxrIRwkk+Pn+XioeGXme12fDIa33+t7XZemlFIIIYQQQohJQzfa\nAxBCCCGEECNLAqAQQgghxCQjAVAIIYQQYpKRACiEEEIIMclIABRCCCGEmGQkAAohhBBCTDISAIUQ\nQgghJhkJgEIIIYQQk4wEQCGEEEKIScYw2gMYK5KSksjJyYlqH36/H6PRGNU+xgqpdWKSWieeyVIn\nSK0T1WSrtb6+nra2tmu+lgTAQTk5ORw6dCiqfTQ0NJCRkRHVPsYKqXViklonnslSJ0itE9Vkq7W0\ntHRYriVTwEIIIYQQk4wEQCGEEEKISUYCoBBCCCHEJCMBUAghhBBikpEAKIQQQggxyUgAFEIIIYS4\nBkopWnv6GQiERnsoV0wCoBBCCCHE5+TzB/ljXSfvne3AOxAY7eFcMdkHUAghhBDiKoVCisauPj5u\n6kavgxi9frSHdFUkAAohhBBCXIXegQBH6rvo7POTYDZi1Oto8w6M9rCuigRAIYQQQogr4PMHaej0\ncbqtF5NeIyUuZrSH9LlJABRCCCGEuASlFHUeH8ebuwENh9mIQaeN9rCuiQRAIYQQQogheHx+TrZ0\n0+71k2g1jfvgd54EQCGEEEKIv9A7EOBUaw8NXf1YjXpSbeN3uvdiJAAKIYQQQgwKBEPUuH2cau3B\nqNeRYjWhaRPjrt+fkwAohBBCCEF4uvdofSe+QBCnxYR+gkz3XowEQCGEEEJMav2BIA2d/Zxo6cYW\nYyDZOrGmey9GAqAQQgghJqVQSFHf6eN4cw9KgdMycRZ5XI4EQCGEEEJMOu7eAT5s7MY7EMBpNmLQ\nT67TcaNW7cmTJ5k3b17kr/j4eH72s5/R0dFBSUkJeXl5lJSU4Ha7gfAeO5s2bSI3N5c5c+Zw+PDh\nyLXKy8vJy8sjLy+P8vLySHtlZSWzZ88mNzeXTZs2oZQCGLIPIYQQQkxuwZDiVGsP7591o9MgJS5m\n0oU/iGIAnDFjBkeOHOHIkSNUVlZisVi488472bZtG8uWLaOqqoply5axbds2AHbv3k1VVRVVVVWU\nlZWxceNGIBzmHn/8cSoqKjh48CCPP/54JNBt3LiRZ599NvK+PXv2AAzZhxBCCCEmr+6+AAfOdvBp\nu5fkOBNm4/g6v3c4jUjkfeutt5g+fTpTpkxh586drFu3DoB169bx6quvArBz507Wrl2LpmkUFxfj\n8XhobGzkjTfeoKSkBKfTSUJCAiUlJezZs4fGxka6urooLi5G0zTWrl37mWtdrA8hhBBCTD7BkKKq\ntYd3qtsJhBTJ1hh0E3Brl6sxIs8A7tixg3vuuQeA5uZm0tPTAUhLS6O5uRmA+vp6srKyIu/JzMyk\nvr7+ku2ZmZkXtF+qj79UVlZGWVkZAE1NTTQ0NAxXyRfV2toa1euPJVLrxCS1TjyTpU6QWieqS9Wq\nlKKpu5/Gzj58gRAJZiOBPvB0D/84enwBWkw+fLHG4b/4oOH8XKMeAAcGBnjttdfYunXrBV/TNC3q\nmyteqo8NGzawYcMGAAoLC8nIyIjqWIAR6WOskFonJql14pksdYLUOlFdrNZOn59TrT20KgPOFAcx\nhuhOega8A6SkOUiwmKLaz3CJ+hTw7t27WbBgAampqQCkpqbS2NgIQGNjIykpKQC4XC5qa2sj76ur\nq8Plcl2yva6u7oL2S/UhhBBCiImtq8/P4VoP753toKc/QGpcTNTD33gU9e/Ir3/968j0L0BpaWlk\nJW95eTmrVq2KtL/wwgsopThw4AB2u5309HSWL1/O3r17cbvduN1u9u7dy/Lly0lPTyc+Pp4DBw6g\nlOKFF174zLUu1ocQQgghJqaBQIiPGrt4t7qDzj4/KXExxEdxOna8i+oUsNfr5c033+Q//uM/Im1b\ntmxh9erVbN++nSlTpvDyyy8DsHLlSnbt2kVubi4Wi4XnnnsOAKfTySOPPMKiRYsAePTRR3E6nQA8\n88wz3H///fh8PlasWMGKFSsu2YcQQgghJp7ze/r5/EGSJ+jZvcMtqgHQarXS3t7+mbbExETeeuut\nC16raRpPP/30Ra+zfv161q9ff0F7YWEhH3300QXtQ/UhhBBCiImjq8/PieZu+jx64mL0JFnHx/N3\nY4GcBCKEEEKIcaU/EOST5m4au/oZ6A+QmTTxz+4dbhIAhRBCCDEuKKVo6e7nw6ZuQJESF4OnT6LM\n5yHfNSGEEEKMeQOBEMcaOmn1DmCPNcrK3mskAVAIIYQQY1bvQIBaTx/n3L1ohM/uFddOAqAQQggh\nxhx/MMSZtl6qO3ox6MARa0Svk9W9w0UCoBBCCCHGjEAwRK3Hx+n2XkIhRZLVOOnP7Y0GCYBCCCGE\nGHVKKZq6+viouYdgKERCrBGDXp7zixYJgEIIIYQYVR6fn+PN3Xh6/TgtRox6OcEj2iQACiGEEGJU\ndPcFqGrtoamnH6tRT6pNFniMFAmAQgghhBhR/mCIE83d1HX2YdLrSJWVvSNOAqAQQgghRoQ/GKKh\ns49TbV5USMm5vaNIAqAQQgghoioYUjR393GixUt/IIjTLAs8RpsEQCGEEEJERSikaO3p53hLD33+\nEPZYA/bYiRc9AiHFp+1eFmc7RnsoV2zifQpCCCGEGHUdvQMcb+qmqy+A3WwgPsY02kMaVnUeHwdq\nPFTUuPmgxkPPQJBleUkkWMZHnRIAhRBCCDFsBgIhTrX2cM7twx5rmDAre7v6/HxQ20lFjZuKGg/1\nnX0ApNliuO26ZGalxGE1jZ9YNX5GKoQQQogxrd07wJH6TkIKUuPG9wKPQDDEh03dHDgXDnzHm7sJ\nKbCa9BRmOrhvgYuibAfZDjOaptHmHcBi0o/2sK9YVJ/A9Hg83HXXXcycOZP8/Hzef/99Ojo6KCkp\nIS8vj5KSEtxuNxDeAXzTpk3k5uYyZ84cDh8+HLlOeXk5eXl55OXlUV5eHmmvrKxk9uzZ5ObmsmnT\nJpRSAEP2IYQQQojh1+nzc7jWQ8U5N7FGHU6LcdyFP6UUZzt62XGknu/u/Jhb/58D/K//PMbzH9Si\n0+CBxdn8YvUc3vpGMT8pncXquRlMSbCMuzrPi2oA3Lx5M7fffjsnTpzg6NGj5Ofns23bNpYtW0ZV\nVRXLli1j27ZtAOzevZuqqiqqqqooKytj48aNQDjMPf7441RUVHDw4EEef/zxSKDbuHEjzz77bOR9\ne/bsARiyDyGEEEIMn64+P5W1Ht4720Fnn5+UOBOxhvFzF8zdO8AbJ1v4pzdPcccvP+CuFyr58f5P\nOevuZWV+Cv9yRz7//Y0l/PLueXxjyRTmZdgnzOrlqE0Bd3Z28oc//IHnn38eAJPJhMlkYufOnezf\nvx+AdevWsXTpUp544gl27tzJ2rVr0TSN4uJiPB4PjY2N7N+/n5KSEpxOJwAlJSXs2bOHpUuX0tXV\nRXFxMQBr167l1VdfZcWKFUP2IYQQQohr5+4d4ExbLy09/ZiNOlLGyUbO/YEQRxs6qajxUFHj4URL\nDwDxMQYWZTt4YHEWRdkJuOyxozzS6ItaAKyuriY5OZmvf/3rHD16lIULF/Lkk0/S3NxMeno6AGlp\naTQ3NwNQX19PVlZW5P2ZmZnU19dfsj0zM/OCdmDIPv5SWVkZZWVlADQ1NdHQ0DCM34ELtba2RvX6\nY4nUOjFJrRPPZKkTpNb
"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",
"fig = m.plot_components(fcst)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
2018-05-31 05:43:52 +00:00
"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",
"execution_count": 15,
2017-02-22 23:59:43 +00:00
"metadata": {
"output_hidden": true
},
"outputs": [
{
"data": {
"image/png": "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\nqHNfdfHmSDkVnfkajjB
2017-02-22 23:59:43 +00:00
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"%%R -w 10 -h 6 -u in\n",
"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",
"execution_count": 17,
"metadata": {},
2017-02-22 23:59:43 +00:00
"outputs": [
{
"data": {
"image/png": "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\nYRixo+I8qRoO8B8lBmQ
2017-02-22 23:59:43 +00:00
"text/plain": [
"<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",
"fig = m.plot(fcst)"
2017-02-22 23:59:43 +00:00
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 2",
2017-02-22 23:59:43 +00:00
"language": "python",
"name": "python2"
2017-02-22 23:59:43 +00:00
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 2
2017-02-22 23:59:43 +00:00
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython2",
2018-05-31 05:43:52 +00:00
"version": "2.7.13"
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
}