StatTimeSerAnalysis::DoubleExpForecast Function

Overload List

#SignatureDescription
1void DoubleExpForecast(TVec *Y, TVec *YHat, const double Alpha, const double Gamma, const int T, const int InitMethod = 0);Double exponential forecast.
2void DoubleExpForecast(TVec *Y, TVec *YHat, double &Alpha, double &Gamma, const int T, double &MSE, const int InitMethod = 0);First estimate Alpha and Gamma parameters by double smoothing and then use returned values to forecast up to T periods.

Overload 1: void DoubleExpForecast(TVec *Y, TVec *YHat, const double Alpha, const double Gamma, const int T, const int InitMethod = 0);

Double exponential forecast.

#NameTypeDescription
1YTVec *Time series data set.
2YHatTVec *Time series forecasts. Size of the YHat vector are adjusted automatically.
3Alphaconst doubleOveral smoothing parameter used for forecast.
4Gammaconst doubleTrend smoothing parameter used for forecast.
5Tconst intForecast values up to T period.
6InitMethod = 0const intDefines how the initial values for b[0] are calculated.
Remarks:

Forecasts time series values by using double exponential smoothing equations. For double exponential smoothing, the h period ahead forecast is given by:

F[t+h]=S[t]+h⋅b[t].F[t+h] = S[t]+h\cdot b[t] \quad .
Examples
#include "MtxExpr.h"
#include "Units.StatTimeSerAnalysis.h"

using namespace Dew;
using namespace Dew::Math;
using namespace Dew::Stats;
using namespace Dew::Stats::Units::StatTimeSerAnalysis;

void Example()
{
    Vector Data, YHat;
    double Alpha, Gamma;
    int T, NumPoints;
    double MSE;

    NumPoints = 20;
    Data.LoadFromFile("aerosol_particles.vec");
    // last point period = Data.Length-1 + NumPoints
    T = Data.Length-1+NumPoints;
    // initial estimates for Alpha, Gamma
    Alpha = 0.1;
    Gamma = 0.1;
    DoubleExpForecast(Data,YHat,Alpha,Gamma,T,MSE,1);
    // returs MSE and estimated Alpha (from MLE)
}
See Also: StatTimeSerAnalysis::DoubleExpSmooth
Declared in Dew::Stats::Units::StatTimeSerAnalysis · Dew.Stats/Units.StatTimeSerAnalysis.h · Cross-compiler

Overload 2: void DoubleExpForecast(TVec *Y, TVec *YHat, double &Alpha, double &Gamma, const int T, double &MSE, const int InitMethod = 0);

First estimate Alpha and Gamma parameters by double smoothing and then use returned values to forecast up to T periods.

#NameTypeDescription
1YTVec *Time series data set.
2YHatTVec *Time series forecasts. Size of the YHat vector are adjusted automatically.
3Alphadouble &Overal smoothing parameter used for forecast.
4Gammadouble &Trend smoothing parameter used for forecast.
5Tconst intForecast values up to T period.
6MSEdouble &MSE, evaluated at minimum.
7InitMethod = 0const intDefines how the initial values for b[0] are calculated.
Remarks:

Use this routine if you don't know the best estimates for Alpha and Gamma.

Examples
#include "MtxExpr.h"
#include "Units.StatTimeSerAnalysis.h"

using namespace Dew;
using namespace Dew::Math;
using namespace Dew::Stats;
using namespace Dew::Stats::Units::StatTimeSerAnalysis;

void Example()
{
    Vector Data(0);
    Vector YHat(0);
    int NumPoints = 20;
    Data.LoadFromFile("aerosol_particles.vec");
    // last point period = Data.Length-1 + NumPoints
    int T = Data.Length-1+NumPoints;
    // initial estimates for alpha, gamma
    double alpha = 0.1;
    double gamma = 0.1;
    double MSE;
    DoubleExpForecast(Data,YHat,alpha,gamma,T,MSE,1);
    // returs MSE and estimated Alpha (from MLE)
}
Declared in Dew::Stats::Units::StatTimeSerAnalysis · Dew.Stats/Units.StatTimeSerAnalysis.h · Cross-compiler