NSBJF

Computes Box‑Jenkins forecasts and their associated probability limits for a nonseasonal ARMA model.

Required Arguments

W — Vector of length NOBS containing the time series. (Input)

PAR — Vector of length NPAR containing the autoregressive parameters. (Input)

LAGAR — Vector of length NPAR containing the order of the autoregressive parameters. (Input)
The elements of LAGAR must be greater than zero.

PMA — Vector of length NPMA containing the moving average parameters. (Input)

LAGMA — Vector of length NPMA containing the order of the moving average parameters. (Input)
The elements of LAGMA must be greater than zero.

ICNST — Option for including the overall constant in the model. (Input)

 

ICNST

Action

0

No overall constant is included.

1

The overall constant is included.

CNST — Estimate of the overall constant. (Input)

AVAR — Estimate of the random shock variance. (Input)
AVAR must be greater than 0.

ALPHA — Value in the exclusive interval (0, 1) used to specify the 100(1  ALPHA)% probability limits of the forecasts. (Input)
Typical choices for ALPHA are 0.10, 0.05, and 0.01.

MXBKOR — Maximum backward origin. (Input)
MXBKOR must be greater than or equal to zero and less than or equal to
NOBS  max(MAXAR, MAXMA) where MAXAR = max(LAGAR(i)) and MAXMA = max(LAGMA(j)). Forecasts at origins NOBS  MXBKOR through NOBS are generated.

MXLEAD — Maximum lead time for forecasts. (Input)
MXLEAD must be greater than zero.

FCSTMXLEAD by (MXBKOR + 3) matrix defined below. (Output)

 

Column

Content

j

Forecasts for lead times l = 1, …, MXLEAD at origins NOBS  MXBKOR  1 + j, j = 1, …, MXBKOR + 1.

MXBKOR + 2

Deviations from each forecast that give the 100(1  ALPHA)% probability limits.

MXBKOR + 3

Psi weights of the infinite order moving average form of the model.

Optional Arguments

NOBS — Number of observations in the time series W. (Input)
NOBS must be greater than ICONST + max(LAGAR(i)) + max(LAGMA(j)).
Default: NOBS = size (W,1).

IPRINT — Printing option. (Input)
Default: IPRINT = 0.

 

IPRINT

Action

0

No printing is performed.

1

Prints the forecasts for lead times l = 1, …, MXLEAD at each origin t = (NOBS  MXBKOR ), …, NOBS, the 100(1  ALPHA)% probability limit deviations, and the psi weights.

NPAR — Number of autoregressive parameters. (Input)
NPAR must be greater than or equal to zero.
Default: NPAR = size (PAR,1).

NPMA — Number of moving average parameters. (Input)
NPMA must be greater than or equal to zero.
Default: NPMA = size (PMA,1).

LDFCST — Leading dimension of FCST exactly as specified in the dimension statement in the calling program. (Input)
LDFCST must be greater than or equal to MXLEAD.
Default: LDFCST = size (FCST,1).

FORTRAN 90 Interface

Generic: CALL NSBJF (W, PAR, LAGAR, PMA, LAGMA, ICNST, CNST, AVAR, ALPHA, MXBKOR, MXLEAD, FCST [])

Specific: The specific interface names are S_NSBJF and D_NSBJF.

FORTRAN 77 Interface

Single: CALL NSBJF (NOBS, W, IPRINT, NPAR, PAR, LAGAR, NPMA, PMA, LAGMA, ICNST, CNST, AVAR, ALPHA, MXBKOR, MXLEAD, FCST, LDFCST)

Double: The double precision name is DNSBJF.

Description

Routine NSBJF computes Box‑Jenkins forecasts and their associated probability limits for a nonseasonal ARMA model given a sample of n = NOBS observations {Wt} for t = 1, 2, …, n.

Suppose the time series {Wt} is generated by a nonseasonal ARMA model of the form

 

where B is the backward shift operator, θ0 = CONST,

 

p = NPAR and q = NPMA. Without loss of generality, we assume

 

so that the nonseasonal ARMA model is of order (pʹ, qʹ) where pʹ = lɸ (p) and qʹ = lθ (q). Note that the usual hierarchal model assumes

 

The Box‑Jenkins forecast at origin t for lead time l of Wt+l is defined in terms of the difference equation

 

where

 

The 100(1  α)% probability limits for Wt+l are given by

 

where za/2 is the 100(1  α/2) percentile of the standard normal distribution,

 

and { Ψj } are the parameters of the random shock form of the difference equation. Note that the forecasts are computed for lead times l = 1, 2, …, L at origins t = (n  b), (n  b + 1), …, n where L = MXLEAD and b = MXBKOR.

The Box‑Jenkins forecasts minimize the mean square error

 

Also, the forecasts may be easily updated according to the equation

 

This approach and others are given in Chapter 5 of Box and Jenkins (1976).

Comments

1. Workspace may be explicitly provided, if desired, by use of N2BJF/DN2BJF. The reference is:

