
The library provides an implementation of the generalized airline model as described in [1].
Using the usual notation, the generalized airline model for a monthly series is defined by (type I, 3 parameters)
![]()
where all the
except n ones (
)
.
![]()
where all the
are
the same except n ones (
).
For a given GeneralizedAirlineSpecification, the
GeneralizedAirlineMonitor estimates the different GeneralizedAirlineModels
and computes their corresponding criterion (AIC/BIC).
The decomposition of the series using the Kalman smoother can be obtained, for
the best model as well as for each of the other models, through
GeneralizedAirlineSA entities. Those features are illustrated in the example
below.
The main available specifications are:
It should be noted that the GeneralizedAirlineMonitor always estimates
the usual airline model (first estimated model).
The form of the GeneralizedAirlineModel can be retrieved following
different ways:
References:
- NbbTs.dll
- NbbEco.dll
- NbbGeneralizedAirline.dll
Code:
using Nbb.TimeSeries.SimpleTS;
using Nbb.GeneralAirline;double[] data =
{
9568.3,9920.3,11353.5,9247.5,10114.2,10763.1,8456.1,8071.6,10328,10551.4,10186.1,8821.6,
9841.3,10233.6,10794.6,10289.3,10513.4,10607.6,9707.4,8103.5,10982.6,11836.9,10517.5,9810.5,
10374.8,10855.3,11671.3,11901.2,10846.4,11917.5,11362.8,9314.5,12605.9,12815.1,11254.5,11111.8,
11282.9,11554.5,12935.6,12146.3,11615.3,13214.8,11735.5,9522.3,12694.8,12317.6,11450,11380.9,
10604.6,10972.2,13331.5,11733.1,11284.7,13295.8,11881.4,10374.2,13828,13490.5,13092.2,13184.4,
12398.4,13882.3,15861.5,13286.1,15634.9,14211,13646.8,12224.6,15916.4,16535.9,15796,14418.6,
15044.5,14944.2,16754.8,14254,15454.9,15644.8,14568.3,12520.2,14803,15873.2,14755.3,12875.1,
14291.1,14205.3,15859.4,15258.9,15498.6,15106.5,15023.6,12083,15761.3,16943,15070.3,13659.6,
14768.9,14725.1,15998.1,15370.6,14956.9,15469.7,15101.8,11703.7,16283.6,16726.5,14968.9,14861,
14583.3,15305.8,17903.9,16379.4,15420.3,17870.5,15912.8,13866.5,17823.2,17872,17420.4,16704.4,
15991.5,16583.6,19123.4,17838.8,17335.3,19026.9,16428.6,15337.4,19379.8,18070.5,19563,18190.6,
17658,18437.9,21510.4,17111,19732.7,20221.8
};TS series = new TS(TSFrequency.Monthly, 1995, 0, data);
// Default specification (5-1 (3) models. No calendar effects, no log transformation)
GeneralizedAirlineSpecification spec = new GeneralizedAirlineSpecification();
// Monitoring object
GeneralizedAirlineMonitor monitor = new GeneralizedAirlineMonitor();
monitor.Specification = spec;
if (monitor.Process(series))
{
// The best model, based on the criterion defined in the specification (AIC by default)
GeneralizedAirline model = monitor.BestResult.Model;
// The decomposition of the series, based on the chosen model, estimated by means of the Kalman smoother.
GeneralizedAirlineSA sa = monitor.BestSAResult;
TS saseries = sa.Component(Nbb.Eco.TSComponent.SeasonallyAdjusted);// The decompositions of the series following the other models.
TSCollection allseries = new TSCollection();
int nrslts = monitor.Results.Length;
for (int i = 0; i < nrslts; ++i)
{
GeneralizedAirlineSA cursa = monitor.SAResult(i);
if (cursa != null)
{
TS cursaseries = cursa.Component(Nbb.Eco.TSComponent.SeasonallyAdjusted);
cursaseries.Description = monitor.Results[i].Model.ModelType;
allseries.Add(cursaseries);
}
}
// Link with the equation of the model
double[] coeff = monitor.BestResult.Model.Coefficients();
int[] c = monitor.BestResult.Model.C;
if (c[1] >= 0) // type I equation
{
double theta = coeff[0];
double c0 = coeff[c[1]];
double c1 = coeff[c[2]];
double c2 = coeff[c[3]];
double c3 = coeff[c[4]];
double c4 = coeff[c[5]];
double c5 = coeff[c[6]];
double c6 = coeff[c[7]];
}
else // type II equation
{
double a = coeff[0];
double b = coeff[1];
double c1 = coeff[c[2]];
double c2 = coeff[c[3]];
double c3 = coeff[c[4]];
double c4 = coeff[c[5]];
double c5 = coeff[c[6]];
double c6 = coeff[c[7]];
}
}
Remark: the series used in this example contains significant calendar effects that are partly captured by the 5-1(3) / 4 model; the adding of trading days variables provide a better result.
Bibliography
[1] John A. D. Aston, David F. Findley,
Kellie C. Wills, and Donald E. K. Martin (2004), "Generalizations
of the Box-Jenkins Airline Model with Frequency-Specific Seasonal
Coefficients and a Generalizaton of Akaike’s MAIC", presented at 2004 NBER/NSF
Time Series Conference.
A special thank-you to J. Aston for its Ox implementation.