Forecasting

Forecasting is the process of making predictions based on past and present data. Later these can be compared (resolved) against what happens. For example, a company might estimate their revenue in the next year, then compare it against the actual results creating a variance actual analysis. Prediction is a similar but more general term. Forecasting might refer to specific formal statistical methods employing time series, cross-sectional or longitudinal data, or alternatively to less formal judgmental methods or the process of prediction and resolution itself. Usage can vary between areas of application: for example, in hydrology the terms "forecast" and "forecasting" are sometimes reserved for estimates of values at certain specific future times, while the term "prediction" is used for more general estimates, such as the number of times floods will occur over a long period.

Risk and uncertainty are central to forecasting and prediction; it is generally considered a good practice to indicate the degree of uncertainty attaching to forecasts. In any case, the data must be up to date in order for the forecast to be as accurate as possible. In some cases the data used to predict the variable of interest is itself forecast. A forecast is not to be confused with a Budget; budgets are more specific, fixed-term financial plans used for resource allocation and control, while forecasts provide estimates of future financial performance, allowing for flexibility and adaptability to changing circumstances. Both tools are valuable in financial planning and decision-making, but they serve different functions.

Applications
Forecasting has applications in a wide range of fields where estimates of future conditions are useful. Depending on the field, accuracy varies significantly. If the factors that relate to what is being forecast are known and well understood and there is a significant amount of data that can be used, it is likely the final value will be close to the forecast. If this is not the case or if the actual outcome is affected by the forecasts, the reliability of the forecasts can be significantly lower.

Climate change and increasing energy prices have led to the use of Egain Forecasting for buildings. This attempts to reduce the energy needed to heat the building, thus reducing the emission of greenhouse gases. Forecasting is used in customer demand planning in everyday business for manufacturing and distribution companies.

While the veracity of predictions for actual stock returns are disputed through reference to the efficient-market hypothesis, forecasting of broad economic trends is common. Such analysis is provided by both non-profit groups as well as by for-profit private institutions.

Forecasting foreign exchange movements is typically achieved through a combination of chart and fundamental analysis. An essential difference between chart analysis and fundamental economic analysis is that chartists study only the price action of a market, whereas fundamentalists attempt to look to the reasons behind the action. Financial institutions assimilate the evidence provided by their fundamental and chartist researchers into one note to provide a final projection on the currency in question.

Forecasting has also been used to predict the development of conflict situations. Forecasters perform research that uses empirical results to gauge the effectiveness of certain forecasting models. However research has shown that there is little difference between the accuracy of the forecasts of experts knowledgeable in the conflict situation and those by individuals who knew much less. Similarly, experts in some studies argue that role thinking — standing in other people's shoes to forecast their decisions — does not contribute to the accuracy of the forecast.

An important, albeit often ignored aspect of forecasting, is the relationship it holds with planning. Forecasting can be described as predicting what the future will look like, whereas planning predicts what the future should look like. There is no single right forecasting method to use. Selection of a method should be based on your objectives and your conditions (data etc.). A good place to find a method, is by visiting a selection tree. An example of a selection tree can be found here.

Forecasting has application in many situations:


 * Supply chain management and customer demand planning — Forecasting can be used in supply chain management to ensure that the right product is at the right place at the right time. Accurate forecasting will help retailers reduce excess inventory and thus increase profit margin. Accurate forecasting will also help them meet consumer demand. The discipline of demand planning, also sometimes referred to as supply chain forecasting, embraces both statistical forecasting and a consensus process. Studies have shown that extrapolations are the least accurate, while company earnings forecasts are the most reliable.
 * Economic forecasting
 * Earthquake prediction
 * Egain forecasting
 * Energy forecasting for renewable power integration
 * Finance against risk of default via credit ratings and credit scores
 * Land use forecasting
 * Player and team performance in sports
 * Political forecasting
 * Product forecasting
 * Sales forecasting
 * Technology forecasting
 * Telecommunications forecasting
 * Transport planning and forecasting
 * Weather forecasting, flood forecasting and meteorology