CALL N2BJF (NOBS, W, IPRINT, NPAR, PAR, LAGAR, NPMA, PMA, LAGMA, ICNST, CNST, AVAR, ALPHA, MXBKOR, MXLEAD, FCST, LDFCST, PARH, PMAH, PSIH, PSI, LAGPSI)

The additional arguments are as follows:

PARH — Work vector of length equal to IARDEG + 1.

PMAH — Work vector of length equal to IMADEG + 1.

PSIH — Work vector of length equal to MXLEAD + 1.

PSI — Work vector of length equal to MXLEAD + 1.

LAGPSI — Work vector of length equal to MXLEAD + 1.

2. If the W series has been transformed using a Box‑Cox transformation with parameters POWER and SHIFT, the forecasts and probability limits for the original series may be obtained by application of routine BCTR with the same parameters and argument IDIR set equal to one.

Example

Consider the Wölfer Sunspot Data (Anderson 1971, page 660) consisting of the number of sunspots observed each year from 1749 through 1924. The data set for this example consists of the number of sunspots observed from 1770 through 1869. Routine NSBJF is used to computed forecasts and 95% probability limits for the forecasts for an ARMA(2, 1) model fit using routine NSPE. With MXBKOR = 3, columns one through four of FCST give forecasts given the data through 1866, 1867, 1868, and 1869, respectively. Column 5 gives the deviations from the forecast for computing probability limits, and column six gives the psi weights, which can be used to update forecasts once more data is available. For example, the forecast for the 102‑nd observation (year 1871) given the data through the 100‑th observation (year 1869) is 77.21, and 95% probability limits are given by 77.21  56.30. After observation 101 (W101 for year 1870) is available, the forecast can be updated by using equation 7 with the psi weight (Ψ1 = 1.37) and the one‑step‑ahead forecast error for observation 101 (W101  83.72) to give

77.21 + 1.37 (W101 83.72)

Since this updated forecast is one step ahead, the 95% probability limits are now given by the forecast  33.22.

 

USE GDATA_INT

USE NSPE_INT

USE NSBJF_INT

USE WRRRL_INT

 

IMPLICIT NONE

INTEGER LDFCST, MXBKOR, MXLEAD, NOBS, NPAR, NPMA

PARAMETER (MXBKOR=3, MXLEAD=12, NOBS=100, NPAR=2, NPMA=1, &

LDFCST=MXLEAD)

!

INTEGER ICNST, LAGAR(NPAR), LAGMA(NPMA), NCOL, NROW

REAL ALPHA, AVAR, CNST, FCST(LDFCST,MXBKOR+3), PAR(NPAR), &

PMA(NPMA), RDATA(176,2), W(NOBS), WMEAN

CHARACTER CLABEL(MXBKOR+4)*40, RLABEL(1)*6

!

EQUIVALENCE (W(1), RDATA(22,2))

!

DATA LAGAR(1), LAGAR(2)/1, 2/

DATA LAGMA(1)/1/

DATA RLABEL/'NUMBER'/, CLABEL/'%/Lead%/Time', &

'%/Forecast%/From 1866', '%/Forecast%/From 1867', &

'%/Forecast%/From 1868', '%/Forecast%/From 1869', &

' Deviation %/ for 95% %/Prob. Limits', '%/%/Psi'/

! Wolfer Sunspot Data for

! years 1770 through 1869

CALL GDATA (2, RDATA, NROW, NCOL)

! Compute preliminary parameter

! estimates for ARMA(2,1) model

CALL NSPE (W, CNST, PAR, PMA, AVAR)

!

! Include constant in forecast model

ICNST = 1

! Specify 95 percent probability

! limits for forecasts

ALPHA = 0.05

! Compute forecasts

CALL NSBJF (W, PAR, LAGAR, PMA, LAGMA, &

ICNST, CNST, AVAR, ALPHA, MXBKOR, MXLEAD, FCST)

! Print results

CALL WRRRL ('FCST', FCST, RLABEL, CLABEL, FMT='(5F9.2, F6.3)')

!

END

Output

 

FCST

Deviation

Lead Forecast Forecast Forecast Forecast for 95%

Time From 1866 From 1867 From 1868 From 1869 Prob. Limits Psi

1 18.28 16.62 55.19 83.72 33.22 1.368

2 28.92 32.02 62.76 77.21 56.30 1.127

3 41.01 45.83 61.89 63.46 67.62 0.616

4 49.94 54.15 56.46 50.10 70.64 0.118

5 54.09 56.56 50.19 41.38 70.75 -0.208

6 54.13 54.78 45.53 38.22 71.09 -0.326

7 51.78 51.17 43.32 39.30 71.91 -0.286

8 48.84 47.71 43.26 42.46 72.53 -0.169

9 46.53 45.47 44.46 45.77 72.75 -0.045

10 45.35 44.69 45.98 48.08 72.77 0.041

11 45.21 44.99 47.18 49.04 72.78 0.077

12 45.71 45.82 47.81 48.91 72.82 0.072