2017-02-22 23:59:43 +00:00
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
2021-03-21 21:13:50 +00:00
"block_hidden": true
2017-02-22 23:59:43 +00:00
},
"outputs": [],
"source": [
"%load_ext rpy2.ipython\n",
"%matplotlib inline\n",
2022-06-25 10:31:18 +00:00
"\n",
2021-03-21 21:13:50 +00:00
"from prophet import Prophet\n",
2017-02-22 23:59:43 +00:00
"import pandas as pd\n",
2017-09-02 20:07:49 +00:00
"import logging\n",
2022-06-25 10:31:18 +00:00
"import warnings\n",
"\n",
2021-03-21 21:13:50 +00:00
"logging.getLogger('prophet').setLevel(logging.ERROR)\n",
2021-03-26 04:03:05 +00:00
"logging.getLogger('numexpr').setLevel(logging.ERROR)\n",
2017-09-02 20:07:49 +00:00
"warnings.filterwarnings(\"ignore\")"
2017-02-22 23:59:43 +00:00
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
2021-03-21 21:13:50 +00:00
"block_hidden": true
2017-02-22 23:59:43 +00:00
},
2021-03-21 21:13:50 +00:00
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"R[write to console]: Loading required package: Rcpp\n",
"\n",
"R[write to console]: Loading required package: rlang\n",
"\n"
]
}
],
2017-02-22 23:59:43 +00:00
"source": [
"%%R\n",
"library(prophet)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"There are two main ways that outliers can affect Prophet forecasts. Here we make a forecast on the logged Wikipedia visits to the R page from before, but with a block of bad data:"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"output_hidden": true
},
"outputs": [
{
2021-03-21 21:13:50 +00:00
"name": "stderr",
"output_type": "stream",
"text": [
"R[write to console]: Disabling daily seasonality. Run prophet with daily.seasonality=TRUE to override this.\n",
"\n"
]
2017-02-22 23:59:43 +00:00
},
{
"data": {
2021-03-21 21:13:50 +00:00
"image/png": "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
2017-02-22 23:59:43 +00:00
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"%%R -w 10 -h 6 -u in\n",
2022-06-25 10:31:18 +00:00
"df <- read.csv('https://raw.githubusercontent.com/facebook/prophet/main/examples/example_wp_log_R_outliers1.csv')\n",
2017-02-22 23:59:43 +00:00
"m <- prophet(df)\n",
"future <- make_future_dataframe(m, periods = 1096)\n",
"forecast <- predict(m, future)\n",
2018-05-31 01:47:16 +00:00
"plot(m, forecast)"
2017-02-22 23:59:43 +00:00
]
},
{
"cell_type": "code",
2021-03-21 21:13:50 +00:00
"execution_count": 2,
2017-09-02 20:07:49 +00:00
"metadata": {},
2017-02-22 23:59:43 +00:00
"outputs": [
{
"data": {
2021-03-26 04:03:05 +00:00
"image/png": "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
2017-02-22 23:59:43 +00:00
"text/plain": [
2018-05-30 22:34:41 +00:00
"<Figure size 720x432 with 1 Axes>"
2017-02-22 23:59:43 +00:00
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
2022-06-25 10:31:18 +00:00
"df = pd.read_csv('https://raw.githubusercontent.com/facebook/prophet/main/examples/example_wp_log_R_outliers1.csv')\n",
2017-02-22 23:59:43 +00:00
"m = Prophet()\n",
"m.fit(df)\n",
"future = m.make_future_dataframe(periods=1096)\n",
"forecast = m.predict(future)\n",
2018-05-31 01:47:16 +00:00
"fig = m.plot(forecast)"
2017-02-22 23:59:43 +00:00
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The trend forecast seems reasonable, but the uncertainty intervals seem way too wide. Prophet is able to handle the outliers in the history, but only by fitting them with trend changes. The uncertainty model then expects future trend changes of similar magnitude.\n",
"\n",
"The best way to handle outliers is to remove them - Prophet has no problem with missing data. If you set their values to `NA` in the history but leave the dates in `future`, then Prophet will give you a prediction for their values."
]
},
{
"cell_type": "code",
2021-03-21 21:13:50 +00:00
"execution_count": 4,
2017-02-22 23:59:43 +00:00
"metadata": {
"output_hidden": true
},
"outputs": [
{
2021-03-21 21:13:50 +00:00
"name": "stderr",
"output_type": "stream",
"text": [
"R[write to console]: Disabling daily seasonality. Run prophet with daily.seasonality=TRUE to override this.\n",
"\n"
]
2017-02-22 23:59:43 +00:00
},
{
"data": {
2021-03-21 21:13:50 +00:00
"image/png": "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
2017-02-22 23:59:43 +00:00
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"%%R -w 10 -h 6 -u in\n",
"outliers <- (as.Date(df$ds) > as.Date('2010-01-01')\n",
" & as.Date(df$ds) < as.Date('2011-01-01'))\n",
"df$y[outliers] = NA\n",
"m <- prophet(df)\n",
"forecast <- predict(m, future)\n",
2018-05-31 01:47:16 +00:00
"plot(m, forecast)"
2017-02-22 23:59:43 +00:00
]
},
{
"cell_type": "code",
2021-03-21 21:13:50 +00:00
"execution_count": 3,
2017-09-02 20:07:49 +00:00
"metadata": {},
2017-02-22 23:59:43 +00:00
"outputs": [
{
"data": {
2021-03-21 21:13:50 +00:00
"image/png": "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
2017-02-22 23:59:43 +00:00
"text/plain": [
2018-05-30 22:34:41 +00:00
"<Figure size 720x432 with 1 Axes>"
2017-02-22 23:59:43 +00:00
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"df.loc[(df['ds'] > '2010-01-01') & (df['ds'] < '2011-01-01'), 'y'] = None\n",
"model = Prophet().fit(df)\n",
2018-05-31 01:47:16 +00:00
"fig = model.plot(model.predict(future))"
2017-02-22 23:59:43 +00:00
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"In the above example the outliers messed up the uncertainty estimation but did not impact the main forecast `yhat`. This isn't always the case, as in this example with added outliers:"
]
},
{
"cell_type": "code",
2021-03-21 21:13:50 +00:00
"execution_count": 5,
2017-02-22 23:59:43 +00:00
"metadata": {
"output_hidden": true
},
"outputs": [
{
2021-03-21 21:13:50 +00:00
"name": "stderr",
"output_type": "stream",
"text": [
"R[write to console]: Disabling daily seasonality. Run prophet with daily.seasonality=TRUE to override this.\n",
"\n"
]
2017-02-22 23:59:43 +00:00
},
{
"data": {
2021-03-21 21:13:50 +00:00
"image/png": "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
2017-02-22 23:59:43 +00:00
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"%%R -w 10 -h 6 -u in\n",
2022-06-25 10:31:18 +00:00
"df <- read.csv('https://raw.githubusercontent.com/facebook/prophet/main/examples/example_wp_log_R_outliers2.csv')\n",
2017-02-22 23:59:43 +00:00
"m <- prophet(df)\n",
"future <- make_future_dataframe(m, periods = 1096)\n",
"forecast <- predict(m, future)\n",
2018-05-31 01:47:16 +00:00
"plot(m, forecast)"
2017-02-22 23:59:43 +00:00
]
},
{
"cell_type": "code",
2021-03-21 21:13:50 +00:00
"execution_count": 4,
2017-09-02 20:07:49 +00:00
"metadata": {},
2017-02-22 23:59:43 +00:00
"outputs": [
{
"data": {
2021-03-21 21:13:50 +00:00
"image/png": "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
2017-02-22 23:59:43 +00:00
"text/plain": [
2018-05-30 22:34:41 +00:00
"<Figure size 720x432 with 1 Axes>"
2017-02-22 23:59:43 +00:00
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
2022-06-25 10:31:18 +00:00
"df = pd.read_csv('https://raw.githubusercontent.com/facebook/prophet/main/examples/example_wp_log_R_outliers2.csv')\n",
2017-02-22 23:59:43 +00:00
"m = Prophet()\n",
"m.fit(df)\n",
"future = m.make_future_dataframe(periods=1096)\n",
"forecast = m.predict(future)\n",
2018-05-31 01:47:16 +00:00
"fig = m.plot(forecast)"
2017-02-22 23:59:43 +00:00
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Here a group of extreme outliers in June 2015 mess up the seasonality estimate, so their effect reverberates into the future forever. Again the right approach is to remove them:"
]
},
{
"cell_type": "code",
2021-03-21 21:13:50 +00:00
"execution_count": 6,
2017-02-22 23:59:43 +00:00
"metadata": {
"output_hidden": true
},
"outputs": [
{
2021-03-21 21:13:50 +00:00
"name": "stderr",
"output_type": "stream",
"text": [
"R[write to console]: Disabling daily seasonality. Run prophet with daily.seasonality=TRUE to override this.\n",
"\n"
]
2017-02-22 23:59:43 +00:00
},
{
"data": {
2021-03-21 21:13:50 +00:00
"image/png": "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
2017-02-22 23:59:43 +00:00
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"%%R -w 10 -h 6 -u in\n",
"outliers <- (as.Date(df$ds) > as.Date('2015-06-01')\n",
" & as.Date(df$ds) < as.Date('2015-06-30'))\n",
"df$y[outliers] = NA\n",
"m <- prophet(df)\n",
"forecast <- predict(m, future)\n",
2018-05-31 01:47:16 +00:00
"plot(m, forecast)"
2017-02-22 23:59:43 +00:00
]
},
{
"cell_type": "code",
2021-03-21 21:13:50 +00:00
"execution_count": 5,
2017-09-02 20:07:49 +00:00
"metadata": {},
2017-02-22 23:59:43 +00:00
"outputs": [
{
"data": {
2021-03-21 21:13:50 +00:00
"image/png": "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
2017-02-22 23:59:43 +00:00
"text/plain": [
2018-05-30 22:34:41 +00:00
"<Figure size 720x432 with 1 Axes>"
2017-02-22 23:59:43 +00:00
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"df.loc[(df['ds'] > '2015-06-01') & (df['ds'] < '2015-06-30'), 'y'] = None\n",
"m = Prophet().fit(df)\n",
2018-05-31 01:47:16 +00:00
"fig = m.plot(m.predict(future))"
2017-02-22 23:59:43 +00:00
]
}
],
"metadata": {
"kernelspec": {
2022-06-25 10:31:18 +00:00
"display_name": "Python 3 (ipykernel)",
2017-02-22 23:59:43 +00:00
"language": "python",
2021-03-21 21:13:50 +00:00
"name": "python3"
2017-02-22 23:59:43 +00:00
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
2021-03-21 21:13:50 +00:00
"version": 3
2017-02-22 23:59:43 +00:00
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
2021-03-21 21:13:50 +00:00
"pygments_lexer": "ipython3",
2022-06-25 10:31:18 +00:00
"version": "3.8.10"
2017-02-22 23:59:43 +00:00
}
},
"nbformat": 4,
2022-06-25 10:31:18 +00:00
"nbformat_minor": 4
2017-02-22 23:59:43 +00:00
}