Multiperiod Lags and Higher-Order Differencing

### Multiperiod Lags and Higher-Order Differencing

To compute lags at a lagging period greater than 1, add the lag length to the end of the LAG keyword to specify the lagging
function needed. For example, the LAG2 function returns the value of its argument two calls ago, the LAG3 function returns
the value of its argument three calls ago, and so forth.

To compute differences at a lagging period greater than 1, add the lag length to the end of the DIF keyword. For example,
the DIF2 function computes the differences between the value of its argument and the value of its argument two calls ago.
(The maximum lagging period is 100.)

The following statements add the variables CPILAG12 and CPIDIF12 to the USCPI data set. CPILAG12 contains the value of CPI
from the same month one year ago. CPIDIF12 contains the change in CPI from the same month one year ago. (In this case, the
first 12 values of CPILAG12 and CPIDIF12 are missing.)

data uscpi;
set uscpi;
cpilag12 = lag12( cpi );
cpidif12 = dif12( cpi );
run;

To compute second differences, take the difference of the difference. To compute higher-order differences, nest DIF functions
to the order needed. For example, the following statements compute the second difference of CPI:

data uscpi;
set uscpi;
cpi2dif = dif( dif( cpi ) );
run;

Multiperiod lags and higher-order differencing can be combined. For example, the following statements compute monthly changes
in the inflation rate, with inflation rate computed as percent change in CPI from the same month one year ago:

data uscpi;
set uscpi;
infchng = dif( 100 * dif12( cpi ) / lag12( cpi ) );
run;

Copyright © SAS Institute Inc. All Rights Reserved.