Forecasting as training, betting and futarchy
In several cases, the forecast is either more or less than a prediction of the future.

In Philip E. Tetlock's Superforecasting: The Art and Science of Prediction, he discusses forecasting as a method of improving the ability to make decisions. A person can become better calibrated — i.e. having things they give 10% credence to happening 10% of the time. Or they can forecast things more confidently — coming to the same conclusion but earlier. Some have claimed that forecasting is a transferable skill with benefits to other areas of discussion and decision making.

Betting on sports or politics is another form of forecasting. Rather than being used as advice, bettors are paid based on if they predicted correctly. While decisions might be made based on these bets (forecasts), the main motivation is generally financial.

Finally, futarchy is a form of government where forecasts of the impact of government action are used to decide which actions are taken. Rather than advice, in futarchy's strongest form, the action with the best forecasted result is automatically taken.

Forecast improvements
Forecast improvement projects have been operated in a number of sectors: the National Hurricane Center's Hurricane Forecast Improvement Project (HFIP) and the Wind Forecast Improvement Project sponsored by the US Department of Energy are examples. In relation to supply chain management, the Du Pont model has been used to show that an increase in forecast accuracy can generate increases in sales and reductions in inventory, operating expenses and commitment of working capital.

Qualitative vs. quantitative methods
Qualitative forecasting techniques are subjective, based on the opinion and judgment of consumers and experts; they are appropriate when past data are not available. They are usually applied to intermediate- or long-range decisions. Examples of qualitative forecasting methods are informed opinion and judgment, the Delphi method, market research, and historical life-cycle analogy.

Quantitative forecasting models are used to forecast future data as a function of past data. They are appropriate to use when past numerical data is available and when it is reasonable to assume that some of the patterns in the data are expected to continue into the future. These methods are usually applied to short- or intermediate-range decisions. Examples of quantitative forecasting methods are last period demand, simple and weighted N-Period moving averages, simple exponential smoothing, Poisson process model based forecasting and multiplicative seasonal indexes. Previous research shows that different methods may lead to different level of forecasting accuracy. For example, GMDH neural network was found to have better forecasting performance than the classical forecasting algorithms such as Single Exponential Smooth, Double Exponential Smooth, ARIMA and back-propagation neural network.

Average approach
In this approach, the predictions of all future values are equal to the mean of the past data. This approach can be used with any sort of data where past data is available. In time series notation:


 * $$\hat{y}_{T+h|T} = \bar{y} = ( y_1 + ... + y_T ) / T $$

where $$y_1, ..., y_T$$ is the past data.

Although the time series notation has been used here, the average approach can also be used for cross-sectional data (when we are predicting unobserved values; values that are not included in the data set). Then, the prediction for unobserved values is the average of the observed values.

Naïve approach
Naïve forecasts are the most cost-effective forecasting model, and provide a benchmark against which more sophisticated models can be compared. This forecasting method is only suitable for time series data. Using the naïve approach, forecasts are produced that are equal to the last observed value. This method works quite well for economic and financial time series, which often have patterns that are difficult to reliably and accurately predict. If the time series is believed to have seasonality, the seasonal naïve approach may be more appropriate where the forecasts are equal to the value from last season. In time series notation:


 * $$\hat{y}_{T+h|T} = y_T $$

Drift method
A variation on the naïve method is to allow the forecasts to increase or decrease over time, where the amount of change over time (called the drift) is set to be the average change seen in the historical data. So the forecast for time $$T+h$$ is given by


 * $$\hat{y}_{T+h|T} = y_T + \frac{h}{T-1}\sum_{t=2}^T (y_{t}-y_{t-1}) = y_{T}+h\left(\frac{y_{T}-y_{1}}{T-1}\right).$$

This is equivalent to drawing a line between the first and last observation, and extrapolating it into the future.

