Performs lack-of-fit test for a univariate time series or transfer function given the appropriate correlation function.
NOBS Number of
observations in the stationary time series. (Input)
NOBS
must be greater than or equal to two.
LAGMIN Minimum
lag of the correlation function. (Input)
LAGMIN corresponds to
the lower bound of summation in the lack of fit test statistic. Generally, LAGMIN is set to one
if CF
is an autocorrelation function and is set to zero if CF
is a cross correlation function.
LAGMAX Maximum
lag of the correlation function. (Input)
LAGMAX
corresponds to the upper bound of summation in the lack of fit test statistic.
LAGMAX
must be greater than or equal to LAGMIN
and less than NOBS.
CF Vector of
length LAGMAX
+ 1 containing the correlation function. (Input)
The correlation
coefficient for lag k is given by CF(k
+ 1), k = LAGMIN,
LAGMIN +
1,
, LAGMAX.
NPFREE Number
of free parameters in the formulation of the time series model.
(Input)
NPFREE
must be greater than or equal to zero and less than LAGMAX.
Q Lack of fit test statistic. (Output)
PVALUE
p-value of the test statistic Q. (Output)
Under the null
hypothesis, Q
has an approximate chi-squared distribution with
LAGMAX
− LAGMIN
+ 1 − NPFREE
degrees of freedom.
Generic: CALL LOFCF (NOBS, LAGMIN, LAGMAX, CF, NPFREE, Q, PVALUE)
Specific: The specific interface names are S_LOFCF and D_LOFCF.
Single: CALL LOFCF (NOBS, LAGMIN, LAGMAX, CF, NPFREE, Q, PVALUE)
Double: The double precision name is DLOFCF.
Routine LOFCF performs a portmanteau lack of fit test for a time series or transfer function containing n observations given the appropriate sample correlation function
for k = L, L + 1, , K where L = LAGMIN and K = LAGMAX.
The basic form of the test statistic Q is
with L = 1 if
is an autocorrelation function and L = 0 if
is a cross-correlation function. Given that the model is adequate, Q has a chi-squared distribution with K − L + 1 − m degrees of freedom where m = NPFREE is the number of parameters estimated in the model. If the mean of the time series is estimated, Woodfield (1990) recommends not including this in the count of the parameters estimated in the model. Thus, for an ARMA(p, q) model set NPFREE = p + q regardless of whether the mean is estimated or not. The original derivation for time series models is due to Box and Pierce (1970) with the above modified version discussed by Ljung and Box (1978). The extension of the test to transfer function models is discussed by Box and Jenkins (1976, pages 394395).
Routine LOFCF may be used to diagnose lack of fit in both ARMA and transfer function models. Typical arguments for these situations are
Model |
LAGMIN |
LAGMAX |
NPFREE |
ARMA(p, q) |
1 |
|
p + q |
Transfer function |
0 |
|
r + s |
See the Description section for further information.
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. An ARMA(2,1) with nonzero mean is fitted using routine NSLSE. The autocorrelations of the residuals are estimated using routine ACF. A portmanteau lack of fit test is computed using 10 lags with LOFCF.
The warning message from NSLSE in the output can be ignored. (See the Example for routine NSLSE for a full explanation of the warning message.)
USE IMSL_LIBRARIES
IMPLICIT NONE
INTEGER IARDEG, IMEAN, IPRINT, ISEOPT, LAGMAX, LAGMIN, LDCOV,&
LDX, MAXBC, MDX, NOBS, NP, NPAR, NPFREE, NPMA
PARAMETER (IARDEG=2, IMEAN=1, IPRINT=0, ISEOPT=0, LAGMAX=10, &
LAGMIN=1, LDX=176, MAXBC=10, MDX=2, NOBS=100, NPAR=2, &
NPFREE=4, NPMA=1, NP=NPAR+NPMA+IMEAN, LDCOV=NP)
!
INTEGER LAGAR(NPAR), LAGMA(NPMA), MAXIT, NA, NCOL, NOUT, NROW
REAL A(NOBS-IARDEG+MAXBC), ACV(LAGMAX+1), AVAR, &
CF(LAGMAX+1), CNST, COV(LDCOV,NP), PAR(NPAR), &
PMA(NPMA), PVALUE, Q, RELERR, SEAC(LAGMAX), TOLBC, &
TOLSS, W(NOBS), WMEAN, X(LDX,MDX)
!
EQUIVALENCE (W(1), X(22,2))
!
DATA LAGAR/1, 2/, LAGMA/1/
!
CALL UMACH (2, NOUT)
! Wolfer Sunspot Data for
! years 1770 through 1869
CALL GDATA (2, X, NROW, NCOL)
! USE Default Convergence parameters
! Compute preliminary parameter
! estimates for ARMA(2,1) model
CALL NSPE (W, CNST, PAR, PMA, AVAR, WMEAN=WMEAN)
! Compute least squares estimates
! for model
TOLSS = 0.125
!
CALL NSLSE (W, PAR, LAGAR, PMA, LAGMA, MAXBC, CNST, COV, &
AVAR, IMEAN=IMEAN, WMEAN=WMEAN, TOLSS=TOLSS, A=A)
! Compute autocorrelations of the
! residuals
CALL ACF (A, LAGMAX, CF)
!
CALL LOFCF (NOBS, LAGMIN, LAGMAX, CF, NPFREE, Q, PVALUE)
!
WRITE (NOUT,99998) Q
WRITE (NOUT,99999) LAGMAX - LAGMIN + 1 - NPFREE, PVALUE
!
99998 FORMAT (/4X, 'Lack of Fit statistic (Q) = ', F12.3)
99999 FORMAT (/4X, 'Degrees of freedom (LAGMAX-LAGMIN+1-NPFREE) = ', &
I8/4X, 'P-value (PVALUE) = ', F12.4)
END
***WARNING ERROR 1 from NSLSE. Least squares
estimation of the
parameters
*** has failed to
converge. Increase MAXBC and/or TOLBC
and/or
*** TOLSS. The
estimates of the parameters at the last
iteration
*** may be used as
new starting values.
Lack of Fit statistic (Q)
= 14.572
Degrees of freedom
(LAGMAX-LAGMIN+1-NPFREE) =
6
P-value (PVALUE) = 0.9761
PHONE: 713.784.3131 FAX:713.781.9260 |