SPWF
Computes the Wiener forecast operator for a stationary stochastic process.
Required Arguments
W — Vector of length NOBS containing the stationary time series. (Input)
WNADJ — White noise adjustment factor. (Input)
WNADJ must be greater than or equal to zero.
EPS — Bound on the normalized mean square error. (Input)
EPS must be in the range (0, 1) inclusive.
MLFOP — Maximum length of the forecast operator. (Input)
MLFOP must be greater than or equal to one and less than NOBS.
LFOP — Length of the estimated forecast operator. (Output)
FOP — Vector of length LFOP containing the estimated forecast operator coefficients. (Output)
Optional Arguments
NOBS — Number of observations in the stationary time series W. (Input)
NOBS must be greater than or equal to two.
Default: NOBS = size (W,1).
IWMEAN — Option for estimation of the mean of W. (Input)
Default: IWMEAN = 1.
IWMEAN |
Action |
0 |
WMEAN is user specified. |
1 |
WMEAN is set equal to the arithmetic mean of W. |
WMEAN — Estimate of the mean of the time series W. (Input, if IWMEAN = 0; output, if IWMEAN = 1)
WMEAN is used to center the time series W prior to estimation of the forecast operator.
Default: WMEAN = 0.0.
FORTRAN 90 Interface
Generic: CALL SPWF (W, WNADJ, EPS, MLFOP, LFOP, FOP [, …])
Specific: The specific interface names are S_SPWF and D_SPWF.
FORTRAN 77 Interface
Single: CALL SPWF (NOBS, W, IWMEAN, WMEAN, WNADJ, EPS, MLFOP, LFOP, FOP)
Double: The double precision name is DSPWF.
Description
Routine SPWF performs least‑squares estimation of parameters for successive autoregressive models of a stationary stochastic process given a sample of n = NOBS observations {Wt} for t = 1, …, n.
Let
be the estimate of the mean μ of the stochastic process {Wt} where
Consider the autoregressive model of order k defined by
where
and
Successive AR(k) models are fit to the centered data using Durbin’s algorithm (1960) based on the sample autocovariances
Note that the variance
used in the fitting algorithm is adjusted by the amount δ = WNADJ according to
See Robinson (1967, page 96).
Iteration to the next higher order model terminates when either the expected mean square error of the model is less than EPS or when k = MLFOP. The forecast operator ɸ = (ɸ1, ɸ2, …, ɸk*)T for k* = LFOP is contained in FOP. See also Craddock (1969).
Comments
1. Workspace may be explicitly provided, if desired, by use of S2WF/DS2WF. The reference is:
CALL S2WF (NOBS, W, IWMEAN, WMEAN, WNADJ, EPS, MLFOP, LFOP, FOP, CW, WK)
The additional arguments are as follows:
CW — Vector of length NOBS containing the centered time series W. (Output)
WK — Vector of length 2 * MLFOP + 1. (Output)
2. Informational error
Type |
Code |
Description |
3 |
5 |
No operator could be found of length less than or equal to MLFOP that produced a normalized mean square error less than EPS. |
3 The length of the forecast operator is determined by the arguments EPS and MLFOP. Iteration to a longer forecast operator stops when either the normalized mean square error is less than EPS, or the operator reaches the maximum allowable length, MLFOP.
4. The white noise adjustment factor, WNADJ, is used to modify the the estimate of the variance of the time series W used in the computation of the autocorrelation function of W. In the absence of white noise, WNADJ should be set to zero.
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. Application of routine SPWF to these data produces the following results:
USE GDATA_INT
USE SPWF_INT
USE UMACH_INT
IMPLICIT NONE
INTEGER MLFOP, NOBS, NOUT, IMEAN, I
PARAMETER (MLFOP=1, NOBS=100)
! INTEGER I, IMEAN, LFOP, NCOL, NOUT, NROW
REAL EPS, FOP(MLFOP), RDATA(176,2), W(NOBS), WMEAN, WNADJ
REAL NROW, NCOL, LFOP
!
EQUIVALENCE (W(1), RDATA(22,2))
! Wolfer Sunspot Data for
! years 1770 through 1869
CALL GDATA (2, RDATA, NROW, NCOL)
! Center on arithmetic mean
IMEAN = 0
WMEAN = 46.976
! White noise adjustment
WNADJ = 0.0
! Bound on normalized MSE
EPS = 0.1
! Determine autoregressive model
CALL SPWF (W, WNADJ, EPS, MLFOP, LFOP, FOP, IWMEAN=IMEAN, &
WMEAN=WMEAN)
! Print results
CALL UMACH (2, NOUT)
WRITE (NOUT,99997) LFOP
99997 FORMAT (/, 1X, 'Forecast operator length, LFOP = ', I2)
WRITE (NOUT,99998)
99998 FORMAT (/, 1X, ' I FOP(I)')
DO 10 I=1, LFOP
WRITE (NOUT,99999) I, FOP(I)
99999 FORMAT (1X, I2, 2X, F12.4)
10 CONTINUE
!
END
Output
*** WARNING ERROR 5 from SPWF. No operator could be found of length less
*** than or equal to 1 which produced a normalized mean square
*** error less than 1.000000E-01.
Forecast operator length, LFOP = 1
I FOP(I)
1 0.8063