Seasonal naïve approach
The seasonal naïve method accounts for seasonality by setting each prediction to be equal to the last observed value of the same season. For example, the prediction value for all subsequent months of April will be equal to the previous value observed for April. The forecast for time $$T + h$$ is


 * $$\hat{y}_{T+h|T} = y_{T+h-m(k+1)}$$

where $$m$$=seasonal period and $$k$$ is the smallest integer greater than $$(h-1) / m$$.

The seasonal naïve method is particularly useful for data that has a very high level of seasonality.

Deterministic approach
A deterministic approach is when there is no stochastic variable involved and the forecasts depend on the selected functions and parameters. For example, given the function


 * $$\begin{aligned} f_n(x_t) = \dfrac{1}{(1+x_t^n)} \,, \qquad n \in {\mathbb {N}},\;x\in {\mathbb {R}}. \end{aligned} $$

The short term behaviour $$x_t$$  and the is the medium-long term trend $$y_t$$ are

\begin{aligned} {\left\{ \begin{array}{ll} x_{t+1} = \alpha f_n(x_t) + \gamma \, y_t + \delta \\ y_{t+1} = \beta \, y_t - \mu \, x_{t} + \eta \end{array}\right. } \end{aligned} $$

where $$ \alpha, \gamma, \beta, \mu, \eta $$ are some parameters.

This approach has been proposed to simulate bursts of seemingly stochastic activity, interrupted by quieter periods. The assumption is that the presence of a strong deterministic ingredient is hidden by noise. The deterministic approach is noteworthy as it can reveal the underlying dynamical systems structure, which can be exploited for steering the dynamics into a desired regime.

Time series methods
Time series methods use historical data as the basis of estimating future outcomes. They are based on the assumption that past demand history is a good indicator of future demand.


 * Moving average
 * Weighted moving average
 * Exponential smoothing
 * Autoregressive moving average (ARMA) (forecasts depend on past values of the variable being forecast and on past prediction errors)
 * Autoregressive integrated moving average (ARIMA) (ARMA on the period-to-period change in the forecast variable)
 * e.g. Box–Jenkins
 * Seasonal ARIMA or SARIMA or ARIMARCH,


 * Extrapolation
 * Linear prediction
 * Trend estimation (predicting the variable as a linear or polynomial function of time)
 * Growth curve (statistics)
 * Recurrent neural network

Relational methods
Some forecasting methods try to identify the underlying factors that might influence the variable that is being forecast. For example, including information about climate patterns might improve the ability of a model to predict umbrella sales. Forecasting models often take account of regular seasonal variations. In addition to climate, such variations can also be due to holidays and customs: for example, one might predict that sales of college football apparel will be higher during the football season than during the off season.

Several informal methods used in causal forecasting do not rely solely on the output of mathematical algorithms, but instead use the judgment of the forecaster. Some forecasts take account of past relationships between variables: if one variable has, for example, been approximately linearly related to another for a long period of time, it may be appropriate to extrapolate such a relationship into the future, without necessarily understanding the reasons for the relationship.

Causal methods include:


 * Regression analysis includes a large group of methods for predicting future values of a variable using information about other variables. These methods include both parametric (linear or non-linear) and non-parametric techniques.
 * Autoregressive moving average with exogenous inputs (ARMAX)

Quantitative forecasting models are often judged against each other by comparing their in-sample or out-of-sample mean square error, although some researchers have advised against this. Different forecasting approaches have different levels of accuracy. For example, it was found in one context that GMDH has higher forecasting accuracy than traditional ARIMA.

Judgmental methods
Judgmental forecasting methods incorporate intuitive judgement, opinions and subjective probability estimates. Judgmental forecasting is used in cases where there is a lack of historical data or during completely new and unique market conditions.

Judgmental methods include:


 * Composite forecasts
 * Cooke's method
 * Delphi method
 * Forecast by analogy
 * Scenario building
 * Statistical surveys
 * Technology forecasting

Artificial intelligence methods

 * Artificial neural networks
 * Group method of data handling
 * Support vector machines

Often these are done today by specialized programs loosely labeled
 * Data mining
 * Machine learning
 * Pattern recognition

Geometric extrapolation with error prediction
Can be created with 3 points of a sequence and the "moment" or "index". This type of extrapolation has 100% accuracy in predictions in a big percentage of known series database (OEIS).

Other methods

 * Granger causality
 * Simulation
 * Prediction market
 * Probabilistic forecasting and Ensemble forecasting

Forecasting accuracy
The forecast error (also known as a residual) is the difference between the actual value and the forecast value for the corresponding period:


 * $$\ E_t = Y_t - F_t $$

where E is the forecast error at period t, Y is the actual value at period t, and F is the forecast for period t.

A good forecasting method will yield residuals that are uncorrelated. If there are correlations between residual values, then there is information left in the residuals which should be used in computing forecasts. This can be accomplished by computing the expected value of a residual as a function of the known past residuals, and adjusting the forecast by the amount by which this expected value differs from zero.

A good forecasting method will also have zero mean. If the residuals have a mean other than zero, then the forecasts are biased and can be improved by adjusting the forecasting technique by an additive constant that equals the mean of the unadjusted residuals.

Measures of aggregate error:

Scaled-dependent errors
The forecast error, E, is on the same scale as the data, as such, these accuracy measures are scale-dependent and cannot be used to make comparisons between series on different scales.

Mean absolute error (MAE) or mean absolute deviation (MAD): $$\ MAE = MAD = \frac{\sum_{t=1}^{N} |E_t|}{N} $$

Mean squared error (MSE) or mean squared prediction error (MSPE): $$\ MSE = MSPE = \frac{\sum_{t=1}^N {E_t^2}}{N} $$

Root mean squared error (RMSE): $$\ RMSE = \sqrt{\frac{\sum_{t=1}^N {E_t^2}}{N}} $$

Average of Errors (E): $$\ \bar{E}= \frac{\sum_{i=1}^N {E_i}}{N} $$

Percentage errors
These are more frequently used to compare forecast performance between different data sets because they are scale-independent. However, they have the disadvantage of being extremely large or undefined if Y is close to or equal to zero.

Mean absolute percentage error (MAPE): $$\ MAPE = 100* \frac{\sum_{t=1}^N |\frac{E_t}{Y_t}|}{N} $$

Mean absolute percentage deviation (MAPD): $$\ MAPD = \frac{\sum_{t=1}^{N} |E_t|}{\sum_{t=1}^{N} |Y_t|} $$

Scaled errors
Hyndman and Koehler (2006) proposed using scaled errors as an alternative to percentage errors.

Mean absolute scaled error (MASE): $$MASE = \frac{\sum_{t=1}^{N} |\frac{E_t}{\frac{1}{N-m}\sum_{t=m+1}^{N}|Y_t - Y_{t-m}|}|}{N}$$

where m=seasonal period or 1 if non-seasonal

Other measures
Forecast skill (SS): $$\ SS = 1- \frac{MSE_{forecast}}{MSE_{ref}} $$

Business forecasters and practitioners sometimes use different terminology. They refer to the PMAD as the MAPE, although they compute this as a volume weighted MAPE. For more information, see Calculating demand forecast accuracy.

When comparing the accuracy of different forecasting methods on a specific data set, the measures of aggregate error are compared with each other and the method that yields the lowest error is preferred.

Training and test sets
When evaluating the quality of forecasts, it is invalid to look at how well a model fits the historical data; the accuracy of forecasts can only be determined by considering how well a model performs on new data that were not used when fitting the model. When choosing models, it is common to use a portion of the available data for fitting, and use the rest of the data for testing the model, as was done in the above examples.

Cross-validation
Cross-validation is a more sophisticated version of training a test set.

For cross-sectional data, one approach to cross-validation works as follows: This makes efficient use of the available data, as only one observation is omitted at each step
 * 1) Select observation i for the test set, and use the remaining observations in the training set. Compute the error on the test observation.
 * 2) Repeat the above step for  i = 1,2,..., N where N is the total number of observations.
 * 3) Compute the forecast accuracy measures based on the errors obtained.

