The CSSM Procedure

Example 12.13 Bivariate Model: Sales of Mink and Muskrat Furs

This example considers a bivariate time series of logarithms of the annual sales of mink and muskrat furs by the Hudson’s Bay Company for the years 1850–1911. These data have been analyzed previously by many authors, including Chan and Wallis (1978); Harvey (1989); Reinsel (1997). There is known to be a predator-prey relationship between the mink and muskrat species: minks are principal predators of muskrats. Previous analyses for these data generally conclude the following:

  • An increase in the muskrat population is followed by an increase in the mink population a year later, and an increase in the mink population is followed by a decrease in the muskrat population a year later.

  • Because muskrats are not the only item in the mink diet and because both mink and muskrat populations are affected by many other factors, the model must include additional terms to explain the year-to-year variation.

The analysis in this example, which loosely follows the discussion in Harvey (1989, chap. 8, sec. 8), also leads to similar conclusions. It begins by taking Harvey’s model 8.8.8 (a and b), with autoregressive order one, as the starting model—that is, it assumes that the bivariate (mink, muskrat) process bold upper Y Subscript t satisfies the following relationship:

This model postulates that bold upper Y Subscript t can be expressed as a sum of three terms: mu mu Subscript t, a bivariate trend that is modeled as a random walk with drift beta beta; normal upper Phi normal upper Phi bold upper Y Subscript t minus 1, an AR(1) correction; and xi xi Subscript t, a bivariate Gaussian white noise disturbance. It is assumed that the AR coefficient matrix normal upper Phi normal upper Phi is stable (that is, its eigenvalues are less than 1 in magnitude) and that the bivariate disturbances nu nu Subscript t (white noise associated with mu mu Subscript t) and xi xi Subscript t are mutually independent.

The following statements load the furs data into the CAS table mycas.Cigar:

/* Load data into the CAS server */
data mycas.furs;
   set furs;
run;

The following statements show how you can specify this model in the CSSM procedure:

proc cssm data=mycas.furs plots=residual;

   /* Specify the ID variable */
   id year interval=year;

   /* Define parameters */
   parms rho1 rho2/ lower=-0.9999 upper=0.9999;
   parms msd1 msd2 esd1 esd2 / lower=1.e-6;

   /* Specify the terms with lagged response variables */
   deplag LagsForMink(LogMink) LogMink(lags=1) LogMusk(lags=1);
   deplag LagsForMusk(LogMusk) LogMink(lags=1) LogMusk(lags=1);

   /* Specify the bivariate trend */
   array rwQ{2,2};
   rwQ[1,1] = msd1*msd1; rwQ[1,2] = msd1*msd2*rho1;
   rwQ[2,1] = rwQ[1,2]; rwQ[2,2]=msd2*msd2;
   state alpha(2) type=RW W(I) cov(g)=(rwQ);
   comp minkLevel = alpha[1];
   comp muskLevel = alpha[2];

   /* Specify the bivariate white noise */
   array wnQ{2,2};
   wnQ[1,1] = esd1*esd1; wnQ[1,2] = esd1*esd2*rho2;
   wnQ[2,1] = wnQ[1,2]; wnQ[2,2]=esd2*esd2;
   state error(2) type=WN cov(g)=(wnQ);
   comp minkWn = error[1];
   comp muskWn = error[2];

   /* Specify the observation equation */
   model LogMink = LagsForMink minkLevel minkWn;
   model LogMusk = LagsForMusk muskLevel muskWn;

   /* Specify an output data set to store component estimates */
   output out=mycas.salesFor press;
run;

The different parts of the program are explained as follows:

Output 12.13.1 shows the estimate of the drift vector beta beta in the equation of mu mu Subscript t (mu mu Subscript t Baseline equals mu mu Subscript t minus 1 Baseline plus beta beta plus nu nu Subscript t).

Output 12.13.1: Estimate of the Drift Vector beta beta

Estimate of the State Equation Regression Vector
StateElement
Index
EstimateStandard
Error
t ValuePr > |t|
alpha1-0.00080.0323-0.030.9798
alpha20.00600.02580.230.8175


Clearly, both elements of beta beta are statistically insignificant, and the mu mu Subscript t equation can be simplified as mu mu Subscript t Baseline equals mu mu Subscript t minus 1 Baseline plus nu nu Subscript t. Next, Output 12.13.2 shows the estimates of the elements of normal upper Sigma 1, and normal upper Sigma 2, and Output 12.13.3 shows the estimates of the lag coefficients.

Output 12.13.2: Estimates of normal upper Sigma 1, and normal upper Sigma 2

Estimates of Named Parameters
ParameterEstimateStandard
Error
t Value
rho10.83100.13776.03
rho2-0.99991.6555-0.60
msd10.25000.03547.06
msd20.19910.05923.36
esd10.06620.05971.11
esd20.13440.05272.55


Output 12.13.3: Estimates of Lag Coefficients (Elements of normal upper Phi normal upper Phi)

Model Parameter Estimates
ComponentTypeParameterEstimateStandard
Error
t Value
LagsForMinkLag Coefficient Of LogMinkLag[1]-0.00110.1730-0.01
LagsForMinkLag Coefficient Of LogMuskLag[1]0.33490.13692.45
LagsForMuskLag Coefficient Of LogMinkLag[1]-0.99050.1419-6.98
LagsForMuskLag Coefficient Of LogMuskLag[1]0.65700.12085.44


The main points of the output can be summarized as follows:

Taken together, these observations suggest the reduced model

where normal upper Phi normal upper Phi equals left-parenthesis 0 phi 12 semicolon phi 21 phi 22 right-parenthesis and normal upper C normal o normal v left-parenthesis xi xi Subscript t Baseline right-parenthesis equals normal upper Sigma 2 is parameterized as (esd1*esd1 -esd1*esd2; -esd1*esd2 esd2*esd2). The program that produces the reduced model is a simple modification of the preceding program and is not shown.

Output 12.13.4: Estimates of normal upper Sigma 1, and normal upper Sigma 2 (Reduced Model)

Estimates of Named Parameters
ParameterEstimateStandard
Error
t Value
rho10.85260.09788.71
msd10.24720.02828.78
msd20.19550.03655.36
esd10.06790.03851.76
esd20.13720.03284.18


Output 12.13.5: Estimates of Lag Coefficients (elements of normal upper Phi normal upper Phi) (Reduced Model)

Model Parameter Estimates
ComponentTypeParameterEstimateStandard
Error
t Value
LagsForMinkLag Coefficient Of LogMuskLag[1]0.33030.09863.35
LagsForMuskLag Coefficient Of LogMinkLag[1]-0.99730.1168-8.54
LagsForMuskLag Coefficient Of LogMuskLag[1]0.66800.10036.66


The tables in Output 12.13.4 and Output 12.13.5 show the new parameter estimates. By examining the parameter estimates, you can easily see that this model supports the general conclusions mentioned at the start of this example. In particular, note the following:

Finally, Output 12.13.6 shows the plots of one-step-ahead and post-sample forecasts for LogMink and LogMusk, and Output 12.13.7 shows the plot of the smoothed (full-sample) estimate of the first element of mu mu Subscript t: LogMink Trend.

Output 12.13.6: Forecasts for Mink and Muskrat Fur Sales in Logarithms

Forecasts for Mink and Muskrat Fur Sales in Logarithms


Output 12.13.7: Smoothed Estimate of LogMink Trend

Smoothed Estimate of LogMink Trend


Last updated: April 15, 2021