IPredict Time-series Forecasting Methods
IPredict offers a wide selection of
time-series forecasting algorithms, regression forecasting, smoothing and curve or model fitting algorithms. Together
with all classical algorithms you will find proprietary and advanced
algorithms with superior performance in statistical forecasting.
Take a look at IPredict benchmarks
to see the difference in performance of some of these algorithms.
To see how these methods are applied to everyday financial forecasting
take a look at our free online
stock market prediction or download
the example program that applies Wavelet Forecasting to financial data.
All proprietary algorithms (14. Holt Winter's Modified Multiple
Seasonalities, 26. Haar Denoising, 27. Daubechies Linear Denoising, 28. Daubechies Exponential Denoising, 29. Wavelet Forecasting, 34. Fractal Projection, 35. Active Moving Average)
are subject to copyright and all rights are reserved to IPredict.
The most important feature of IPredict is
the Excel wizard that allows you, without forecasting expertise or statistics
knowledge, to produce a reliable forecast in minutes. The wizard
automates the time-series forecasting tasks, computes the best parameters given the
time-series and allows you to choose visually the best approach for your
problem. The best fit is calculated using the most appropriate technique
by ranking using a user selected statistical
error.
Classical Algorithms
1. Simple Moving Average
The Simple Moving Average smooth past
data by arithmetically averaging over a specified period and projecting
forward in time. This is normally considered a smoothing algorithm and
has poor forecasting results in most cases.
2. Geometric Moving Average
The Geometric Moving Average smooth past
data by geometrically averaging over a specified period and projecting
forward in time. This is normally considered a smoothing algorithm and
has poor forecasting results in most cases.
3. Triangular Moving Average
The Triangular Moving Average is a
weighted moving average with weights that form a triangular shape. The
projection technique is the same of the Simple Moving Average. This is
normally considered a smoothing algorithm and has poor forecasting
results in most cases.
4. Parabolic Moving Average
The Parabolic Moving Average is a
weighted moving average with weights that form a parabolic shape. The
projection technique is the same of the Simple Moving Average. This is
normally considered a smoothing algorithm and has poor forecasting
results in most cases.
5. Double Moving Average
The Double Moving Average applies in
sequence for two times the Simple Moving Average algorithm. This is
normally considered a smoothing algorithm and has poor forecasting
results in most cases.
6. Exponential Moving Average
The Exponential Moving Average is
summarized by the equation:
X't = αXt
+ (1-α)X't-1
it is a weighted moving average with weights that decrease
exponentially going backwards in time. This is normally considered a
smoothing algorithm and has poor forecasting results in most cases.
7. Double Exponential Moving Average
The Double Exponential Moving Average
applies the Exponential Moving Average twice. This is normally
considered a smoothing algorithm and has poor forecasting results in
most cases.
If the equation of the single exponential moving average can be
expressed as in (6):
X't = αXt
+ (1-α)X't-1
then the equation of the double exponential moving average can be
expressed as:
X''t = αX't
+ (1-α)X''t-1
8. Holt's Double Exponential
Holt's Double Exponential is similar to
the Double Exponential Moving Average. It allows you to specify the two
smoothing constants used in the process. It is useful for data in a
simple linear trend.
9. Triple Exponential Moving Average
The Triple Exponential Moving Average
applies three times the Exponential Moving Average. This is normally
considered a smoothing algorithm and has poor forecasting results in
most cases.
If the equation of the single exponential moving average can be
expressed as in (6):
X't = αXt
+ (1-α)X't-1
and the equation of the double exponential moving average can be
expressed as in (7):
X''t = αX't
+ (1-α)X''t-1
then the equation of the triple exponential moving average can be
expressed as:
X'''t = αX''t
+ (1-α)X'''t-1
10. Holt's Triple Exponential
Holt's Triple Exponential is the
classical Holt's forecasting algorithm. It is useful for data in a
simple linear trend.
11. Adaptive Response Rate Exponential
Smoothing
The Adaptive Exponential Smoothing
automatically adjusts the smoothing parameters based on the forecast
error. This is normally considered a smoothing algorithm and has poor
forecasting results in most cases.
12. Holt Winter's Additive
The Holt Winter's Additive method is
applicable when the time series contains a seasonal component. This
method assumes the time series is composed by a linear trend and a
seasonal cycle, it constructs three statistically correlated series
(smoothed, seasonal and trend) and projects forward the identified trend
and seasonality.
13. Holt Winter's Multiplicative
Like Holt Winter's Additive this method
can be applied to a seasonal time series. The model assumes that the
components of the time series (smoothed, seasonal and trend) are
multiplied together giving as result a more 'active' time series.
14. Holt Winter's Modified Multiple Seasonalities
The Modified Multiple Seasonalities is a
proprietary algorithm based on Holt Winter's algorithm that can take
into consideration multiple seasonalities. This model is especially
suited for financial time series. Two versions of this algorithm are now
available with different computational logic.
15. Additive Decomposition
Additive Decomposition computes the
decomposition of the time series into its components, trend,
seasonality, cyclical and error. It projects the identified parts to the
future and sums the resulting projection to form the forecast. The model
is assumed to be additive (that is all parts are summed up to give the
forecast).
The model equation is:
X't = Tt
+ St
+ Ct
+ εt
where T is the trend, S the seasonality, C the cycle and
ε the error.
16. Multiplicative Decomposition
Multiplicative Decomposition like
Additive Decomposition computes the decomposition of the time series
into its components, trend, seasonality, cyclical and error and then
projects to the future. The model is assumed to be multiplicative (that
is all parts are multiplied by each other to give the forecast).
The model equation is:
X't = Tt * St * Ct
* εt
where T is the trend, S the seasonality, C the cycle and
ε the error.
17. Sparse Series Croston's Exponential
This is a very useful algorithm for
sparse time series. The model is equivalent to an Exponential Moving
Average both in quantities and in time.
Curve and Bayesian Model Fitting
18. Linear Trend / Regression
The Linear Trend fits the time series to
a straight line and projecting forward in time.
The model equation is:
X't = m*t + q
19. Linear Trend And Additive
Seasonality
The Linear Trend and Additive Seasonality
assume the data is made of a linear trend plus a single additive
seasonality. It then fits the equation to the data using a Bayesian fit
and projects forward in time.
The model equation is:
X't = m*t + A*sin(ωt)
+ q
20. Linear Trend And Multiplicative
Seasonality
The Linear Trend and Multiplicative
Seasonality assume the data is made of a linear trend plus a single
multiplicative seasonality. It then fits the equation to the data using
a Bayesian fit and projects forward in time.
The model equation is:
X't = m*t * A*sin(ωt)
* q
21. Linear Trend And Multiple
Seasonalities
The Linear Trend and Multiple
Seasonalities assume the data is made of a linear trend plus multiple
additive or multiplicative seasonalities. It then fits the equation to
the data using a Bayesian fit and projects forward in time. It is
especially useful for financial time series.
22. Polynomial
The Polynomial algorithm fits a
polynomial equation (up to the desired order) to the data using a
Bayesian fit and projects forward in time. You must be careful not to
over fit the data with a very long polynomial.
The model equation is:
X't = A + B*t + C*t2 + D*t3
+ ...
23. Logarithmic
The Logarithmic algorithm fits a
logarithmic equation to the data using a Bayesian fit and projects
forward in time.
The model equation is:
X't = A + B*log(t)
24. Exponential
The Exponential algorithm fits an
exponential equation to the data using a Bayesian fit and projects
forward in time.
The model equation is:
X't = A + B*exp(t)
Wavelet Smoothing and Forecasting
25. Frequency Identification
One of the biggest issues when dealing
with algorithms that require seasonality indexes is to compute the
seasonalities. All competitors require you to compute these magic
numbers and even the most advanced packages aren't able to tell this
simple and intuitive figure: the seasonality of a time series. The
Frequency Identification algorithm computes the frequencies that are
inside the input time series.
26. Haar Denoising
Removing noise from a time series is
always difficult and current algorithms (averages, exponential averages,
etc...) always introduce a lag in data or change the statistical
properties of the underlying time series. Haar Denoising is able to
remove the noise that is in the time series using the Haar Wavelet
transform and a proprietary algorithm.
27. Daubechies Linear Denoising
Like Haar Denoising the Daubechies Linear
Denoising applies a Daubechies Wavelet transform and a proprietary
algorithm to linearly denoise the time series.
28. Daubechies Exponential Denoising
The denoising in this case decreases
exponentially with the wavelet power.
29. Wavelet Forecasting
This algorithm uses the Daubechies Wavelet transform to
produce a forecast with a proprietary algorithm.
Additional Functions and Algorithms
30. Random Number Generation
Special care must be taken into account
when generating test beds for ideas and models. Usually the stock Rand()
Excel function is not enough. IPredict provides four statistically
independent Uniform Random Number Generators and one Gaussian Generator.
31. Wavelet Transforms
This is the base of the Wavelet
forecasting algorithm. The wavelet transform is the base of a lot of
today's algorithms in the field of Digital Signal Processing, Quantum
Mechanics, Image Processing and Speech Recognition among others. The
forward and inverse Daubechies and Haar transforms are included.
32. Fourier Transforms
These are the classical Fourier Transforms for forecasting. IPredict includes Sine,
Cosine and Fast Fourier
Transforms.
33. Hurst Exponent
The estimate of the Hurst Exponent is
very important to help understand the properties of a time-series and
how much it looks like a random walk (i.e. how much the time-series is
predictable). Three methods are provided based on Daubechies, Haar and
Rescaled Range algorithms.
Advanced Algorithms
34. Fractal Projection
The Fractal Projection algorithm represents a new approach to forecasting.
This algorithm is able to project to the future a pattern stretching it in times or values as appropriate.
35. Active Moving Average
The Active Moving Average belongs to the class of Exponential Moving Averages but its calculation
is quadratic in nature and is much quicker than standard Moving
Averages in "following" the original signal.
Kernel Smoothing
Kernel smoothing weights every single data point in a time-series with weights coming from a generating function.
36. Gaussian Kernel Smoothing
The Gaussian Kernel Smoothing is a classical Kernel Smoothing algorithm.
The kernel function is the following:
K(t) = e-λ * t2
37. Hilbert Kernel Smoothing
The Hilbert Kernel Smoothing function is:
K(t) = -π / t
38. Triangle Kernel Smoothing
The Triangle Kernel Smoothing function is:
K(T) = 1 - Abs(t)
39. Epanechnicov Kernel Smoothing
The Epanechnicov Kernel Smoothing function is:
K(t) = 3/4 * (1 - t2)
40. Quartic Kernel Smoothing
The Quartic Kernel Smoothing function is:
K(t) = 15/16 * (1 - t2)2
41. Triweight Kernel Smoothing
The Triweight Kernel function is:
K(t) = 35/32 * (1 - t2)3
42. Cosine Kernel Smoothing
The Cosine Kernel function is:
K(t) = -π/4 * Cos(π/2 * t)
43. Savitsky-Golay Smoothing
This algorithm is a smoothing filter that essentially applies a polynomial regression of a certain degree to a time-series.
The advantage of the Savitsky-Golay filter is that it tends to preserve certain features of the time-series like local minima and maxima.
44. Spline Smoothing
Spline smoothing consists in computing the spline that approximates the input data and projecting it to internal or external points. It is useful when compressing or expanding data before a projection is done.