For time series data, the training set can only include observations prior to the test set. Therefore, no future observations can be used in constructing the forecast. Suppose k observations are needed to produce a reliable forecast; then the process works as follows: This procedure is sometimes known as a "rolling forecasting origin" because the "origin" (k+i -1) at which the forecast is based rolls forward in time. Further, two-step-ahead or in general p-step-ahead forecasts can be computed by first forecasting the value immediately after the training set, then using this value with the training set values to forecast two periods ahead, etc.
 * 1) Starting with i=1, select the observation k + i  for the test set, and use the observations at times  1, 2, ..., k+i–1 to estimate the forecasting model. Compute the error on the forecast for k+i.
 * 2) Repeat the above step for i = 2,...,T–k  where T is the total number of observations.
 * 3) Compute the forecast accuracy over all errors.

See also
 * Calculating demand forecast accuracy
 * Consensus forecasts
 * Forecast error
 * Predictability
 * Prediction intervals, similar to confidence intervals
 * Reference class forecasting

Seasonality
Seasonality is a characteristic of a time series in which the data experiences regular and predictable changes which recur every calendar year. Any predictable change or pattern in a time series that recurs or repeats over a one-year period can be said to be seasonal. It is common in many situations – such as grocery store or even in a Medical Examiner's office —that the demand depends on the day of the week. In such situations, the forecasting procedure calculates the seasonal index of the "season" – seven seasons, one for each day – which is the ratio of the average demand of that season (which is calculated by Moving Average or Exponential Smoothing using historical data corresponding only to that season) to the  average demand across all seasons. An index higher than 1 indicates that demand is higher than average; an index less than 1 indicates that the demand is less than the average.

