TREND
name
( type ) <options> ;
The TREND statement defines a trend term in the model. Loosely speaking, a trend is a special type of component that captures the time-varying level of the data. The options in the TREND statement enable you to specify a wide variety of commonly used trend patterns. Each TREND specification in effect stands for a special pair of STATE and COMPONENT statements. You can specify more than one TREND statement. Each separate trend specification defines a component that is assumed to be independent of all other component specifications in the model.
You can refer to the state associated with a TREND specification by appending the string “_state_”at the end of its name. For example, name_state_
is the state associated with a trend named name
. You can use name_state_
in a COMPONENT statement to define a linear combination of its elements. The estimate of this linear combination can then be printed or
output to a data set. The nominal dimension of name_state_
is taken to be 1, or the number of variables in the list that is specified in the CROSS= option in the TREND statement that
is used to define name
.
Some of these trend specifications are applicable to all the data types—that is, they can be used for both regular data types and irregular data types, while the others require that the data be regular or regular-with-replication. Of course, the trend specification is only a part of the overall model specification. Therefore, the other parts of the model can imply additional constraints on the data type.
Table 27.3 lists the available trend models and their data requirements. The type column shows the admissible keywords that signify the particular trend type. For brevity, the Data Type column in Table 27.3 groups the regular and regular-with-replication data types into one category: regular. The section Predefined Trend Models provides additional details about these trend models.
Table 27.3: Summary of Trend Types
type |
Data Type |
Description |
Parameters |
---|---|---|---|
ARIMA(P=integer D=integer …) |
Regular |
ARIMA trend specification |
AR and MA coefficients, |
and the error variance |
|||
DLL |
Regular |
Damped local linear |
Level and slope , , |
damping factor |
|||
LL |
Regular |
Local linear |
Level and slope , |
RW |
Regular |
Random walk |
Level |
DECAY |
Irregular |
A type of decay pattern |
Level , decay rate |
DECAY(OU) |
Irregular |
Ornstein-Uhlenbeck decay pattern |
Level , decay rate |
GROWTH |
Irregular |
A type of growth pattern |
Level , growth rate |
GROWTH(OU) |
Irregular |
Ornstein-Uhlenbeck growth pattern |
Level , growth rate |
PS(order) |
Irregular |
Polynomial spline of order up to 3 |
Level |
The keyword specification of different trend types, except possibly the ARIMA trend, is quite simple. For example, the following
statement specifies polySpline
as a trend of type polynomial spline of order 2:
trend polySpline(ps(2));
Similarly, the following statement defines dampedTrend
as a damped local linear trend:
trend dampedTrend(dll) slopevar=x;
The variance parameter that governs the slope equation of this trend type is given by a variable x
, which must be defined elsewhere in the program. The other parameters that define dampedTrend
are left unspecified.
The ARIMA trend specification permits specification of trends that follow an ARIMA(p,d,q)(P,D,Q) model. The specification of ARIMA models requires some notation, which is explained first.
Let denote the backshift operator—that is, for any sequence , . The higher powers of represent larger shifts (for example, ). A random sequence follows an ARIMA(p,d,q)(P,D,Q) model with nonseasonal autoregressive order , seasonal autoregressive order , nonseasonal differencing order , seasonal differencing order , nonseasonal moving average order , and seasonal moving average order if it satisfies the following difference equation that is specified in terms of the polynomials in the back-shift operator, where is a white noise sequence and is the season length:
The polynomials and are of orders , , , and , respectively, which can be any nonnegative integers. The season length must be a positive integer. For example, satisfies an ARIMA(1,0,1) model (that is, and ) if
for some coefficients and and a white noise sequence . Similarly satisfies an ARIMA(0,1,1)(0,1,1) model if
for some coefficients and and a white noise sequence . An ARIMA process is mean-zero, stationary, and invertible if , and the defining polynomials and have all their roots outside the unit circle—that is, their absolute values are strictly larger than 1.0. It is assumed that the coefficients of the polynomials and are constrained so that the stationarity and invertibility conditions are satisfied. The unknown coefficients of these polynomials become part of the model parameter vector that is estimated by using the data. The general form of ARIMA trend specification is as follows:
ARIMA(<P=integer> <D=integer> <Q=integer> <SP=integer> <SD=integer> <SQ=integer> <S=integer> )
By default, the different orders are equal to 0 and the season length is equal to 1. The following examples illustrate a few different ARIMA trend specifications:
This statement defines ima
as an integrated moving average trend:
trend ima(arima(d=1 q=1));
This statement defines airTrend
as a trend that satisfies the well-known Airline model (ARIMA(0,1,1)(0,1,1)12 model) for monthly seasonal data:
trend airTrend(arima(d=1 q=1 sd=1 sq=1 s=12));
This statement defines arma11
as a zero-mean ARMA(1,1) trend with autoregressive parameter fixed to 0.1:
trend arma11(arima(p=1 q=1)) ar=0.1;
For an example of the use of ARIMA trend specification, see the example Example 27.6.
You can use the following options in the TREND statement to specify the trend parameters and to request printing of the trend estimates. In addition, you can create a custom combination of given trend type by specifying the CROSS= option to create a more general trend. For an example of the use of the CROSS= option, see the section Getting Started: SSM Procedure and the discussion of the second model in Example 27.4.