{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Time series Forecasting in Power BI\n", "> Time series forecasting in PowerBI. (An Almost) Comprehensive Guide\n", "\n", "- toc: true \n", "- badges: true\n", "- comments: true\n", "- categories: [forecasting,Python,powerbi,forecasting_in_powerbi]\n", "- hide: false" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Overview\n", "\n", "In [Part 1](https://pawarbi.github.io/blog/forecasting/r/python/rpy2/altair/2020/04/21/timeseries-part1.html) I covered the exploratory data analysis of a time series using Python & R and in [Part 2](https://pawarbi.github.io/blog/forecasting/r/python/rpy2/altair/fbprophet/ensemble_forecast/uncertainty/simulation/2020/04/21/timeseries-part2.html) I created various forecasting models, explained their differences and finally talked about forecast uncertainty. In this post, I hope to provide a definitive guide to forecasting in Power BI. I wanted to write about this because forecasting is critical for any business and the documentation on this is very thin, and it's easy to (mis)use it.\n", "\n", "If you do not have experience in forecasting, I would encourage you to read the above two blogs to learn more about forecasting in general.\n", "\n", "I will use the [same dataset](https://github.com/pawarbi/datasets/blob/master/timeseries/ts_frenchretail.csv) I used in the earlier blog posts and compare the Power BI forecast with the Python models I created. \n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### How to create a forecast in PowerBI?\n", "\n", "It's very easy! [Parker Stevens](https://twitter.com/powerbielite) gives a nice overview of it in the clip below.\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ ">youtube: https://youtu.be/fLqvaWJtwhQ" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "To create a forecast you need:\n", "\n", " - A continuous date column\n", " - A numerical column with the numbers you want to forecast\n", "\n", " 1. Drag and drop the dates in \"Axis\" field\n", " 2. Drag and drop the numbers in the 'Values' field \n", " 3. Click on the down arrow in the 'Date' field and apply the required hierarchy (month, quarter, week etc.) or remove 'Date Hierarchy' if you do not want hierarchy. If removed, it will plot the data for each date rather than the hierarchy.\n", " 4. In the Format options, make sure the X Axis type is 'Continuous' \n", " 5. Go to 'Analytics' pane, Forecast > +Add > Enter the Forecast Length\n", "\n", "That's it ! We have a forecast. You can hover over the line chart to get the forecast predictions along with confidence interval. Very easy.\n", "\n", "*But* how do we know: \n", "\n", " - if the forecast is accurate\n", " - What model(s) was used to create the forecast?\n", " - what assumptions were made to make the forecast?\n", " - what's the forecast uncertainty?\n", " - how do we display the forecasts?\n", " - what are the limitations?\n", " - can we improve the forecast?\n", " - when is it appropriate or no appropriate to use it?\n", " \n", "Let's first take a look at the documentation from the Power BI team and see if we can aswer some of these questions. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "##### How does Power BI create the forecast?\n", "\n", "I found couple of official blog posts on Power BI's website that were written in [2014](https://perma.cc/L8CN-GRUA) and [2016](https://community.powerbi.com/t5/Community-Blog/Predict-your-milestones-with-forecasting-in-Power-BI-Desktop/ba-p/81687). The blog written in 2014 was for Power View which has been deprecated but the post still shows up under Power BI's blog. Other than that, I couldn't find anything. Given the lack of information, I will assume these posts still describe the current forecasting procedure in Power BI. I will use Python to follw the same procedure and see if we can understand it better. \n", "\n", " \n", "\n", "\n", "**Which forecasting model is used?**\n", "\n", "According to this blog, Power BI uses the ETS(AAA) and ETS(AAN) models to model seasonal and non-seasonal data, respectively. I used and described these models in [Part 2](https://pawarbi.github.io/blog/forecasting/r/python/rpy2/altair/fbprophet/ensemble_forecast/uncertainty/simulation/2020/04/21/timeseries-part2.html). But here is a quick non-mathematical recap:\n", " \n", " - ETS stands for **E**rror, **T**rend, **S**easonality. It is an exponential smoothing model which gives exponential weightage to the historical data to predict the future values. \n", " - The data is first decomposed into level, trend, and seasonality. Error is obtained by subtracting the level, trend and and seasonality from the actual values.\n", " - **Level** is the average value over the observed period\n", " - **Trend** is the change in level over this period\n", " - **Seasonality** is the behaviour of the observed quantity from one season to next. e.g. if you have a monthly data for toy sales, sales would be up around holidays from Nov-Jan and then down in the following months. \n", " - It's called exponential smoothing because exponential weights are applied to successive historical values.\n", " - Trend, Seasonality and the Error terms can be combined in additive, multiplicative or mixed fashion. \n", " \n", " Additive = (Level+Trend) + Seasonality + Error\n", " \n", " \n", " Multiplicative = (Level * Trend) * Seasonality * Error\n", " \n", " - In addition, the Trend component can be \"Damped\". i.e. we 'derate' the growth of the trend\n", " \n", " \n", " - The ETS models follow ETS(XYZ) nomenclature: \n", " \n", " - **X**: Error Term. It can be Additive (A), Multiplicative (M)\n", " \n", " - **Y**: Trend Term. It can Additive (A), Multiplicative (M) or Damped (Ad), or No trend (N) \n", " \n", " - **Z**: Seasonality. Additive (A) or Multiplicative(M), or No seasonality (N)\n", " \n", " \n", " - As the illustration below shows, if the trend is linear, it's \"additive\". If it shows exponential growth, multiplicative model would fit better. \n", " - Similarly, if the quantity being studied varies in a stable way relative to average levels, seasonality can be modeled as \"additive\". If the change from one season to next, relative to average, can be expressed in terms of % of average, then \"multiplicative\" model would be a better fit. Read Part 2 to get better understanding of this. There are 36 possible combinations depending on A,M,Ad,N. Only some of these are practical. \n", " \n", " - Out of 15 or so possible practical ETS models, Power BI uses two models ETS(AAN), ETS(AAA). You can read more about ETS [here](https://otexts.com/fpp2/ets.html)\n", " - In general, ETS often provides the most accurate forecasts, even better than the complex neural network models [Ref](https://journals.plos.org/plosone/article?id=10.1371/journal.pone.0194889)\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "![ETS](https://raw.githubusercontent.com/pawarbi/blog/master/images/pbi1.JPG)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "###### ETS(AAN) \n", "\n", " - This is \"Additive\" error, \"Additive\" trend and \"No\" seasonality model used when there is no seasonality in the time series. If you are familiar with Holt-Winter's exponential models, this is Holt's linear model. \n", " - You would use this model when you see a linear trend in the data and no seasonality pattern.\n", " - If you are familiar with ARIMA models, this is equivalent to ARIMA(0,2,2)\n", " - This is not single exponential smoothing (SES). SES (i.e ETS(ANN)) is used when the data doesn't have any trend either.\n", " - See an example below. It shows Google's stock performance over time. It has a positive trend but no seasonality. The forecast with an ETS (AAN) model is just a straight line that extends the trend into the future. \n", " \n", " ![Google Stock](http://uc-r.github.io/public/images/analytics/time_series/es6-1.png \"http://uc-r.github.io/ts_exp_smoothing\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "##### ETS(AAA)\n", "\n", "- This model should be used when there is linear trend and seasonality. \n", "- This is the Holt-Winter's triple exponential smoothing model\n", "- See the example below. This data shows quarterly milk production. It has an obvious positive, linear trend and seasonality. Notice how the production jumps up in certain quarters of the year and then drops in following seasons. the height of the peaks in seasons remains same relative to the trend. \"Additive\" seasonality shows this behaviour. \n", "\n", "![](https://raw.githubusercontent.com/pawarbi/blog/master/images/aaa_example.JPG \"Milk Production\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The blog from [2016](https://community.powerbi.com/t5/Community-Blog/Predict-your-milestones-with-forecasting-in-Power-BI-Desktop/ba-p/81687) written by MS employee mentions that \".. *Power BI uses assembly forecaster..Power BI picks the algorithm..forecaster includes exponential smoothing* ..\". Not entirely sure if that means if in addition to above ETS models, Power BI uses any other models. \n", "\n", "Another possibility is that I know Microsoft uses [nimbusml](https://docs.microsoft.com/en-us/nimbusml/overview) python/mx.net module in its various products including Power BI for machine learning. NimbusML has `ssaForecaster()` [class](https://docs.microsoft.com/en-us/python/api/nimbusml/nimbusml.timeseries.ssaforecaster?view=nimbusml-py-latest) which uses Single Spectrum Analysis for forecasting. It's a powerful forecating method but hasn't been used widely in the industry because of some limitations. \n", "\n", "The [2014](https://perma.cc/L8CN-GRUA) blog also mentions that Power View (now in Power BI) does not use ARTXP or ARIMA methods. ARXTP is Autoregressive tree model with cross-prediction. I have no clue what that is. I have discussed ARIMA in part 2. \n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "##### How does Power BI create the forecast?\n", "\n", "Fortunately the 2014 blog sheds some light on how Power BI creates the forecast. To get the better understanding of the methodology, I am going to try to recreate it in Python.\n", "\n", "\n", "##### Data:\n", "\n", "I am using the same dataset I used in the previous blogs. This data shows quarterly sales of a French retailer. I have divided the numbers by 1,000 to make them easier to read. We have data for 24 quarters and the goal is to forecast sales for the next 4 quarters and total sales for FY2018. I am going to load the dataset in python. \n", "\n", "As the plot below shows we have a clear seasonal data with positive trend. So we should be able to use the forecast tool in Power BI.\n", "\n", "\n" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Sales
Date
2012-03-31362.0
2012-06-30385.0
2012-09-30432.0
2012-12-31341.0
2013-03-31382.0
2013-06-30409.0
2013-09-30498.0
2013-12-31387.0
2014-03-31473.0
2014-06-30513.0
\n", "
" ], "text/plain": [ " Sales\n", "Date \n", "2012-03-31 362.0\n", "2012-06-30 385.0\n", "2012-09-30 432.0\n", "2012-12-31 341.0\n", "2013-03-31 382.0\n", "2013-06-30 409.0\n", "2013-09-30 498.0\n", "2013-12-31 387.0\n", "2014-03-31 473.0\n", "2014-06-30 513.0" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#collapse_hide\n", "#Author: Sandeep Pawar\n", "#Version: 1.0\n", "#Date Mar 27, 2020\n", "\n", "import pandas as pd\n", "import numpy as np\n", "import itertools\n", "\n", "#Plotting libraries\n", "import matplotlib.pyplot as plt\n", "import seaborn as sns\n", "import altair as alt\n", "plt.style.use('seaborn-white')\n", "pd.plotting.register_matplotlib_converters()\n", "%matplotlib inline\n", "\n", "#statistics libraries\n", "import statsmodels.api as sm\n", "import scipy\n", "from scipy.stats import anderson\n", "from statsmodels.tools.eval_measures import rmse\n", "from statsmodels.tsa.stattools import adfuller\n", "from statsmodels.graphics.tsaplots import month_plot, seasonal_plot, plot_acf, plot_pacf, quarter_plot\n", "from statsmodels.tsa.seasonal import seasonal_decompose\n", "from statsmodels.tsa.holtwinters import ExponentialSmoothing, SimpleExpSmoothing\n", "from statsmodels.stats.diagnostic import acorr_ljungbox as ljung\n", "from statsmodels.tsa.statespace.tools import diff as diff\n", "from statsmodels.tsa.statespace.sarimax import SARIMAX\n", "import pmdarima as pm\n", "from pmdarima import ARIMA, auto_arima\n", "from scipy import signal\n", "from scipy.stats import shapiro\n", "from scipy.stats import boxcox\n", "from scipy.special import inv_boxcox\n", "from sklearn.preprocessing import StandardScaler\n", "from scipy.stats import jarque_bera as jb\n", "from itertools import combinations\n", "\n", "import fbprophet as Prophet\n", "\n", "\n", "#library to use R in Python \n", "import rpy2\n", "from rpy2.robjects import pandas2ri\n", "pandas2ri.activate()\n", "\n", "\n", "%load_ext rpy2.ipython\n", "\n", "\n", "import warnings\n", "warnings.filterwarnings(\"ignore\")\n", "np.random.seed(786)\n", "\n", "pd.plotting.register_matplotlib_converters()\n", "\n", "def MAPE(y_true, y_pred): \n", " \"\"\"\n", " %Error compares true value with predicted value. Lower the better. Use this along with rmse(). If the series has \n", " outliers, compare/select model using MAPE instead of rmse()\n", " \n", " \"\"\"\n", " y_true, y_pred = np.array(y_true), np.array(y_pred)\n", " return np.mean(np.abs((y_true - y_pred) / y_true)) * 100\n", "\n", "def residcheck(residuals, lags):\n", " \"\"\"\n", " Function to check if the residuals are white noise. Ideally the residuals should be uncorrelated, zero mean, \n", " constant variance and normally distributed. First two are must, while last two are good to have. \n", " If the first two are not met, we have not fully captured the information from the data for prediction. \n", " Consider different model and/or add exogenous variable. \n", " \n", " If Ljung Box test shows p> 0.05, the residuals as a group are white noise. Some lags might still be significant. \n", " \n", " Lags should be min(2*seasonal_period, T/5)\n", " \n", " plots from: https://tomaugspurger.github.io/modern-7-timeseries.html\n", " \n", " \"\"\"\n", " resid_mean = np.mean(residuals)\n", " lj_p_val = np.mean(ljung(x=residuals, lags=lags)[1])\n", " norm_p_val = jb(residuals)[1]\n", " adfuller_p = adfuller(residuals)[1]\n", " \n", " \n", " \n", " fig = plt.figure(figsize=(10,8))\n", " layout = (2, 2)\n", " ts_ax = plt.subplot2grid(layout, (0, 0), colspan=2);\n", " acf_ax = plt.subplot2grid(layout, (1, 0));\n", " kde_ax = plt.subplot2grid(layout, (1, 1));\n", "\n", " residuals.plot(ax=ts_ax)\n", " plot_acf(residuals, lags=lags, ax=acf_ax);\n", " sns.kdeplot(residuals);\n", " #[ax.set_xlim(1.5) for ax in [acf_ax, kde_ax]]\n", " sns.despine()\n", " plt.tight_layout();\n", " \n", " print(\"** Mean of the residuals: \", np.around(resid_mean,2))\n", " \n", " print(\"\\n** Ljung Box Test, p-value:\", np.around(lj_p_val,3), \"(>0.05, Uncorrelated)\" if (lj_p_val > 0.05) else \"(<0.05, Correlated)\")\n", " \n", " print(\"\\n** Jarque Bera Normality Test, p_value:\", np.around(norm_p_val,3), \"(>0.05, Normal)\" if (norm_p_val>0.05) else \"(<0.05, Not-normal)\")\n", " \n", " print(\"\\n** AD Fuller, p_value:\", np.around(adfuller_p,3), \"(>0.05, Non-stationary)\" if (adfuller_p > 0.05) else \"(<0.05, Stationary)\")\n", " \n", " \n", " \n", " return ts_ax, acf_ax, kde_ax\n", "\n", "def accuracy(y1,y2):\n", " \n", " accuracy_df=pd.DataFrame()\n", " \n", " rms_error = np.round(rmse(y1, y2),1)\n", " \n", " map_error = np.round(np.mean(np.abs((np.array(y1) - np.array(y2)) / np.array(y1))) * 100,1)\n", " \n", " accuracy_df=accuracy_df.append({\"RMSE\":rms_error, \"%MAPE\": map_error}, ignore_index=True)\n", " \n", " return accuracy_df\n", "\n", "def plot_pgram(series,diff_order):\n", " \"\"\"\n", " This function plots thd Power Spectral Density of a de-trended series. \n", " PSD should also be calculated for a de-trended time series. Enter the order of differencing needed\n", " Output is a plot with PSD on Y and Time period on X axis\n", " \n", " Series: Pandas time series or np array\n", " differencing_order: int. Typically 1\n", " \n", " \"\"\"\n", " #from scipy import signal \n", " de_trended = series.diff(diff_order).dropna()\n", " f, fx = signal.periodogram(de_trended)\n", " freq=f.reshape(len(f),1) #reshape the array to a column\n", " psd = fx.reshape(len(f),1)\n", "# plt.figure(figsize=(5, 4)\n", " plt.plot(1/freq, psd )\n", " plt.title(\"Periodogram\")\n", " plt.xlabel(\"Time Period\")\n", " plt.ylabel(\"Amplitude\")\n", " plt.tight_layout()\n", " \n", "\n", "path = 'https://raw.githubusercontent.com/pawarbi/datasets/master/timeseries/ts_frenchretail.csv'\n", "\n", "#Sales numbers are in thousands, so I am dividing by 1000 to make it easier to work with numbers, especially squared errors\n", "data = pd.read_csv(path, parse_dates=True, index_col=\"Date\").div(1_000)\n", "\n", "data.index.freq='Q'\n", "\n", "data.head()\n", "\n", "train = data.iloc[:-6]\n", "test = data.iloc[-6:]\n", "\n", "train_log = np.log(train[\"Sales\"])\n", "\n", "data.head(10)" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "
\n", "" ], "text/plain": [ "alt.LayerChart(...)" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#hide_input\n", "#Create line chart for Training data. index is reset to use Date column\n", "source = data\n", "train_chart=alt.Chart(source.reset_index()).mark_line(point=True).encode(\n", " x='Date', \n", " y='Sales', \n", " tooltip=['Date', 'Sales'])\n", "\n", "#Create Rolling mean. This centered rolling mean \n", "rolling_mean = alt.Chart(source.reset_index()).mark_trail(\n", " color='orange',\n", " size=1\n", ").transform_window(\n", " rolling_mean='mean(Sales)',\n", " frame=[-4,4]\n", ").encode(\n", " x='Date:T',\n", " y='rolling_mean:Q',\n", " size='Sales'\n", ")\n", "\n", "#Add data labels\n", "text = train_chart.mark_text(\n", " align='left',\n", " baseline='top',\n", " dx=5 # Moves text to right so it doesn't appear on top of the bar\n", ").encode(\n", " text='Sales:Q'\n", ")\n", "\n", "#Add zoom-in/out\n", "scales = alt.selection_interval(bind='scales')\n", "\n", "#Combine everything\n", "(train_chart + rolling_mean +text).properties(\n", " width=700, \n", " title=\"French Retail Sales & 4Q Rolling mean ( in '000)\").add_selection(\n", " scales\n", ")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's create the forecast for this data in Power BI first. \n", "##### Power BI Forecast\n", "\n", ">youtube: https://youtu.be/holHxFGL2jc\n", "\n", "\n", "##### Observations:\n", "1. Power BI was able to capture the trend and seasonality very well. \n", "2. I left the \"Seasonality\" field blank and Power BI still detected quarterly seasonality. \n", "3. Power BI shows the 95% \"Confidence Interval\" as gray band by default\n", "4. You can inspect the forecast by selcting \"Show as table\" and can also \"Export data\"\n", "5. Power BI does not show the forecast values. You have to hover over the line chart to know the values. \n", "6. Forecast values are not accessible for further calculations or use in measures/calculated columns. \n", "\n", "\n", "Now let's see how Power BI creates the forecast as described in the blog." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "##### Creating Validation Window\n", "\n", "First a validation window is created. Here is what the blog says: \n", "\n", "*...The classical Holt-Winters method finds the optimal smoothing parameters by minimizing the mean sum of squares of errors for predictions in the training window, looking only at predictions that are one-step ahead. However, the errors you get from looking just one step ahead might not be representative of the errors you get when you want a longer horizon forecast. Therefore, to improve long-range forecasting error, we introduced a validation window, which contains the last few points of the training window. Within this validation window, we do not adjust the state at each and every step, but instead, compute the sum of squares of prediction errors for the window as a whole. This has the effect of dampening variation and preserving trend across the validation window...*\n", "\n", "**What this means**: In classical forecasting, the parameters of the model are optimized by using all the given data, making forecasts one step at a time and then minimizing the mean sum of square errors (SSE). SSE is calculated by subtracting the 1-step forecasts from the actual values and then squaring them. Errors could be positive or negative so if we add them as is, they may add upto 0. Squaring solves that problem. The issue with this approach is we typically want a long term forecast and using the above approach we cannot assess the accuracy of the forecast for long horizon. To overcome this, in a machine learning model, the data is split into training and test (i.e validation) and model parameters are obtained by using only the training set. The test set is used to assess the accuracy of the model fit. This also helps prevent overfitting (good fit on the training set and poor on the test).\n", "\n", "I will split the data into train and test. I will use the first 18 values for training (blue line) and the last 6 for validation (orange line). " ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "
\n", "" ], "text/plain": [ "alt.LayerChart(...)" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#hide_input\n", "source1 = data\n", "\n", "base = alt.Chart(source1.reset_index()).encode(x='Date')\n", "\n", "chart1=alt.Chart(source1.reset_index().iloc[:-6]).mark_line(point=True).encode(\n", " x='Date', \n", " y='Sales', \n", " tooltip=['Date', 'Sales'])\n", "\n", "chart2=alt.Chart(source1.reset_index().iloc[-6:]).mark_line(point=True, color='orange').encode(\n", " x='Date',\n", " y='Sales', \n", " tooltip=['Date', 'Sales'])\n", "\n", "(chart1 +chart2).properties(width=700, title= \"Training and Validation Windows\").interactive()\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "##### Preprocessing the data\n", "\n", "It is important that the preprocessing is done after the train/test split and the same preprocessing parameters/steps are applied on both the sets to prevent data leakage. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**1. Missing values**: If Power BI detects that any missing values, it will automatically fill in the values using linear interpolation, i.e taking mean of the values before and after the missing value. Power BI performs the imputation as long as the missing values are fewer than 40% of the total observations.\n", "\n", "This is a reasonable approach but could potentially be a problem if: \n", " - the missing values cannot be imputed with interpolation \n", " - missing values/nulls are actually 0's indicating no sales/production etc. (intermittent time series)\n", "\n", "You should check the data for missingness before doing the forecasting. Also if the data (trend) is not linear, interpolation will result in erroneous data. \n", "\n", "To test, I intentionally deleted some of the observations and Power BI still performed the forecasting but did not show the interpolated values in the table. It would be good to know what values were used. If the missing values are close to the end, it will definitely affect the forecast as exponential smoothing gives higher weightage to the recent data. \n", "\n", "**2. Detecting Seasonality**: Seasonality is the number of seasons in one full time period. If you have a quarterly data, it has 4 seasonal periods in a year. Similarly, monthly has 12, yearly 1 and weekly has 52 seasonal periods. In Python or R, you have to specify the number of seasonal periods. But in Power BI, seasonality is detected automatically for you. As we saw above, I did not have to enter the Seasonality. Below are the steps and description of each step in identifying the seasonality. \n", "\n", " 1. De-trending: Trend is the positive or negative change in the level of the series over the observed period. When trend is present, the series is called \"non-stationary\". Some forecasting methods such as ARIMA require the time series to be stationary before the method can be applied. ETS method can be used on stationary and non-stationary data. While Power BI does not apply ARIMA model, series is de-trended so we only have seasonality (and error) left in the series. Presence of trend can affect the periodogram (we will see that below). Series can be de-trended by differencing the previous observation. e.g. in our case, the first 3 observations are [362, 385, 432..]. We de-trend the series by subtracting 362 from 385, 385 from 431 and so on. There is no values before 362 so it becomes null. We lose one observation after differencing. New series will be [null, 23, 47,..] " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Here are the data before and after differencing. After differencing there is no trend in the data and it only shows the seasonality. " ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/html": [ "\n", "
\n", "" ], "text/plain": [ "alt.HConcatChart(...)" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#hide_input\n", "chart3=alt.Chart(train.reset_index().iloc[:-6]).mark_line(point=True).encode(\n", " x='Date', \n", " y='Sales', \n", " tooltip=['Date', 'Sales']).properties(height=150, title=\"Original Train set with trend\")\n", "\n", "train_d = train.diff().dropna()\n", "\n", "chart4=alt.Chart(train_d.reset_index().iloc[:-6]).mark_line(point=True).encode(\n", " x='Date', \n", " y='Sales', \n", " tooltip=['Date', 'Sales']).properties(height=150, title=\"De-trended Train set\")\n", "\n", "(chart3 | chart4)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " \n", " 2. Z-Normalization: Irrespective of the original and de-trended data distribution, data is z-normalized (i.e. standardized) to make the mean 0 and standard deviation 1. This will make the data normally distributed. Note that normality of data is not an essential condition for forecasting neither does it guarantee improvement in mean forecast. Standardization is necessary in many machine learning methods (especially in regression, neurel net based methods, clustering etc.) to make the features scale independent but is not required in forecasting. Normalized data may lead to narrower prediction interval due to stabilized variance. Another benefit of standardization is that forecasting errors are also scaled. Irrespective of the scale of the original data (100 vs 100,000), after normalization Power BI can compare the error metric with an internal benchmark and further refine the model. I don't know if Power BI does that but it's a possibility. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We will test the de-trended data and z-normalized data for normality, calculate mean & standard deviation\n", "\n", "*De-trended data*:" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "- Jarque Bera p-value: 0.22 , Data is Normal\n", "\n", "- Mean: Sales 20.29\n", "dtype: float64 ,\n", "- Std Deviation: Sales 77.01\n", "dtype: float64\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "#hide_input\n", "\n", "sns.kdeplot(train_d[\"Sales\"], shade=True);\n", "\n", "print(\"- Jarque Bera p-value:\", jb(train_d[\"Sales\"])[1].round(2), \", Data is Normal\" if jb(train_d)[1] >0.05 else \"Not Normal\")\n", "\n", "print(\"\\n- Mean:\", train_d.mean().round(2), \",\\n- Std Deviation:\", train_d.std().round(2))\n", "\n", "plt.rcParams['figure.figsize'] = (8, 6.0)\n", "decomp1 = seasonal_decompose(train_d)\n", "\n", "decomp1.plot();\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Observations\n", "- De-trended data actually shows bi-modal normal distribution. Jarque Bera test confirms normality. \n", "- The trend is almost flat, except in the first few observations. This actually means we need higher order differencing to remove trend but for the purposes of our analysis, this is good.\n", "- De-trended data has a mean of 20.2 and standard deviation of 77." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "###### Transformed Data\n", "\n", "Transform the data with z-normalization to make mean 0, std 1 and remove trend component" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "- Jarque Bera p-value: 0.2 , Data is Normal\n", "\n", "- Mean: Sales_X 0.0\n", "dtype: float64 ,\n", "- Std Deviation: Sales_X 1.0\n", "dtype: float64\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "#hide_input\n", "from sklearn import preprocessing\n", "\n", "train_X = pd.DataFrame(preprocessing.scale(train_d).flatten(), columns=[\"Sales_X\"])\n", "\n", "train_X.set_index(train.index[1:], inplace=True)\n", "\n", "\n", "sns.kdeplot(train_X[\"Sales_X\"], shade=True);\n", "\n", "print(\"- Jarque Bera p-value:\", jb(train_X)[1].round(1), \", Data is Normal\" if jb(train_X)[1] >0.05 else \"Not Normal\")\n", "\n", "print(\"\\n- Mean:\", train_X.mean().round(1), \",\\n- Std Deviation:\", train_X.std().round(1))\n", "\n", "plt.rcParams['figure.figsize'] = (8, 6.0)\n", "decomp1 = seasonal_decompose(train_X)\n", "\n", "decomp1.plot();" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " **Observations**\n", "- Transformed data still show the 2 peak bi-modal distribution with a mean of 0 and standard deviation of 1" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " \n", " 3. Identify candidate periods from the power spectrum: \n", " \n", " So far we have observed the data in time domain but we can also see it in frequency domain to identify prominent frequencies. It's based on the assumption that it is made up of sine and cosine waves of different frequencies. This helps us detect periodic component of known/unknown frequencies. It can show additional details of the time series that can be easily missed. We do it with a *Periodogram*" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjgAAAGoCAYAAABL+58oAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjMsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+AADFEAAAgAElEQVR4nO3de5hddX3v8fe+zN4J5EoygXCPJvMTUVEBQSAZWrFKbeUcn1atqPV2LC1ttbXVo8dLa+2FU6UW+qitlaMinnqq0tN6vLWiCYiIKFpR/M2Eq9xyI0BCwlz3+WPtnayEyWQmmb3X3mu9X8/Dw8yevff6zhCYD9/1/a5VajQaSJIk5Uk56wIkSZLmmgFHkiTljgFHkiTljgFHkiTljgFHkiTljgFHkiTlTjXrAiR1txDCycAdwI9TD5eAv40xXjWL93k/sDHG+OlZvOaPgGfEGF8309dIEhhwJM3M7hjjs1ufhBCOA24LIdwSY/zPmbxBjPG9batOkvZjwJE0azHG+0MIw8BACOFM4HdITnlvA343xvizEMIngaOApwJfAo4GbosxfjCEsBb4a+AIYBR4d4zxqyGEPuAK4IXAZmAT8ChACOF44KPAySQdpE/FGP+6+bXXAf8d2A1cB7wlxlgNIfwJ8HzgWOBHwNuAv2/WcgxwD/DyGOPmEMLdwGeBXwSWAv8TOBc4HRgDXhpjfGAuf46S2scZHEmzFkJ4PrAa2AL8JrA2xvgcklBwbeqpR8QYT40xviP12mXA50lCyLOar/9MCGEVSVAaAJ5OEnJOTL3XNcA3Y4zPJAkerw4hvDKE8HTgMuCCZg2PAZXU604CnhNjfDXwSuA7McbnA08BdgGvST13XozxbOC9wD+QnIY7Dfg58LpD+2lJyoIdHEkzMT+E8MPmx1VgK3Ax8BKSoHNjCKH13KUhhKOaH98wxXudRTKL812AGONPQgjfBs4HLgA+G2McBUZDCNcAzwohHEkSan6p+ZpHmx2iC4GVwNdjjPc13/9K4E9Sx7spxjjefN3fhhDWhhD+EFgDPAP4buq5X2j+/Q7goRjjj1KfH4WknmHAkTQT+8zgtIQQLgCubnVoQghlktNB25tP2TnFe1WA/W+CVwb6mh+XUo+Pp75eYl+t14zv97WJ/Z63p4YQwmXA84CrgG82X59+7Ujq47EpapfUIzxFJelwfA34jRDCyubnlwDfOMhrvgM8LYTwPIAQwqnAOuBbwFeA14YQ5oUQ5gGvAIgx7gBuAi5tvmYx8Frg35s1XNAcfAZ40zTHfhHw4Rjj1SQzPi9k39NZknLCgCPpkMUYv04y//LvIYT/BF4FvCzGuH+HJv2arcCvA1eGEH5MMtj7+hjjEMkA8C3AbcB64K7USy8GXtB8zc3AF4FPNl/3B8DXQgi3AKeQzNZM5f3AB5u1/ivJKbTVh/TNS+pqpUbjgP8dkqSu1xxOfi3wZzHGyRDCy4B3xBjPyrg0SRlyBkdSr7uPZO7nxyGEcZK18jdkW5KkrNnBkSRJueMMjiRJyp2uOUUVQqgDZwIP8uQ1T0mSpP1VSK6F9b0YY/oyD90TcEjCzfVZFyFJknrOWva7sGg3BZwHAa655hqOOeaYrGuRJEld7qGHHuLiiy+GZoZI66aAMwFwzDHHcPzxx2ddiyRJ6h1PGm1xyFiSJOWOAUeSJOWOAUeSJOWOAUeSJOWOAUeSJOWOAUeSJOWOAUeSJOWOAUeSJOWOAUeSJOWOAUeSJOWOAUeSJOWOAUeSJOWOAUeSJOVOYQLON+NmNj32RNZlSJKkDihMwLn0mh/wmZvuyboMSZLUAYUJOCVg1+hE1mVIkqQOKEzAqfdVGBk34EiSVASFCTi1SpnR8cmsy5AkSR1QmIBT7yszYsCRJKkQChNw7OBIklQchQk4dnAkSSqO4gScasUOjiRJBVGYgFOrlN2ikiSpIAoTcOp9zuBIklQUhQk4SQfHgCNJUhEUJuDU+5zBkSSpKAoTcOzgSJJUHIUJOK6JS5JUHIUJOG5RSZJUHIUJOG5RSZJUHMUJOM0ZnEajkXUpkiSpzYoTcPoqAIxO2MWRJCnvChNwapXkW/U0lSRJ+VeYgFPvS75VN6kkScq/wgQcOziSJBVHYQKOHRxJkoqj2o43DSFUgI8DAZgAXg+UgE8CDeA24NIYY8fSRq3SHDI24EiSlHvt6uD8KkCM8VzgvcDlzb/eHWNcSxJ2LmrTsadUr7Y6OF7sT5KkvGtLwIkx/gvw5uanJwGbgNOB9c3HvgJc0I5jH0it6gyOJElF0bYZnBjjeAjhU8CVwOeBUoyxdZW9HcDidh17Kns7OAYcSZLyrq1DxjHG3wQGSOZx5qe+tBB4pJ3H3p8dHEmSiqMtASeE8JoQwjubn+4CJoFbQgjnNx+7ELi+Hcc+kHo1GTJ2BkeSpPxryxYV8EXgf4UQNgB9wFuB24GPhxBqzY8/36ZjT6nmKSpJkgqjLQEnxvg48PIpvjTYjuPNhDM4kiQVR3Eu9OcMjiRJhVGggNOawTHgSJKUd4UJOG5RSZJUHIULOG5RSZKUf4UJOJVyib5KyQ6OJEkFUJiAA1CrlJ3BkSSpAAoVcOp9FTs4kiQVQKECTtLBcQZHkqS8K1TAqfeV7eBIklQAhQo4zuBIklQMhQo4dnAkSSqGQgUcOziSJBVDoQJOveoWlSRJRVCogFOrukUlSVIRFCrg1KueopIkqQgKFXBqVYeMJUkqgkIFnHq1YgdHkqQCKFTAqXmKSpKkQihUwKk7ZCxJUiEULuA4gyNJUv4VLuCMjE/SaDSyLkWSJLVRoQJOrZp8u2MTBhxJkvKsUAGnXq0AOIcjSVLOFSrgtDo4zuFIkpRvhQo49WbAcVVckqR8K1TAsYMjSVIxFCrg7J3BMeBIkpRnhQo4dnAkSSqGQgWcvTM4blFJkpRnhQo4dnAkSSqGQgUct6gkSSqGggUch4wlSSqCQgWcmjM4kiQVQqECTt0ZHEmSCqGQAcdTVJIk5VvBAk4yg2MHR5KkfCtUwKnZwZEkqRAKGXDs4EiSlG+FCjiVcolqueQWlSRJOVeogAPJoLEdHEmS8q1wAadWLTuDI0lSzhUu4NSrFTs4kiTlXOECTtLBcQZHkqQ8K1zAqXuKSpKk3KvO9RuGEPqAq4CTgTrwAeA+4N+A4ebTPhpj/NxcH3smag4ZS5KUe3MecIBXA9tijK8JISwDbgXeD1weY/xQG443K3ZwJEnKv3YEnH8GPp/6fBw4HQghhItIujhvjTHuaMOxD8oOjiRJ+TfnMzgxxp0xxh0hhIUkQefdwM3AH8cY1wF3Au+b6+POVL1acchYkqSca8uQcQjhBOCbwNUxxs8C18YYv9/88rXAc9px3JnwOjiSJOXfnAecEMLRwNeBd8QYr2o+/LUQwvOaH78A+P6UL+4Ar2QsSVL+tWMG513AUuA9IYT3NB/7Q+DDIYRR4CHgzW047ozYwZEkKf/mPODEGN8CvGWKL50z18c6FMkMjgFHkqQ8K+SF/kYdMpYkKdcKGXDs4EiSlG+FCzi1apnRiUkajUbWpUiSpDYpXMCpV8s0GjA2YcCRJCmvChdwatXkWx6d8DSVJEl5VbiAU69WABgZc9BYkqS8KmDAsYMjSVLeFS7gtE5RjYwZcCRJyqvCBZzWKSo7OJIk5VfhAo4dHEmS8q9wAWfvDI5DxpIk5VXhAo4dHEmS8q9wAafVwRlxBkeSpNwqXMCxgyNJUv4VLuC4RSVJUv4VMOC0OjgOGUuSlFeFDTh2cCRJyq/CBRxncCRJyr/CBRxncCRJyr/CBRw7OJIk5V/hAk6lXKJaLjEy7pCxJEl5VbiAA0kXZ3TcDo4kSXlVyIBTr5YZMeBIkpRbhQw4dnAkScq3QgacerXiDI4kSTlWyIBTq5ZdE5ckKccKGXDq1bJr4pIk5VghA44dHEmS8q2QAccOjiRJ+VbIgFOrVhixgyNJUm4VMuAkHRy3qCRJyqtCBhxncCRJyrdCBhxncCRJyreCBpyKHRxJknKsoAHHGRxJkvKssAHHDo4kSflVyIBTa95NvNFoZF2KJElqg0IGnHq1TKMB45MGHEmS8qiQAadWTb7tkXFPU0mSlEeFDDj1agWAUQOOJEm5VMiAs7eD4yaVJEl5VMiAU28GHDs4kiTlUyEDjjM4kiTlWyEDjjM4kiTlW3Wu3zCE0AdcBZwM1IEPAD8FPgk0gNuAS2OMmaULZ3AkScq3dnRwXg1sizGuBS4E/g64HHh387EScFEbjjtjdU9RSZKUa+0IOP8MvCf1+ThwOrC++flXgAvacNwZcwZHkqR8m/NTVDHGnQAhhIXA54F3Ax+MMbYuG7wDWDzXx52NPR2cMQOOJEl51JYh4xDCCcA3gatjjJ8F0kliIfBIO447U3vWxL3hpiRJuTTnASeEcDTwdeAdMcarmg/fGkI4v/nxhcD1c33c2WhtUY2MOWQsSVIezfkpKuBdwFLgPSGE1izOW4ArQgg14HaSU1eZqdnBkSQp19oxg/MWkkCzv8G5PtahcgZHkqR8K+SF/uzgSJKUb8UMOBU7OJIk5VkhA061UqZSLjE64ZCxJEl5VMiAA8kcjh0cSZLyqbABp1YtO4MjSVJOFTbg2MGRJCm/Chtw7OBIkpRfhQ049WqFkXGHjCVJyqMCB5wyo95NXJKkXCpswKlVy4wYcCRJyqXCBpy6AUeSpNwqbMCpVSsGHEmScqqwAccZHEmS8quwASeZwXGLSpKkPKrO5EkhhEXAScCdMcbH21tSZ9jBkSQpvw7awQkh/BqwHvgs8IchhHe3vaoOcMhYkqT8mskpqj8Azga2Ah8A/mtbK+qQerViB0eSpJyaScCZjDGOAI0YYwPIxSkqZ3AkScqvmQSc60MI/xs4PoTwMeB7ba6pI1ozOI1GI+tSJEnSHDvokHGM8V0hhBcDPwBujzF+qf1ltV+tUmayAeOTDfoqpazLkSRJc+iAASeE8Nr9HtoEHBVCeG2M8dPtLav96n1J82p0fJK+SmG35SVJyqXpOjinNP9+NrALuBE4E+gDej7g1JqhZmR8kiPrGRcjSZLm1AEDTozxnQAhhK/GGF/SejyE8PVOFNZu9b4KgJtUkiTl0EzOzawIISwBCCEsA5a1t6TO2NvBcZNKkqS8mcmVjP8cuCWE8BiwCHhDe0vqjNYMjhf7kyQpf2ayRfUF4AshhBXAthhjLloerQ6Op6gkScqfgwacEMI3gUbqc2KMv9jWqjqgNYPjKSpJkvJnJqeoLmn+vQScDpzWvnI6J71FJUmS8mUmp6hi6tOfhRCcwZEkSV1tJqeo3pz6dCWwsH3ldI4zOJIk5ddMTlGtTH38BPDrbaqlo+bZwZEkKbdmEnAmYowfaH0SQvhL4J3tK6kzahUv9CdJUl5Ndy+qNwJvAk4JIfxy8+EKya0aej7g7J3BcYtKkqS8ma6D8xngG8C7SC72BzAJbG53UZ3gDI4kSfk13a0anhljvBv4AhCaf50CDHagrrZzi0qSpPyaroPzAuAW4JX7Pd4Aev6Gm3ZwJEnKr+kCzt+EEGrAb3WqmE6qVspUyiVncCRJyqHpAk4kdYuGplLzsae0raIOqlfLdnAkScqhAwacGOOq1schhArQD2yOMeYmEdSq5cLO4Pzg3u3ceu8jvPG8VQd/siRJPWa6IWMAQgj/FdgIfBkYCiG8sO1VdUiROzif/Pbd/NmXfsrWnSNZlyJJ0pw7aMAB3gucFWN8LnAue1fGe16ROzhDm3YAcMPw1owrkSRp7s0k4GyLMW4GiDFuAh5rb0mdU69WCtnBGZ+Y5M4tjwOwYWhLxtVIkjT3ZnKrhsdCCF8D1gNnAEeEEP4CIMb4rnYW1261SrmQW1T3PryL0YlJjqhV2DC8hcnJBuVyKeuyJEmaMzMJOP839fH97SokC/W+Yp6iGtq0E4CXn3ECn7zxbn764GM847jFGVclSdLcmUnA+ReSqxfPaz0QY/w/B3tRCOEs4LIY4/khhOcC/wYMN7/80Rjj5w6h3jmVdHCKF3CGm/M3bzh3FZ+88W7WD20x4EiScmUmAefrwE+BR5qfN4BpA04I4e3Aa4DHmw89F7g8xvihQ6yzLep9FR7bPZZ1GR03vHknxy+dz4nLjuAZxy1ifdzCpb+wOuuyJEmaMzMJOI/GGF8/y/e9A3gZcHXz89OBEEK4iKSL89YY445ZvuecK2oHZ2jTDtasWADA4EA/H1t/J489McaieX0ZVyZJ0tyYyRbV10IIl4QQ1rX+OtgLYoxfANKtkZuBP44xrgPuBN53aOXOrXpfmdGCDRmPT0xy59bHGTh6IQCDAyuYmGxw40bXxSVJ+TGTDs5aoM7eu4g3gA2zPM61McbWKa5rgStn+fq2qBewg3Pvw7sYHZ9kTTPgPOfEJSysV1k/tIUXP2NlxtVJkjQ3ZhJwFsQYLzjM43wthPB7McabSe5S/v3DfL85kXRwihVwWhtUrVNUfZUy565ezvq4hUajQankurgkqffNJODcFkL4DeAHNG++GWMcmuVxfhv4uxDCKPAQ8OZZvr4tijiDs3FzMvq0uhlwANYN9PPVnzzExs0793R2JEnqZTMJOKc1/2qQ3HBzDamV8QOJMd4NnN38+AfAOYdcZZvU+yqFu9Df0KadHLdkPkfW9/6jXzewHID1Q1sMOJKkXDjokHGM8ReAdwD3kQScT7S7qE6pVZJTVI1GI+tSOmZo0w4Gjl6wz2PHLz2C1SsWsN7bNkiScuKAHZwQQg34DeB3gFFgEbAqxri7Q7W1Xb1aZrIB45MN+ir5nz1pbVANDvQ/6WuDA/1cfdM97B6dYH6tkkF1kiTNnek6OHcDzwJeHWNcCzyQp3ADyd3EgcIMGrc2qNLzNy2DA/2Mjk9y013bMqhMkqS5NV3A+VvgAuCvQggXArlrcdSbAacog8bDm5MNqoEp5myet+oo5vWVWR89TSVJ6n0HDDgxxstijKcBVwCvAs4MIVwWQnhGx6prs1o1ORVTlA5O6x5UU3Vw5vVVOPspy9jgHI4kKQdmMmS8Psb4GuCpJIPGVx/kJT1jbwenGJtUU21QpQ0O9HPn1se5d9uuDlcmSdLcmsmaOADNKxFfSZdchXguFG0GZ3jzzidtUKW1ho/XD2/hNctO6lRZkiTNuZnciyq3ijSDMzHZ4I4t01/Ib9XyIznhqPnO4UiSel6hA06tQAHnnm2PJ/egmmL+pqVUKrFuTT833rG1MF0tSVI+FTrg1JtDxkWYwZlugyptcKCfXaMT3HLPw50oS5Kktih2wOkrzgzOdBtUaeesXk61XPKqxpKknlbogFOrFOcU1fDm6TeoWhbUq5xx8lI2DG3tUGWSJM29QgeceQXq4Axtmn6DKm1wYAW3P/gYmx57os1VSZLUHoUOOLVKawYn3wFnJhtUaa11cS/6J0nqVYUOOEWZwWndg2q6Daq0U1YupH9h3TkcSVLPKnTA2TuDk+8tqqHmgPFMOzilUonBgX6uH97KxGSjnaVJktQWhQ44RengtDaoZtrBgeQ01aO7x/jRfY+0qyxJktqm0AGnKFtUM92gSjtv9XLKJbyqsSSpJxU64FQrZSrlUu47OEObdrJmhhtULUuPrHHaCUucw5Ek9aRCBxxIujh5nsFpbVAd7ArGU1m3pp8f3fcI2x8fbUNlkiS1T+EDTr2vnOsOzmw3qNIGQz+NBly/0Yv+SZJ6S+EDTtLByW/Ame0GVdppxy9h8fw+53AkST2n8AEn7x2cjc2bbB7sHlRTqZRLrF2znA3DW2g0XBeXJPWOwgecInRwjlsynwWz2KBKGxzoZ8uOEW5/cMccVyZJUvsUPuDUq5VcB5zhQ9igSmvdtsFtKklSLyl8wKlV87tFdTgbVC0rFs3jlJWLWD+0eQ4rkySpvQofcOrV/M7g3PvwLkbGJw9p/iZtcKCfW+7ezs6R8TmqTJKk9ip8wEk6OPkMOK1bNBxOBweSgDM+2eBG18UlST2i8AEnzzM4w4exQZV2+klLObJWcQ5HktQzDDjVMqM5ncE53A2qllq1zPOfupz1Q66LS5J6gwEn16eoDm+DKm0w9HPf9t3cufXxOXk/SZLaqfABp5bTIePWBtWh3KJhKoNrmuviXtVYktQDCh9w8trB+Xlzg+pQbtEwlROXHcFTlh/pHI4kqScUPuDktYMzNEcbVGnrBvr57l3beGIsnzNLkqT8KHzASbao8vcLe642qNIGQz9PjE1y810Pz9l7SpLUDoUPOLVqmckGjE/kq4szPEcbVGlnr1pGrVr2NJUkqesVPuDUq8mPIG9zOENzuEHVMr9W4axVRxlwJEldz4DTDDh5msOZ6w2qtMGBfjZu3sl923fN+XtLkjRXCh9watUKkK8OzlxvUKWdH5J18Q1D3rZBktS9Ch9w8tjBaW1QtaOD89T+BRy3ZL53F5ckdbXCB5zanhmc/GxStTao2tHBKZVKrBtYzrc3bmMsZ4PZkqT8KHzAyeOQcTs2qNIGB/rZOTLOD+7Z3pb3lyTpcBU+4NRyGHCGNu2c0+vf7O+c1cuplEtuU0mSulbhA069OWSclxmc1gbVwByviKctmtfH6ScuNeBIkrpW4QNO3mZw2rlBlTYY+vnJA4+xZcdIW48jSdKhaFvACSGcFUL4VvPj1SGEG0II14cQPhpC6JpglbctqnZuUKUNDiTr4tcP28WRJHWftgSNEMLbgX8E5jUfuhx4d4xxLVACLmrHcQ9F3oaM27lBlfb0lYtYvqDmaSpJUldqVyflDuBlqc9PB9Y3P/4KcEGbjjtreZvBGd60g2MXz2vbBlVLuVxi3Zp+NgxtYWKy0dZjSZI0W20JODHGLwBjqYdKMcbWb8EdwOJ2HPdQ5G2LanjzzrZ3b1oGQz/bd41x2/2PduR4kiTNVKdmYdLpYSHwSIeOe1B7Z3B6f8h4YrLBxs3t3aBKO2/1ckolPE0lSeo6nQo4t4YQzm9+fCFwfYeOe1B56uDs2aBa0ZkOzrIFdZ513GIDjiSp63Qq4LwN+NMQwneAGvD5Dh33oPK0RbV3wLgzHRyAdQP93Hrvdh7dNXbwJ0uS1CFtm0SNMd4NnN38eAgYbNexDke1UqZcykcHZ8+KeIdmcCBZF7/yuo3csHErL3nWyo4dV5Kk6XTN9WiyVK9WGM3BjSM7tUGV9uwTlrBwXtW7i0uSuooBh2QOZ2Ss94eMO7lB1VKtlFm7Zjnrh7bQaLguLknqDgYckjmcXu/gtDao2n0F46kMDvSz6bERhjbt7PixJUmaigGHVgentwPOfduTDaqBDndwIBk0BjxNJUnqGgYckg5Orw8Zt7onndygalm5eD7h6IWui0uSuoYBB6hVKzkIOMkG1eoMTlFBclXj7921ncdHxjM5viRJaQYcWh2c3h4y3rh5J8cunsfCeX2ZHH9woJ/RiUluunNbJseXJCnNgEMyg9PrF/ob2rSj4xtUaWecvJT5fRVPU0mSuoIBh96fwclyg6qlXq3w/KcuM+BIkrqCAYfmmngPB5wsN6jSBgf6uWfbLu7e+nimdUiSZMAh6T708gxOa4NqdQYbVGmDe9bF7eJIkrJlwKH3L/Q3vLl5D6oMT1EBnLz8SE5adoQBR5KUOQMOvX+hv+FN2W5QpQ0O9POdO7b1dEdMktT7DDj0fgdnaNMOVmc8f9MyONDP7rEJbrl7e9alSJIKzIBDb3dwWhtUAxmfnmo5+ynLqFXKnqaSJGXKgEMyZNyrHZxu2aBqObJe5cxVS1kfDTiSpOwYcEg6OBOTDcZ7MOR0ywZV2uBAP3HTDh58dHfWpUiSCsqAQzKDA/RkF6dbNqjSBgdWALDB01SSpIwYcEg6OEBPzuF00wZVy8DRCzhm0TzncCRJmTHgkMzgQO92cLplg6qlVCqxbmA51w9v7cnTfpKk3mfAoXc7OJNdtkGVNjiwgh1PjPPDnz+SdSmSpAIy4JCewemti9P9fPsunhibZE0XDRi3nLd6OeWSt22QJGXDgMPeDs4TPdbBGW5uUK3pslNUAIuP6OM5Jy414EiSMmHAoXe3qIa6cIMqbXCgnx/f/yjbdo5kXYokqWAMOPTuDM7wpp2s7LINqrTBgX4aDbhh49asS5EkFYwBh97dohrevKMrT0+1PPO4xRx1ZM2rGkuSOs6Aw95TVCNjvTNk3M0bVC3lcom1a5azYXgLk5ONrMuRJBWIAYfenMG5b/vurt2gShsc6GfrzlF++uBjWZciSSoQAw69OYMztKk5YNzFp6gA1q7pB1wXlyR1lgGH3pzBaW1Qre7iU1QA/QvrnHrsIudwJEkdZcAh3cHpnRmcjc0NqkVdukGVNjjQz/fv3c5jT4xlXYokqSAMOKSGjMd7q4PT7aenWgYH+pmYbHCj6+KSpA4x4LC3gzPaIwGntUHVrRf4299zT1rKgnrVORxJUscYcIBquUS51DsdnNYG1UCXb1C19FXKnLt6GevjFhoN18UlSe1nwAFKpRK1arlnhox7ZYMqbXBgBQ88+gQbN+/MuhRJUgEYcJrq1UrPDBkPN0NCt29Qpa0bWA64Li5J6gwDTlMvdXCGN+3omQ2qluOXHsHqFQsMOJKkjjDgNNWr5Z650N/Q5h091b1pGRzo57t3Pczu0d7olEmSepcBp6leLTPSAx2cPfeg6qH5m5bBgX5Gxye56a5tWZciSco5A05TrVrpiQ5Or21QpT1v1VHM6yt7VWNJUtsZcJrqPTKDM7znFg2918GZ11fhrFXL2OAcjiSpzQw4TbVquSe2qIY2JRtU3X4X8QMZHOjnzq2Pc++2XVmXIknKMQNOU890cHpwgyptMDTvLj5sF0eS1D4GnKZe2aIa3ryzJzeoWp6y/EiOXzrfORxJUltVO3mwEMKtwKPNT++KMb6+k8efTr1a6foOTmuD6lVnnZh1KYesVCoxONDPtbfez+j45J77gEmSNJc6FnBCCPMAYoznd+qYs1GrlhkZ7+4ZnPu272b32ETP3GTzQAYH+rnmu/dyyz0Pc85Tl2ddjiQphzr5v8+nAUeEEL4eQrguhHB2B499UPVquevvJt7aoOqle1BN5ZzVy6mWS2wY2pp1KZKknOpkwNkFfBB4EXAJcE0IoZWXOMwAABE2SURBVKOnyKaTdHC6O+D0+gZVy4J6lTNOXuptGyRJbdPJgDMEfCbG2IgxDgHbgJUdPP60eqWDc8yi3t2gShscWMHtDz7GpseeyLoUSVIOdTLgvAH4EEAI4VhgEfBgB48/rV7o4Axv2tnz3ZuWwYFkXdyL/kmS2qGTAecTwJIQwg3A54A3xBjHO3j8adWrFSYmG4x36SZVL9+DaiqnrFxI/8K6p6kkSW3RsRmYGOMo8KpOHW+2WuvKoxOTVCvdt7p8/yP52KBqKZVKrFvTz3/cvomJyQaVcinrkiRJOdJ9v8kzUm8FnC49TTW0KR8bVGmDoZ9Hd4/xo/seyboUSVLOGHCaWh2cbp3DaW1Q9fJVjPe3dvVySiW8qrEkac4ZcJrq1QrQvR2c1gbV4vm9v0HVsvTIGqcdv8Q5HEnSnDPgNO3t4HTn1YzztEGVNjjQz4/ue4Ttj49mXYokKUcMOE31Lj5F1dqgWrMiP/M3LYOhn0YDrt/oVY0lSXPHgNPUzTM4rQ2qgRx2cE47fgmL5/d5PRxJ0pwy4DR18xZVHjeoWirlEmvXLGf90BYajUbW5UiScsKA09TNp6iGN+dvgyptcKCfLTtGuP3BHVmXIknKCQNOU2uLamSs+4aMhzblb4MqrXXbBrepJElzxYDTlL6ScbfJ6wZVy4pF83jaMQtZP7Q561IkSTlhwGnac4pqrLsCTp43qNIGQz+33L2dnSNdc3sySVIPM+A0dWsHJ88bVGmDA/2MTza40XVxSdIcMOA0desMzvDm1gZVvgPOGScdxRG1inM4kqQ5YcBpqndpB2fvPajyfYqqVi1zzlNdF5ckzQ0DTlOtS2dw8r5BlTYY+rlv+27u3Pp41qVIknqcAaepWi5RLnVfB2fj5nxvUKUNrmmui3t3cUnSYTLgNJVKJWrVcldd6G9yspGsiOf89FTLicuO4CnLj2TDsAFHknR4DDgp9Wqlq27V0NqgKkoHB2DdQD833bmNJ7ps2FuS1FsMOClJB6d7frG2NqjyviKeNhj6eWJskpvvejjrUiRJPcyAk1LvslNURdmgSjt71TJq1bLr4pKkw2LASem2GZzhTTs5elG9EBtULfNrFc5adZQBR5J0WAw4Kd02gzO8eQcDRxene9MyONDPxs07uW/7rqxLkST1KANOSjd1cIq2QZXWurv4hiFv2yBJOjQGnJR6tcxolwwZF3GDqmX1igUcu3iedxeXJB0yA05KNw0ZF3GDqqVUKjEY+vn2xm2MddmFFyVJvcGAk5J0cLrjF2oRN6jSBgf62Tkyzg/u2Z51KZKkHmTASemmGZwiblClnbN6OZVyyW0qSdIhMeCkdNMWVVE3qFoWzevj9BOXetsGSdIhMeCk1CrdcSXjyckGGzfvZPWK4s3fpA2Gfm67/zG27BjJuhRJUo8x4KTU+7pjBuf+R3aza3Si0B0c2Lsufr1dHEnSLBlwUpIOTvYBp8gbVGlPX7mIZUfWnMORJM2aASelWzo4wwXfoGopl0usG+hnw9AWJiYbWZcjSeohBpyUWqXC+GQj81+mQwXfoEobHOhn+64xbrv/0axLkST1EANOSr0v+XFk3cXZuHlHIW/RMJW1a5ZTKuFpKknSrBhwUmqV5Mcx202qubza7uRkg+HNOwt5i4apLFtQ55nHLTbgSJJmxYCT0urgzHTQ+CcPPMolV3+fNf/jK/y3T9/Czx8+/Ltfu0H1ZIMD/dx673Ye3TWWdSmSpB5hwElpdXAOdorqP+97hDd96hZecsUNfPuOrfza6cfz7Y1becHl67n834fYPXro19LZuDkZMF5T8GvgpA0O9DPZgBs2endxSdLMVLMuoJvU+yrAgU9R/eDe7Vz5jWG+GbeweH4ff/jCAX7znJNZPL+PP/qlwF98+Xau+MYwX/j+fbznV07hRaceQ6lUmlUNQ5uSFfE1dnD2ePYJS1g4r8r6oc285Fkrsy5HktQDDDgpe2dw9u3g3HzXw1x53TDXD29l6RF9/PGLAq99/kksnLd3y+mYxfO44jeew6vOOpH3/d+fcMlnfsDaNct536+eOqsrErtB9WTVSpm1a5azYWgrjUZj1qFRklQ8BpyU9AxOo9HgO3du44pvDHPTnQ+zfEGNd174NF599kkcWT/wj+3spyzj//3+eXzmpnv40L8P8eIPb+AN563i91+whgXTvK7FDaqpDQ708+UfP8TQpp2EY/z5SJKmZ8BJqVeTgLNhaAt/+eXb+d7d2+lfWOc9v/J0XvW8E5lfq8zofaqVMq87dxW/ctqx/PVXI/+w4U7+5db7edcvn8JFzz72gB2I1gbVK848Yc6+p7xY17xtw/qhzQYcSdJBOWSc0go4H/6PYX7+8G7+9KWncv3bf4E3nrdqxuEmbfmCOpf92rP4l0vPZeXiebz1cz/k5X//HX7ywNQXrXvg0WSDyg7Ok61cPJ+Boxe4Li5JmhE7OCnhmEW8+NRjOG/Ncn79jOOpV2cfaqby7BOWcO3vnMs/f//nXPbVyK9eeQMXn3USb/ulAZYcUdvzvNYtGop+D6oDGRzo51M33sPjI+PTniaUJMnfEikL6lU+9prT2/Le5XKJV5x5Ii8+dSV/8x9DfPo7d/Ol/3yAt7/4abz8jBOolEt7N6js4ExpcGAFH7/+Lj5z0z086/gl1KolquUyfZUyfZUSfZUy1UqJWqVMNf1xuUSlXHI4WZIKpGMBJ4RQBj4CnAaMAG+KMW7s1PG7xeIj+viTl57KK848gff960945xd/zGe/ey9/etGpDG/eyYqFdRYf4QbVVM5ctZSF86r85Vd+NuvXlkrQV06CULXy5FDUVy7T1wxMtdZj+zynTF859fz9vlbb732r5b1f3zd4lfZ7ztThLP3aStlgJkmz1ckOzn8B5sUYnx9COBv4EHBRB4/fVU5ZuYjPvfls/vVHD/AXX76dl33kRub3VTj9pKVZl9a16tUKX33rOh54ZDdjE5OMTTQYn5jc+/HkJGPjDcYmJxkbn2R8ssHoxCTjE40nP3+ysd9zkq+PNZ8/Oj7J46MTzefs/dqerzf/3vpaOx0snLWC07ThrBniZhLO+ppdr75KmXIzXDUaT/4e0w81aDz5sX2+3nqs8aTHONj7THHMRurRvY9NXVzjyQ/tqWPq937y8w7w1odV777v2aHve5p6p3pe+glT/Vxm8z7Tft9TfwszrpepntfO73uKeg/052bGf87n6vs+zHpnXM9B/my3PqxXy7z/omewavmRTzpGu3Uy4JwHfBUgxnhTCOGMDh67K5VKJS569nG84JSjufK6Ya664S6ee+KSrMvqasctmc9xS+ZnXcY+Go0G45N7Q9TYPqGqGaKaYWosHchmGc7GWkFsmnA2NjHZVeFMnZc+E1va81hpisfSzyvt+8V9P9zz3FLq0dKTX7LnOPv0HA9WzzTvc6B6W49O/b2mH5v5cfZ/3r6vacP3PcN6963tycfZU88svm+meZ9Dqneq1zafWy6VmOJb6YhOBpxFQHp9aCKEUI0xjnewhq60oF7lnReewu8Mrj6kbS1lq1Qq7el89JqDhbPJRoPpf5kc7n+wD/19pvplcqDjHdZ/sNv5fc/iF/CUx3GuTDqgTgacx4D09GzZcLMvZ2/Uab0cziRpOp38r9q3gV8GaM7g/LiDx5YkSQXSyQ7OtcALQwg3knRbX9/BY0uSpALpWMCJMU4Cl3TqeJIkqbg88S5JknLHgCNJknLHgCNJknLHgCNJknLHgCNJknLHgCNJknLHgCNJknLHgCNJknLHgCNJknLHgCNJknKnk/eiOpgKwEMPPZR1HZIkqQekMkNl/691U8BZCXDxxRdnXYckSeotK4E70g90U8D5HrAWeBCYyLgWSZLU/Sok4eZ7+3+h1Gg0Ol+OJElSGzlkLEmScseAI0mScqebZnDaIoTQB1wFnAzUgQ/EGP8106K6QAhhBfB94IUxxp9lXU/WQgjvBF4K1ICPxBg/kXFJmWr+e/Mpkn9vJoD/VtQ/JyGEs4DLYoznhxBWA58EGsBtwKUxxsks6+u0/X4ezwauJPkzMgK8Nsa4KdMCM5D+maQeexXwezHG52dWWEb2+zOyAvg4sJRkXua1McY7pn2DOVKEDs6rgW0xxrXAhcDfZVxP5pq/vP4e2J11Ld0ghHA+cA5wLjAInJBpQd3hl4FqjPEc4P3An2dcTyZCCG8H/hGY13zocuDdzf+elICLsqotC1P8PP6W5Jf4+cAXgXdkVFpmpviZ0Ax+byT5M1IoU/w8/idwTYxxHfBu4GmdqqUIAeefgfekPh/PqpAu8kHgY8ADWRfSJV4E/Bi4Fvg34EvZltMVhoBqCKEMLALGMq4nK3cAL0t9fjqwvvnxV4ALOl5Rtvb/ebwyxvjD5sdV4InOl5S5fX4mIYRlwF8Bb82somzt/2fkXOD4EMJ/ABcD3+pUIbkPODHGnTHGHSGEhcDnSRJkYYUQXgdsiTF+Letaushy4Azg14FLgGtCCIX7P6/97CQ5PfUzkvbyFZlWk5EY4xfYN9yVYoyt1dMdwOLOV5Wd/X8eMcYHAUII5wC/C/xNRqVlJv0zCSFUgE8Af0Dy56Nwpvh35mRge4zxAuBeOtjly33AAQghnAB8E7g6xvjZrOvJ2BuAF4YQvgU8G/h0COGYbEvK3DbgazHG0RhjJPm/0P6Ma8raH5D8TAaA04BPhRDmHeQ1RZCet1kIPJJVId0ihPAKko7wS2KMW7KuJ2OnA2uAjwL/BDw9hPDhbEvK3DagNff6byT/M9kRRRgyPhr4OvC7McZvZF1P1prnQQFohpxLYoxFvz/GDcBbQgiXk1ww6kiSfymLbDt7/y/sYaCPKS6FXkC3hhDOjzF+i2Sm75sZ15OpEMKrgd8Czo8xPpx1PVmLMd4MnAoQQjgZ+KcYY1FPVbXcQDLTdzWwDvhJpw6c+4ADvItkevs9IYTWLM6FMUYHbAVAjPFLIYR1wM0kXc1LY4xFv5r23wBXhRCuJ9kse1eM8fGMa+oGbwM+HkKoAbeTnPYupObpmCtITjt8MYQAsD7G+L5MC1O3eRvwjyGE3wYeBV7VqQN7JWNJkpQ7hZjBkSRJxWLAkSRJuWPAkSRJuWPAkSRJuWPAkSRJuVOENXFJbRBC+BDJhc2OAY4A7gS2kNy36qUxxvfPwTHOB/4P8FOSG1zOJ7mvzZUzfP0/kdzcb3SGz/1Y8xo3knqcAUfSIYkxvg323P7jaTHG/5768g+nfNGhuS7G+MrmsepADCFcHWM86FWEW6+TVDwGHElzqtl1uSTG+MoQwkbgRpLL119Hcu+m5wExxvia5m1U/oHkzsNPAG+OMf58mrdfCEwA4yGEZ5JcaK5EcuXpNwDPAS4DRpvv+2ckdy8+huQeQX0knaDfjzH+KIRwKfAm4EFgxZz9ECRlzhkcSe10MskNbtcBvw98BDgLOC+EsITkzvZXxBh/ofnxX03xHr8YQvhWCOE64Brg92KMO0luAnppjPF84MvA25vPnxdjXBtjvDr1Hq3jrAPeAnwihLC4+fHZwEUkV2yWlBN2cCS107YY470AIYTHY4w/bX78KEnX5pnAu0II7yDpxEw1K3PdAU41nQJ8pHmLgD5gqPl4PMBzNwDEGH/Y7Bw9DfhJjHGkWdPNh/YtSupGdnAktdPB7gXzM+AdzS7MbzG7eztFkgHi80m6N/+v+fjkFM+9HVgLEEJ4NvAQyVD000MI85v3VXrOLI4tqcvZwZGUpT8CPhpCmEeyIfWWWbz2t4FPN8MJwBuBY6c5zsdDCH9E0u15Y4xxSwjhvSQzQlsAbyYq5Yg325QkSbnjKSpJkpQ7BhxJkpQ7BhxJkpQ7BhxJkpQ7BhxJkpQ7BhxJkpQ7BhxJkpQ7/x/LMSPUlMvF6wAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "#hide_input\n", "plot_pgram(train_X[\"Sales_X\"],1)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " \n", " 4. Rank candidate periods: \n", " \n", " Pearson and Spearman auto-correlations are computed for the transformed data. Significant lags in auto-correlation are matched with those found in the frequency analysis. If multiple peaks are found, the lags are arranged and peak with the highest correlation value is used for seasonality.\n", " \n", " Auto-correlation is the correlation of the time series with its past values. e.g. to calculate the correlation at 1st lag, time series is shifted by 1 observation and correlation is calculated. Process is repeated for many past versions of itself. If auto-correlation is significant at a particular lag value 'k', it shows that the observations from k periods ago affect the time series significantly. You can read more [here](https://otexts.com/fpp2/autocorrelation.html).\n", " \n", " In the ACF plot any value that is outside the blue band shows significant lag. As we can see below, only the lag at k=4 is significant (~0.75). This matches with the observation from periodogram.\n", " \n", " Thus, Power BI can now confirm that this series has seasonality of 4, phew!. I am glad Power BI does all this automatically and fast." ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "#hide_input\n", "plot_acf(train_X[\"Sales_X\"]);" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "##### Notes about seasonality:\n", "\n", "- Power BI recommends not using very long data as higher order lags have less information and can affect Pearson correlation calculation. Pearson correlation shows linear relationship between two variables. If the data is very log, the linear assumption may not remain valid.\n", "- Power BI recommends at least 3-4 seasons worth of data for seasonality detection to work properly. This means for quarterly data >12 values, >36 for monthly, >156 for weekly data \n", "- You can also specify the seasonality manually. **I highly recommend entering the seasonality manually** because I have found that automatic seasonality may not always work as intended. I will show an example below. \n", "\n", "I randomly grabbed a monthly time series from the [M3 competition](https://forecasters.org/resources/time-series-data/m3-competition/) dataset. M3 competition dataset is often used in research as a benchmark for testing various forecasting methods. M3 has 3003 time series of various seasonalities. \n", "For this time series, seasonality = 12 and the goal is to forecast next 12 months. I first created the forecast without specifying the seasonality. As you can see in the clip below, the forecast looks weird and definitely not what you would expect. After specifying seasonality =12, the forecast looks much more reasonable. Reducing the length of the series, as recommended by Power BI, did not help either. Automatic seasonality detection is not as robust as we would like. It's also possible that Power BI's algorithm is thrown off by the sudden peak in year 1985 which could be an outlier. \n", "\n", ">youtube: https://youtu.be/APerQ0i0Z7A" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Forecasting" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "To compare the forecasting accuracy, I created a forecast in Power BI based on first 18 values (training set) and forecasted the last 6 values (validation). To be consistent, I entered 4 as seasonality. Table below shows the actual values, forecast, 95% upper and lower CI. \n", "\n", "![Power BI Forecast](https://raw.githubusercontent.com/pawarbi/blog/master/images/fc1.JPG 'Train/Test: 18/6 Split')" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
SalesforecastValueconfidenceHighBoundconfidenceLowBound
Date
2016-09-30773813.0864.1761.8
2016-12-31592636.1689.4582.9
2017-03-31627725.5797.7653.4
2017-06-30725785.5873.8697.1
2017-09-30854900.71012.3789.1
2017-12-31661702.9797.0608.9
\n", "
" ], "text/plain": [ " Sales forecastValue confidenceHighBound confidenceLowBound\n", "Date \n", "2016-09-30 773 813.0 864.1 761.8\n", "2016-12-31 592 636.1 689.4 582.9\n", "2017-03-31 627 725.5 797.7 653.4\n", "2017-06-30 725 785.5 873.8 697.1\n", "2017-09-30 854 900.7 1012.3 789.1\n", "2017-12-31 661 702.9 797.0 608.9" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#hide_input\n", "pbi_fc1 = pd.read_csv('https://raw.githubusercontent.com/pawarbi/datasets/master/timeseries/pbi_fc1.csv',\n", " parse_dates=True, index_col='Date').iloc[-6:]\n", "\n", "\n", "pbi_fc1[\"Sales\"]=pbi_fc1[\"Sales\"].map(lambda x: x.lstrip('$').rstrip('aAbBcC'))\n", "\n", "pbi_fc1[\"Sales\"]=pbi_fc1[\"Sales\"].astype('int')\n", "\n", "pbi_fc1.round(1)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "##### Forecast Accuracy:\n", "\n", "There are many forecast model accuracy metrics. The two most common are RMSE (Root Mean Square Error) and % MAPE (Mean Absolute Percentage Error). You can read more about it in \"[Evaluation Metric](https://pawarbi.github.io/blog/forecasting/r/python/rpy2/altair/fbprophet/ensemble_forecast/uncertainty/simulation/2020/04/21/timeseries-part2.html#Evaluation-Metric)\" section in Part 2. In general, if the data has no outliers and 0 values, RMSE is a good metric to use. It can be thought of as the avg error in the mean forecast. While there are more robust and scale independent measures that can be used, we will use RMSE for comparing & evaluating the performance. The smaller the RMSE and MAPE the better.\n", "\n", "e.g. for Power BI forecast, \n", "RSME = sqrt (avg[ (773-813)^2 + (592-636.1)^2 + (627-725.5)^2 + (854-900.7)^2 + (661-702)^2)])\n", "\n", "![Error_Metric](https://raw.githubusercontent.com/pawarbi/blog/master/images/emetric.JPG \"RMSE and %MAPE\")" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
%MAPERMSE
08.158.9
\n", "
" ], "text/plain": [ " %MAPE RMSE\n", "0 8.1 58.9" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#hide_input\n", "accuracy(pbi_fc1[\"Sales\"], pbi_fc1[\"forecastValue\"])" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "#hide_input\n", "pbi_fc1.iloc[:,:2].plot();" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "##### Observations:\n", "1. Power BI did an excellent job of capturing the trend and seasonality in the data.\n", "2. Power BI forecast runs parallel to the actual values by almost the same margin, this may indicate some bias in the forecast\n", "3. %MAPE is 8% and RMSE is 59. Thus, Power BI forecast, on average, in +/-8% of actual values or in terms of numbers +/- 59. For comaprison purposes, the standard deviation of the data is 111 so this is a really good forecast. \n", "4. Actual value is outside the CI band in Q1 2017. I will discuss CI little later in the post, first we focus on mean forecasts." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "##### ETS model in Python\n", "\n", "Pyhton (and R) has two implimentations of the exponential smoothing methods. Holt-Winter's (HW) and ETS. ETS has a statistical framework, HW doesnt and HW can be thought of as a subset of ETS. \n", "\n", "For HW in Python, you use `statsmodels.tsa.holtwinters.ExponentialSmoothing()` class and for state space ETS methods you use `statsmodels.tsa.statespace.exponential_smoothing.ExponentialSmoothing()`\n", "\n", "In R, for HW use `hw()` and for ETS use `ets()` from forecast library.\n", "\n", ">note: In general, although the ETS(AAA) model is equivalent to Holt-Winter's additive linear model, and should give same answers, ETS almost always performs better because of how the parameter initialization and optimization works. You should experiment with HW but ETS more than likely will give more accurate results. \n", "\n", "\n", "\n", "\n", "I will create the ETS(AAA) model in Python.\n", "\n", "**ETS(AAA)**" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [], "source": [ "ets1=(sm.tsa.statespace.ExponentialSmoothing( train, #Using training set , first 18 values)\n", " trend=True, #Trend is present\n", " initialization_method= 'concentrated', \n", " seasonal=4, #Quarterly data, seasonality=4\n", " damped_trend=False). #Turn of Damped\n", " fit())\n", "\n", "py_fc1 = ets1.forecast(6) #forecast next 6 values" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "#hide_input\n", "test.plot(label=\"Test\", legend=True)\n", "py_fc1.plot(label=\"Python ETS(AAA)\", legend=True);" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
%MAPERMSE
06.447.0
\n", "
" ], "text/plain": [ " %MAPE RMSE\n", "0 6.4 47.0" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#hide_input\n", "accuracy(test[\"Sales\"],ets1.forecast(6))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "##### Observations:\n", "1. ETS(AAA) forecast created in Python tracks the actual values much more closely\n", "2. RMSE is 47, smaller than Power BI (58.9). Avg MAPE also better by 2.4 pct (6.4% vs. 8%)\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "One of the observations I noted earlier was that the trend looks more exponential than linear. The 'additive' trend component can only capture the linear trends and hence not suitable in this case. The more accurate model would be ETS(MAM). Also, if you closely look at the first plot (top of the page) where I plotted the data with 4Q rolling mean, you can clearly see that the orange line is levelling off towards the end. So we not only have an exponential trend it is slowing at the end.\n", "\n", "We can make the exponential trend linear by taking a 'log' of the observations and setting `damped_trend=True`. New model is ETS(A,Ad,A)\n", "\n", "**ETS(A,Ad,A)**" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [], "source": [ "ets_model=sm.tsa.statespace.ExponentialSmoothing(np.log(train),\n", " trend=True, \n", " initialization_method= 'heuristic', \n", " seasonal=4, \n", " damped_trend=True).fit()\n", "\n", "py_fc2 = ets_model.get_forecast(6)\n", "\n", "results_df=(py_fc2.summary_frame(\n", " alpha=0.05).apply(\n", " np.exp)[[\"mean\",\"mean_ci_lower\",\"mean_ci_upper\"]])\n" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "#hide_input\n", "test.plot(label=\"Test\", legend=True)\n", "results_df[\"mean\"].plot(label=\"Python ETS(A,Ad,A)\", legend=True);" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
%MAPERMSE
05.140.9
\n", "
" ], "text/plain": [ " %MAPE RMSE\n", "0 5.1 40.9" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#hide_input\n", "accuracy(test[\"Sales\"],results_df[\"mean\"])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "##### Observations:\n", "1. ETS(A,Ad,A) matches the actual values even better than the earlier ETS(AAA) model\n", "2. RMSE (40.9) and %MAPE (5%) are better than the ETS(AAA) and Power BI forecast. " ] }, { "cell_type": "code", "execution_count": 41, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAdsAAAFdCAYAAABLk8fxAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjMsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+AADFEAAAYM0lEQVR4nO3de3BV9b2w8ScJEEBQQbCoLQep8oujVlsOVrwyDSIgF0eGVg+lFnDE1nYOVKeVgm/pCClYpb69iBdexSLQAge0CtQWasVSAVs1L1RZKNZp0SBvD6IiopDk/SOXE66JMV9C4vOZYWbvtfde+7vzh49r7bXXyikvL0eSJMXJbewBJElq7oytJEnBjK0kScGMrSRJwYytJEnBWkSsNKWUD/QCSoDSiPeQJOkokgecBDybZdkH+z8YElsqQvt00LolSTpaXQz8af+FUbEtAZg7dy5dunQJegtJko4OW7duZcSIEVDZv/1FxbYUoEuXLnz6058OegtJko46B/3q1AOkJEkKZmwlSQpmbCVJClan72xTShOAIUAr4G7gKWA2UA5sAG7MsqwsaEZJkpq0WrdsU0p9gAuAC4FLgc8AM4BJWZZdDOQAQwNnlCSpSavLbuTLgfXAEuAx4HGgJxVbtwDLgb4h00mS1AzUZTdyJ+DfgEHAqcBvgNwsy6ouhPsucFzMeJLU/HW7ZWmDru+1aVfU+py1a9cybtw4TjvtNAA++OADBg8ezMiRIxt0lipf+tKXOOmkk8jJyWHXrl0MGzaMESNGsGXLFr7zne+wYMGCkPc9WtQltv8NbMyy7EMgSyntpmJXcpX2wI6I4SRJcc4//3x+8pOfAPDhhx/Sv39/hg4dyrHHHhvyfg888AD5+fl8+OGHDBw4kP79+4e8z9GoLruR/wT0TynlpJROBo4BVlZ+lwswAE/NKElN2s6dO8nNzWXTpk1cc801fPWrX2XMmDG88cYbTJ06ld/+9rcAjBkzhtmzZwMwceJEnnvuOdatW1f9mgkTJrBnzx4WL17MiBEjuOaaa3jmmWf2ea/du3eTn59P+/btj/THbDS1btlmWfZ4SukSYB0Vcb4R+Dtwf0qpFfASsCh0SklSg1uzZg0jR44kJyeHli1bcuutt1JUVMTUqVM544wzWLFiBdOmTWPkyJEsWbKEPn368M477/DnP/+Za6+9lhdffJEpU6bQv39/5s2bxwknnMBdd93FkiVLaNGiBcceeywzZ86sfr/Ro0eTk5PDq6++St++fWnZsmUjfvojq04//cmy7LsHWXxpA88iSTqCau5GrjJx4kTOOOMMAHr16sWdd95Jz549mTp1KmvXrqVfv3488cQT/OUvf+Hcc89l+/btbNu2jXHjxgEVW60XXnghXbt25dRTT91n3TV3I19//fX85je/oWfPnkfmwzayqHMjS5KaoBNPPJGNGzdSUFDAs88+S7du3cjNzeWss85i1qxZfP/73+df//oXP/7xjxk/fjwdOnSgS5cu3H333bRv356VK1fStm1bSkpKyM09+DeVrVq14oQTTmDPnj1H+NM1HmOrAzT0kZHNWV2O+pSakilTpnDbbbdRXl5OXl4eRUVFAFx22WVMmDCBgoICLrroIh555BF69epFbm4uEydO5Prrr6e8vJxjjjmG22+/nZKSAy9+M3r0aHJzcykrK6NLly4MGTKEbdu2HemP2ChyysvLa3/WR5RS6gb8feXKlV71pwkytnVnbCUBbNmyhcLCQoBTsyx7bf/HPTeyJEnBjK0kScGMrSRJwYytJEnBjK0kScGMrSRJwfydrSQ1tskNfOG0yW/X+pT9r/qzv5deeolu3brRpk0bhgwZwuDBg5k8eTLbtm0jJyeHdu3aMXnyZDp06ABU/D73uuuuo0uXLgDccMMNANxzzz37rPfNN9+kX79+TJs2jQEDBuzz2H333ccvf/lLVq5cSX5+PgDz58+nW7du9O7d+6P9DY4yxlaSPqEOdrrGKiNHjmTy5Ml89rOfBWDu3Ll06tSJadOmATB79mx+8YtfMGnSJF544QVatGhRHdqSkhJ27drFnj17+Oc//8lnPvM/F4pbvHgxX/va15g3b94BsX3ssccYOHAgS5cu5aqrrgJg+PDhjBo1ivPOO4+8vLwG/xscKe5GliTV6pRTTmH16tX84Q9/YOfOnYwcOZJbbrkFgDlz5jBo0KDq5y5atIjCwkKuvPJK5s2bV728vLycRx99lFGjRrFnzx42bdpU/djatWvp2rUrV199NXPnzq1e3qJFC84880z++Mc/xn/IQMZWkj6hqq76U/Vv1qxZh3xunz59+MY3vlEd0q9//ets3rwZgHXr1tGjRw8AysrKePzxxxk6dChXXHEFy5YtY/fu3QA888wz9OjRg44dOzJs2LB9orpw4UKGDx9O9+7dadWqFcXFxdWPpZRYt25dxJ/giHE3siR9Qh1uN/L+nn/+eXr37k2/fv0oLS3l0UcfZcKECSxevJiysjJatWoFwNNPP817773HTTfdBFTE97HHHmP48OEsWLCALVu2MGbMGPbs2cPGjRu5+eabKSsrY9WqVWzfvp05c+awc+dOHn74Yc455xwAOnfuzJo1a2L+CEeIsZUk1Wrp0qUcc8wxjB8/nry8PFJK1YHNz8+ntLSUvLw8Fi1axJQpU+jTpw8Af/3rX5kyZQqFhYUUFxezYsWK6u9eJ02axJIlS8jJyWHYsGF873vfA+D999+nsLCQ7du307FjR9555x06duzYKJ+7oRhbSfqEqtqNXNP9999P69atD3juuHHjuO222xg6dCht2rShbdu2TJ06FYAvfOEL/O1vf+OUU06huLh4n63lnj178sEHH7BgwQL69eu3z0FOX/7yl/nud79Lq1atuP3226uXt2nThn79+rFgwQJuuOEGiouLufDCCxv64x9RXvVHB/CqP3XnVX+kil3MS5cuZdKkSQ2+7r179zJq1Chmz559VB+N7FV/JEmhPv/5z1NaWsrWrVsbfN2//vWvGTt27FEd2rpwN7Ik6WP7wQ9+ELLeESNGhKz3SHPLVpKkYMZWkqRgxlaSpGDGVpKkYB4gJUmN7OyHzm7Q9a2/dn2tz1m7di2/+tWv6nwGqcPZsmULQ4YM4cwzz9xn+ezZsxk9ejRlZWW8+uqrdOzYkeOPP54LLriAsWPHMn36dDZt2kRubi4tW7Zk4sSJ1RctuOeee7jooos466yzgIoDsIqLi3nkkUcOOUdxcTEjRoxg3rx5fO5znzvg8c2bNzN58mTmzJlTp9dmWcbvf/97vvWtb9X7b1PF2EqSPrbTTjvtoBF76KGHALjlllsYOHAgl1xyCQBPPfUU27Zt48EHHwRgxYoVFBUVMXPmTEpKSti0aVP1Zfref/99nnvuOXr06MHatWv54he/eNAZFi5cyKhRow4Z28M52GtTSsyaNYt//OMfdO3a9SOtb3/GVpIEwOrVq7nrrrvIz8/n+OOPp6ioiPbt2/PDH/6QDRs20KlTJ15//XVmzpz5sU9Y1KVLFzZs2MCyZcs4//zzKSwsrA7x/Pnzufzyy6ufu3z5cnr37s0ll1zC3LlzDxrb9957jzVr1rB06VIGDx5cfarHbdu2cfPNN1NeXk7nzp0POsuhXgswYMAA5s6dy4QJEz7W5/U7W0kS5eXl3Hrrrfz85z/n4YcfplevXsycOZOVK1eyY8cOFi1aRFFRESUlJQd9/SuvvLLPFYSqrnt7KCklbrvtNlasWMGgQYMYNmwYL7zwAlBxFaGUUvVzq64IdMEFF/Diiy/y5ptvHrC+ZcuWcdlll5Gfn8+AAQNYtGgRAA8++CCDBg1izpw59O3b96CzHOq1VXM2xBWH3LKVJPHWW2/Rrl07PvWpTwHQq1cvZsyYQYcOHTj33HMB6NixI927dwdg7Nix7Nq1ix49ejBq1KhD7kY+lI0bN3LqqacyY8YMysvLWb16NePGjWP16tW89dZbdOrUCaj4nvXll1+ujndOTg7z589n3Lhx+6xv4cKF5OXlMWbMGHbv3s3WrVu57rrrePnllxk6dChQcQ7n+fPnHzDLoV6bm5tL586d2bFjx0f8ax7I2EqS6NChAzt37mTbtm2ceOKJrFu3jm7dunH66afz6KOPAvD222/z2muvAXDvvfdWv3bLli0f+f2eeeYZNm7cSFFREXl5eZx++um0adOGnJyc6iv9tGvXjoULFzJ+/PjqM0m98cYbfOUrX+Gb3/xm9VWHsiyjtLSUBQsWVK9/1KhRPPnkk3Tv3p3nn3+egoIC1q8/8MCxw722sLCwwa44ZGwl6RNq9erVXHXVVdX3x44dy7e//W1ycnI47rjj+NGPfkSHDh1YtWoVV199NZ06daJ169a0bNnygHVV7UauqaioqPro4v2NHDmS6dOnc+WVV9KuXTtyc3Orr/xz3nnnUVxcTKdOnVi6dGl17AFOPvlkCgoKeOKJJygpKaGgoIBVq1ZVb71WGT58OHPnzuVnP/sZ48ePZ9myZft8z3zffffV+tqqywL27t27jn/RQ/OqPzqAV/2pO6/6o+Zu8+bNbNy4kSuuuIK33nqLQYMG8eSTT1ZvVUZ4/fXXmT59Oj/96U8P+7yVK1fStm3besWwrq+96aabGDdu3CH/p6FKbVf9cctWknRIJ510EnfccQcPPfQQpaWl3HzzzaGhBTjllFNIKbF+/XrOPvvQv0E+44wzOPnkk+v1HnV57caNG+natWutoa0LYytJOqS2bdsyc+bMI/6+N954Y63PqW9o6/ragoICCgoK6v0eNfnTH0mSghlbSZKCGVtJkoIZW0mSghlbSZKCGVtJkoIZW0mSghlbSZKCGVtJkoIZW0mSghlbSZKCGVtJkoLV6UIEKaXngbcr7/4duBf438Be4HdZlv0wZjxJkpq+WmObUmoNkGVZnxrLXgCGAa8CS1NKX8iy7LmoISVJasrqsmV7DtA2pfS7yudPBvKzLNsMkFJ6AigEjK0kSQdRl9juAu4AZgGnA8uBHTUefxfo3vCjSZLUPNQltpuAV7IsKwc2pZTeBjrWeLw9+8ZXkiTVUJejkUcDdwKklE4G2gLvpZQ+m1LKAS4Hno4bUZKkpq0uW7b/B5idUvoTUE5FfMuAuUAeFUcjr40bUZKkpq3W2GZZ9iHwHwd56PyGH0eSpObHk1pIkhTM2EqSFMzYSpIUzNhKkhTM2EqSFMzYSpIUzNhKkhTM2EqSFMzYSpIUzNhKkhTM2EqSFKwuFyKQdCiTj2vsCZqGyW839gRSo3LLVpKkYMZWkqRgxlaSpGDGVpKkYMZWkqRgxlaSpGDGVpKkYMZWkqRgxlaSpGDGVpKkYMZWkqRgxlaSpGDGVpKkYMZWkqRgxlaSpGDGVpKkYMZWkqRgxlaSpGDGVpKkYMZWkqRgxlaSpGDGVpKkYMZWkqRgxlaSpGDGVpKkYMZWkqRgxlaSpGDGVpKkYMZWkqRgxlaSpGDGVpKkYC0aewBJzd/ZD53d2CM0GeuvXd/YIyiAW7aSJAWr05ZtSulE4K/AZcBeYDZQDmwAbsyyrCxqQEmSmrpat2xTSi2Be4H3KxfNACZlWXYxkAMMjRtPkqSmry67ke8A7gHeqLzfE3iq8vZyoG/AXJIkNRuHjW1K6evA/8uy7Ikai3OyLCuvvP0ucFzQbJIkNQu1fWc7GihPKfUFzgV+CZxY4/H2wI6g2SRJahYOu2WbZdklWZZdmmVZH+AF4GvA8pRSn8qnDACeDp1QkqQmrj6/s70JuD+l1Ap4CVjUsCNJktS81Dm2lVu3VS5t+FEkSWqePKmFJEnBjK0kScGMrSRJwYytJEnBjK0kScGMrSRJwYytJEnBjK0kScGMrSRJwYytJEnBjK0kScGMrSRJwYytJEnBjK0kScGMrSRJwYytJEnBjK0kScGMrSRJwYytJEnBjK0kScGMrSRJwYytJEnBjK0kScGMrSRJwYytJEnBjK0kScGMrSRJwYytJEnBjK0kScGMrSRJwYytJEnBjK0kScGMrSRJwYytJEnBjK0kScGMrSRJwYytJEnBjK0kScGMrSRJwYytJEnBjK0kScGMrSRJwYytJEnBjK0kScGMrSRJwVrU9oSUUh5wP5CAUmAUkAPMBsqBDcCNWZaVxY0pSVLTVZct28EAWZZdCPwvYEblv0lZll1MRXiHhk0oSVITV2tssyx7BLi+8u6/AW8CPYGnKpctB/qGTCdJUjNQp+9ssyzbm1J6CPgZsAjIybKsvPLhd4HjguaTJKnJq/MBUlmWXQv0oOL72zY1HmoP7GjguSRJajZqjW1KaWRKaULl3V1AGfCXlFKfymUDgKdjxpMkqemr9WhkYDHwYEppFdASGAe8BNyfUmpVeXtR3IiSJDVttcY2y7L3gC8f5KFLG34cSZKaH09qIUlSMGMrSVIwYytJUjBjK0lSMGMrSVIwYytJUjBjK0lSMGMrSVIwYytJUjBjK0lSMGMrSVIwYytJUjBjK0lSMGMrSVIwYytJUjBjK0lSMGMrSVIwYytJUjBjK0lSMGMrSVIwYytJUjBjK0lSMGMrSVIwYytJUjBjK0lSMGMrSVIwYytJUjBjK0lSMGMrSVIwYytJUjBjK0lSMGMrSVIwYytJUjBjK0lSMGMrSVIwYytJUjBjK0lSMGMrSVIwYytJUjBjK0lSMGMrSVIwYytJUjBjK0lSMGMrSVKwFod7MKXUEngA6AbkA1OAF4HZQDmwAbgxy7Ky0CklSWrCatuy/Srw31mWXQwMAH4OzAAmVS7LAYbGjihJUtNWW2wXArfWuL8X6Ak8VXl/OdA3YC5JkpqNw+5GzrJsJ0BKqT2wCJgE3JFlWXnlU94FjgudUJKkJq7WA6RSSp8BngTmZFk2D6j5/Wx7YEfQbJIkNQuHjW1K6VPA74DvZVn2QOXi51NKfSpvDwCejhtPkqSm77C7kYHvAx2AW1NKVd/d/ifw05RSK+AlKnYvS5KkQ6jtO9v/pCKu+7s0ZhxJkpofT2ohSVIwYytJUjBjK0lSMGMrSVIwYytJUjBjK0lSMGMrSVIwYytJUjBjK0lSMGMrSVIwYytJUjBjK0lSMGMrSVIwYytJUjBjK0lSMGMrSVIwYytJUjBjK0lSMGMrSVIwYytJUjBjK0lSMGMrSVIwYytJUjBjK0lSMGMrSVIwYytJUjBjK0lSMGMrSVIwYytJUjBjK0lSMGMrSVIwYytJUjBjK0lSMGMrSVIwYytJUjBjK0lSMGMrSVIwYytJUjBjK0lSMGMrSVIwYytJUjBjK0lSMGMrSVIwYytJUjBjK0lSsBZ1eVJK6YvA9CzL+qSUTgNmA+XABuDGLMvK4kaUJKlpq3XLNqX0XWAW0Lpy0QxgUpZlFwM5wNC48SRJavrqsht5M3BVjfs9gacqby8H+jb0UJIkNSe1xjbLsv8C9tRYlJNlWXnl7XeB4yIGkySpuajPAVI1v59tD+xooFkkSWqW6hPb51NKfSpvDwCebrhxJElqfup0NPJ+bgLuTym1Al4CFjXsSJIkNS91im2WZa8B51fe3gRcGjiTJEnNiie1kCQpmLGVJCmYsZUkKZixlSQpmLGVJCmYsZUkKZixlSQpmLGVJCmYsZUkKZixlSQpmLGVJCmYsZUkKZixlSQpmLGVJCmYsZUkKZixlSQpmLGVJCmYsZUkKZixlSQpmLGVJCmYsZUkKZixlSQpmLGVJCmYsZUkKZixlSQpmLGVJCmYsZUkKZixlSQpmLGVJCmYsZUkKZixlSQpmLGVJCmYsZUkKZixlSQpmLGVJCmYsZUkKZixlSQpmLGVJCmYsZUkKZixlSQpmLGVJCmYsZUkKZixlSQpmLGVJCmYsZUkKViL+rwopZQL3A2cA3wAXJdl2SsNOZgkSc1FfbdsrwRaZ1nWG7gFuLPhRpIkqXmp15YtcBHwW4Asy9aklP59v8fzALZu3foxRlOjeW97Y0/QZGzZm9fYIzQJ5TvKG3uEJmPLli2NPYLqoUbvDvofhfrG9ljg7Rr3S1NKLbIs21t5/ySAESNG1HP1akz5jT1AE1JI58YeoYnY09gDNBmFdxc29gj6eE4CNu+/sL6xfQdoX+N+bo3QAjwLXAyUAKX1fA9JkpqKPCpC++zBHqxvbFcDg4EFKaXzgfU1H8yy7APgT/VctyRJTdEBW7RV6hvbJcBlKaU/AznAqHquR5KkZi+nvNwDF6TmIKWUm2VZWWPPIelAxlZqwlJK3YEZwL8De6n4Od96YHyWZZsaczZJ/6O+u5ElHR1mAROyLFtbtaDyOIoHgQsbbSpJ+/B0jVLT1rpmaKHit++NNYykg3PLVmrailNKD1Bxkpm3qfhJ3kDg/zbqVJL2YWylpu2bVJw+9SIqTjbzDvA4Fb8YkHSU8AApSZKC+Z2tJEnBjK0kScGMrSRJwYytJEnBjK0kScH+PxtqANxzFE8tAAAAAElFTkSuQmCC\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "#hide_input\n", "_res = pd.DataFrame({'PowerBI': 58.9, \"ETS(AAA)\": 47, \"Log-ETS(A,Ad,A)\": 40.9}, index=[0])\n", "_res.plot.bar();" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "##### Recommendations\n", "\n", "The main-take away from the above exercise is that Power BI can create fairly accurate forecasts but has limitations:\n", "1. The trend and seasonal components have to be linear. If you have exponential and/or damped trend, you may not get accurate results\n", "2. Automatic detection of seasonality can be spotty. It's best to manually enter the seasoanlity in the Forecast dialog box in Power BI\n", "3. Power BI uses two ETS models (AAN) and (AAA). It chooses the method based on its own algorithm.\n", "4. ETS method has its own limitations. While it can be more robust to outliers compared to ARIMA, location of the outlier (close to the end of the series vs earlier) can throw off the forecast. Power BI detects outliers by monitoring local trend and automatically adjusting forecast accordingly.\n", "5. ETS cannot be used for high frequency time series such as daily, sub-daily (minute, hourly) data. In fact, weekly data is also pushing the envelope a little bit. The reason for that is in high-frequency data such as weekly you may have multiple seasonalities. For example, if you have weekly sales data, it's possible that sales may be higher closer to month end ('week of the month'), plus some months may have higher sales than other ('month of year' seasonality). We cannot enter mutiple seasonality values. Thus **do not use Power BI forecast for anything other than monthly, quarterly, semi-annual, yearly data**, you can use weekly data but with caution. If you have high frequency data you will need to try TBATS, deep-learning, Facebook Prophet models (see part 2). If you do use Power BI forecast for high-frequency data, it will likley use the (AAN) model and give you a straight line with a trend. \n", "6. Use data with at least 3-4 full seasonal cycles. That translates to >36 for monthly, 12 for quarterly data.\n", "7. Do not use too much data. While Power BI doesn't mention what's too much, I would recommend using only the relevant 5 cycle data if available. \n", "8. Power BI does not provide model evaluation metric. You can 'estimate' the model accuracy by the method described above. Let's say your forecast horizon is 12 months. Enter 12 in the 'Ignore Last' and create a forecast for 12 months. Use the RSME & %MAPE to evaluate the forecast accuracy. While it doesn't guarantee true forecast accuracy, it at least gives you an estimation. If you don't have enough data, use the Cross-Validation approach I described in [Part 2](https://pawarbi.github.io/blog/forecasting/r/python/rpy2/altair/fbprophet/ensemble_forecast/uncertainty/simulation/2020/04/21/timeseries-part2.html#Cross-Validation)\n", "9. Power BI imputes missing values by linear iterpolation. If your data has non-linear trend, too many missing values (>40%), missing values close to the end of the time series, it's better to clean up the data yourself than letting Power BI do it automatically. \n", "10. If your data has many 0's (no sales, no production etc) which is usually the case for new products or slow moving products (i.e intermittent demand), do not use Power BI forecast. ETS should not be used for intermittent time series. Croston's method, deep-learning models can be used in that case. \n", "11. ETS cannot use additional variables (exogenous variables) to improve the forecast. For example, if you sell more products when it's sunny, warm outside, on weekends, holidays, sport events etc. If the time series has high correlation with such events, you can include them in the forecast model for better accuracy. SARIMAX, deep-learning, gradient boosting models can be used for that. AutoML in Azure ML has built in holiday calendar and can include all these variables in the forecast. \n", "12. An important and essential part of any statistical/machine learning model is model diagnostics. We want to make sure the model is valid, accurate, doesn't overfit and has extracted all the information from the available data. It is usually done by residual diagnsotics. Power BI doesn't provide any model diagnostics or parameter values etc. I am going to skip that part here but you can read more in Part 2.\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Forecast Uncertainty, Confidence Interval or Prediction Interval\n", "\n", "The forecast we obtain in Power BI is the mean forecast. Time series is a statistical process and thus has probability distribution. When we create a forecast, we are estimating the mean of that forecast distribution, i.e 50% probability values. What about the other percentiles? \n", "\n", "Power BI lets you choose the **Confidence Interval (CI)**. You can choose from 75%, 80%, 85%, 95%, 99%. The 2014 blog talks about using confidence interval for assessing forecast accuracy. \n", "\n", "*'...The shaded area shows you the range of predicted values at different confidence levels...'*\n", "\n", "I think Power BI is calculating the **Prediction Interval (PI)** based on above description and not CI. You are actually choosing the confidence values for the PI. Let me explain the difference between the two and why it is important. \n", "\n", "\n", "When you calculate CI, you are creating a confidence interval around the **mean forecast**. For example, the first mean forecast above is 813, upper bound is 864 and lower bound is 762. If it is CI, it does not mean the forecast will be between 864 and 762, 95% of the time. What it means is that based on the optimized parameters used in the model, limited sample size etc., **the mean** will be between 864 and 761. It's the error in estimating the mean.\n", "It's true that the band gives you an estimation of the range of mean values but it's not the range of the **predicted values** if it is CI. Prediction intervals (PI) are wider than CI. CI's are used to estimate error in a parameter of the population , e.g. mean, median, percentile, even PI values. It's not a range of predicted values. \n", "\n", "I will give you an example, let' say you work in an office where 1000 people work and you are asked what's the average work experience in years for the company. You go and ask 25 people about their years of experience, take an average and come up with 12.5 and standard dev of 2.3. Because you only asked 25 people, you know there is an error. You can [estimate that error](https://www.mathsisfun.com/data/confidence-interval-calculator.html) using CI and it is [11.6, 13.4] at 95%. This means the \"mean\" will be between 11.6 and 13.4 95% of the time but the actual **\"range\"** of experience would be far greater depending on the distribution. You might have people with 1 month experience to 30+ years experience, that's PI. Note that PI can be close to CI but not always. CI doesn't take model uncertainty into account and has little to no value in practical forecasting.\n", "\n", "![CI](https://raw.githubusercontent.com/pawarbi/blog/master/images/ci.JPG \"Confidence Interval\")\n", "\n", "Based on the 1 line description in the blog and the tests I have done, I think Power BI is calculating the PI, at least I hope so. This is why Power BI should release more documentation on this topic.\n", "\n", "**How is PI calculated?**\n", "\n", "[Hyndman](https://otexts.com/fpp2/ets-forecasting.html) has provided calculations for estimating the PI. It assumes the residuals are normal, which may not always be the case. Simulations can be used for better results as it doesn't assume distribution of the residuals. I [calculated the PI](https://pawarbi.github.io/blog/forecasting/r/python/rpy2/altair/fbprophet/ensemble_forecast/uncertainty/simulation/2020/04/21/timeseries-part2.html#Confidence-Interval-vs.-Prediction-Interval) using simulation in Part 2 as [923, 691] which is slightly wider than the CI from Power BI [864,762].\n", "\n", "Also note that the PI & CI grow with the forecast horizon. The farther you are into the future, the more uncertainty you have in the estimates.\n", "\n", "Below I calculated the PI using R. As you can see they are slightly wider than Power BI's range but close. " ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [], "source": [ "\n", "%%R -i train -o fets\n", "\n", "library(fpp2)\n", "\n", "r_train <- ts(train$Sales, start=c(2012,01), frequency=4)\n", "\n", "fets <- r_train %>% ets() %>% forecast(h=6, simulate=TRUE, level= 95) %>% summary()" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Point ForecastLo 95Hi 95
0799.7733.7863.9
1631.1563.9702.3
2724.0635.9821.3
3771.0665.4883.7
4878.5745.61023.9
5691.8578.6817.8
\n", "
" ], "text/plain": [ " Point Forecast Lo 95 Hi 95\n", "0 799.7 733.7 863.9\n", "1 631.1 563.9 702.3\n", "2 724.0 635.9 821.3\n", "3 771.0 665.4 883.7\n", "4 878.5 745.6 1023.9\n", "5 691.8 578.6 817.8" ] }, "execution_count": 19, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#hide_input\n", "\n", "fets.round(1)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Implementation in Power BI with Python\n", "\n", "Power BI created a reasonable forecast but it can be improved. If you want to further improve this forecast, you can use the \"Ensemble Forecast\" discussed in Part 2. \n", "\n", "Perhaps the biggest limitation of forecasting in Power BI is not being able to access the forecast values for further calculations or reporting. It doesn't even show the forecast on the line chart.\n", "\n", "We can use this Python code in Power BI for forecasting. Watch the video below. I [have uploaded this Power BI](https://github.com/pawarbi/datasets/blob/master/powerbi_forecast.pbix) file to my Github for your reference.\n", "\n", "You need statsmodels, numpy, pandas libraries installed.\n" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "ename": "NameError", "evalue": "name 'dataset' is not defined", "output_type": "error", "traceback": [ "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[1;31mNameError\u001b[0m Traceback (most recent call last)", "\u001b[1;32m\u001b[0m in \u001b[0;36m\u001b[1;34m\u001b[0m\n\u001b[0;32m 8\u001b[0m \u001b[0mh\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;36m4\u001b[0m \u001b[1;31m#forecast horizon\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 9\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 10\u001b[1;33m \u001b[0mmodel\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mExponentialSmoothing\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mnp\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mlog\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mdataset\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;34m\"Sales\"\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m,\u001b[0m\u001b[0mtrend\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;32mTrue\u001b[0m\u001b[1;33m,\u001b[0m\u001b[0minitialization_method\u001b[0m\u001b[1;33m=\u001b[0m \u001b[1;34m'heuristic'\u001b[0m\u001b[1;33m,\u001b[0m\u001b[0mseasonal\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;36m4\u001b[0m\u001b[1;33m,\u001b[0m\u001b[0mdamped_trend\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;32mTrue\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mfit\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 11\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 12\u001b[0m \u001b[0mfc\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mnp\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mexp\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mmodel\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mpredict\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;36m0\u001b[0m\u001b[1;33m,\u001b[0m\u001b[0mlen\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mdataset\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m+\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mh\u001b[0m\u001b[1;33m-\u001b[0m\u001b[1;36m1\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", "\u001b[1;31mNameError\u001b[0m: name 'dataset' is not defined" ] } ], "source": [ "#hide_output\n", "# 'dataset' holds the input data for this script\n", "\n", "import numpy as np\n", "\n", "from statsmodels.tsa.statespace.exponential_smoothing import ExponentialSmoothing\n", "\n", "h = 4 #forecast horizon\n", "\n", "model=ExponentialSmoothing(np.log(dataset[\"Sales\"]),trend=True,initialization_method= 'heuristic',seasonal=4,damped_trend=True).fit()\n", "\n", "fc=np.exp(model.predict(0,len(dataset)+(h-1)))\n", "\n", "dates=pandas.date_range(start='2012-03-31', periods= len(dataset)+h , freq='Q')\n", "\n", "df=pandas.DataFrame({'dates':dates,'Actual':dataset[\"Sales\"],'Forecast':fc}) " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We are using the same Python model we used earlier but we have to create a new dataframe for the additional values created by the forecast. Note that in this case, I am also obtaining the fittedvalues to inspect the fit over the data. If you only care about the forecast, change the code to `model.forecast(4)`\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "DAX for extracting forecast Sales" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/html": [ "Forecast_Sales =
CALCULATE ( VALUES ( forecast[Forecast] ), forecast[type] == \"Forecast\" )
\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "%%html\n", "Forecast_Sales =
CALCULATE ( VALUES ( forecast[Forecast] ), forecast[type] == \"Forecast\" )
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ ">note: If you have not installed or used Python in Power BI before, read the [documentation first](https://docs.microsoft.com/en-us/power-bi/desktop-python-scripts). Also read these [performance tips](https://dataveld.com/2018/11/10/5-performance-tips-for-r-and-python-scripts-in-power-bi/) by [David Eldersveld](https://twitter.com/dataveld)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ ">tip: I recommend creating virtual environments and using (e.g. pynenv) for Power BI specific virtual environment" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ ">youtube: https://youtu.be/mSqkXO2LJH4" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "##### Python in Power BI Limitations:\n", "1. If you are not familiar with Python or don't have access to Python at work, this obvisouly won't work for you\n", "2. For Python scripts to work properly in *Power BI service*, all data sources need to be set to \"Public\". That's a BIG NO.\n", "3. If you use Pyhon script in Power Query, you have to use a personal gateway. That may not be a problem but if you are using dataflow in your report, this solution won't work as dataflow needs Enterprise Gateway\n", "4. Python script cannot be used on merged queries, you will get an error. You can merge after the Python script but not before.\n", "5. The `exponential_smoothing()` can resturn confidence interval (see Part 2) but as we discussed above, it's of no practical use. It does not calculate prediction interval. We can use simulation to get prediction interval but it takes few minutes so can't practially be used as a Python script in Power BI. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Using R in Power BI" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "[Leila Etaati](https://twitter.com/leila_etaati) has covered [forecasting using R](https://radacad.com/new-series-of-time-series-part-3-holts-exponential-smoothing) in great details, so I won't cover it here. But personally I find the `forecast()`, `fpp2()`, `fable()` libraries in R to be much faster, easier to work with and they do return prediction interval. Plus, unlike Python,`ets()` can be used for \"multiplicative\" models." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Using Excel\n", "\n", " Excel has `FORECAST.ETS()` formula which uses ETS(AAA) method to create the forecast, just like Power BI. Power BI could be using the same algorithm under the hood because the options and results are very identical. Forecast Sheet under \"Data\" can be used for creating forecast with a UI. You can import this excel in Power BI and create a line chart almost exactly same as Power BI.\n", " \n", "ETS can't be used for high-frequency data anyway so you would only need to update the Excel sheet once a month, quarter, year etc. so it shouldn't be a big problem. You can also use Power Automate to refresh the Excel on a schedule. \n", " \n", " If you are ok with the limitations of ETS(AAA) model discussed above or find that ETS(AAA) can produce accurate results for your data, I think this is the easiest method to show forecast in Power BI. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ ">youtube: https://youtu.be/xptayIU4FeY" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Other Options" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**SQL**: If you are using SQL as a datasource, you can use RevoScalePy/RevoScaleR in SQL to serve any machine learning model including forecasting \n", "\n", "**KNIME**: [KNIME](https://www.knime.com/) is an open-source tool used for productionizing data science projects. It's free, easy to use, can be used for ETL and the best part is that it has a Power BI integration. You can create a forecasting model (it's own ETS, ARIMA nodes or R/Python) and push the results to Power BI. If you need a more complex model, this is a great option. I will cover this in a future blog post. \n", "\n", "**Azure ML**: Azure ML Service has a direct integration with Power BI. You can create the model in Azure Notebook, Designer or AutoML. You can see an example [here](https://docs.microsoft.com/en-us/azure/machine-learning/how-to-auto-train-forecast). In the next blog I will cover this in more detail. \n", "\n", "**Custom Visuals**: There are some [custom visuals](https://appsource.microsoft.com/en-us/marketplace/apps?product=power-bi-visuals&page=1&category=time) in the Apps gallery but I generally never use custom visuals for data privacy and dependency reasons." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Summary " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "1. It's easy to create a forecast in Power BI but it is severely limited\n", "2. You cannot show the forecasted values on the line chart\n", "3. You do not know what preprocessing Power BI may have applied to the data (imputation, outlier removal etc.)\n", "4. You cannot plot multiple columns or use second Y axis when Forecast is used\n", "5. You cannot use the 'Legend' in the line chart with Forecast. Only works in Line Chart and not in 'Line & Stacked column chart'\n", "6. You cannot extract the forecasted values for use in measures or calculated columns\n", "7. Forecast can be exported as an excel file, re-imported to use the forecast but that would defeat the purpose of automatic forecasting\n", "8. Power BI uses two ETS methods (AAN) and (AAA) which can be used for additive components but not when the trend, seasonality are non-linear\n", "9. Power BI forecast should not be used on high-frequency data such as daily, hourly (even weekly if it exhibits multiple seasonalities)\n", "10. Use at least data worth 3-4 seasons (>12 for quarterly, >36 for monthly data)\n", "11. Power BI should provide more documentation on confidence interval and clarify if it is confidence interval or prediction interval. Until then, use it with caution.\n", "12. If you do use Power BI's forecast tool, create a forecast first for time greater than or equal to your forecast horizon, use the same number in the 'Ignore Last' points, assess the fit and calculate RMSE. If the fit looks good, you can use it for final forecast.\n", "13. Always enter the seasonality manually \n", "14. Do not use Power BI forecast on intermittent data with several 0's.\n", "15. Excel might provide the easiest way to create an ETS(AAA) forecast. But has the same limitations as discussed above for ETS in general. \n", "16. You can use Pyhton and R for generating forecasts in and outside of Power BI. R can give mean forecast and the prediction interval. For Pyhton, use simulations to generate PI. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## References:\n", "\n", " 1. Forecasting: Principles and Practice, by Prof. Hyndman\n", " 2. Time Series Analysis and its Applications, by Robert Shumway\n", " 3. Time Series Analysis and Forecasting, by Montgomery & Jennings\n", " 4. Introduction to Time Series and Analysis, by Brockwell\n", " 5. Practial Time Series Forecasting with R, by Galit Shmueli", " 6. https://homepage.univie.ac.at/robert.kunst/pres09_prog_turyna_hrdina.pdf" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.6.10" } }, "nbformat": 4, "nbformat_minor": 2 }