Cyclic behaviour
The cyclic behaviour of data takes place when there are regular fluctuations in the data which usually last for an interval of at least two years, and when the length of the current cycle cannot be predetermined. Cyclic behavior is not to be confused with seasonal behavior. Seasonal fluctuations follow a consistent pattern each year so the period is always known. As an example, during the Christmas period, inventories of stores tend to increase in order to prepare for Christmas shoppers. As an example of cyclic behaviour, the population of a particular natural ecosystem will exhibit cyclic behaviour when the population decreases as its natural food source decreases, and once the population is low, the food source will recover and the population will start to increase again. Cyclic data cannot be accounted for using ordinary seasonal adjustment since it is not of fixed period.

Limitations
Limitations pose barriers beyond which forecasting methods cannot reliably predict. There are many events and values that cannot be forecast reliably. Events such as the roll of a die or the results of the lottery cannot be forecast because they are random events and there is no significant relationship in the data. When the factors that lead to what is being forecast are not known or well understood such as in stock and foreign exchange markets forecasts are often inaccurate or wrong as there is not enough data about everything that affects these markets for the forecasts to be reliable, in addition the outcomes of the forecasts of these markets change the behavior of those involved in the market further reducing forecast accuracy.

The concept of "self-destructing predictions" concerns the way in which some predictions can undermine themselves by influencing social behavior. This is because "predictors are part of the social context about which they are trying to make a prediction and may influence that context in the process". For example, a forecast that a large percentage of a population will become HIV infected based on existing trends may cause more people to avoid risky behavior and thus reduce the HIV infection rate, invalidating the forecast (which might have remained correct if it had not been publicly known). Or, a prediction that cybersecurity will become a major issue may cause organizations to implement more security cybersecurity measures, thus limiting the issue.

Performance limits of fluid dynamics equations
As proposed by Edward Lorenz in 1963, long range weather forecasts, those made at a range of two weeks or more, are impossible to definitively predict the state of the atmosphere, owing to the chaotic nature of the fluid dynamics equations involved. Extremely small errors in the initial input, such as temperatures and winds, within numerical models double every five days.