DISAGGREGATE Procedure |
This is an "all-purpose" temporal disaggregation procedure, which can handle linear and log-linear versions of "Chow-Lin" type distributions, as well as proportional Denton.
@DISAGGREGATE( options ) oldser start end newser
# list of related series in Regression Format
If you have no related series, just do # on the second line with the rest blank.
Parameters
|
oldser |
series to distribute. This should be set up in the desired higher frequency. |
|
start end |
range over which to do the calculations. By default, the defined range of oldser |
|
newser |
output higher frequency series. |
Options
MODEL=[LINEAR]/LOGLIN/MULTIPLICATIVE
Specifies how the time series model and the regression model combine to model the observed data.
MODEL=LINEAR --> y=regression + noise.
MODEL=LOGLIN --> y=exp(regression+noise)
MODEL=MULT --> y=regression x noise
MAINTAIN=[SUM]/AVERAGE/FINAL/WEIGHTEDSUM
Indicates what the disaggregated data are supposed to match in the lower frequency data. SUM is the sum across the subperiods, AVERAGE is the average, and FINAL is the last value.
TSMODEL=[RW1]/AR1/RWAR1/RW2
Specifies one of several statistical models for the noise process. RW1 is a random walk, AR1 is a first order autoregression, RWAR1 is an ARIMA(1,1,0) and RW2 is ARIMA(0,2,0).
WEIGHTS=series of weights for MAINTAIN=WEIGHTEDSUM
RHO =input value of the AR1 parameter for AR1 and RWAR1 models
ESTIMATE/[NOESTIMATE]
If ESTIMATE, the RHO is estimated (by maximum likelihood) for the AR1 and RWAR1 models.
FACTOR=increase in the recording frequency (for instance, 3 for quarterly to monthly)
PRINT/[NOPRINT]
PRINT displays the estimation output if RHO needs to be estimated.
References
MODEL=LINEAR,TSMODEL=AR1 is Chow and Lin(1971), "Best Linear Unbiased Interpolation, Distribution and Extrapolation of Time Series by Related Series", Review of Economics and Statistics, vol 53, pp 372-375.
MODEL=LINEAR,TSMODEL=RW1 is Fernandez(1981), "A Methodological Note on the Estimation of Time Series", Review of Economics and Statistics, vol 63, pp 471-478.
MODEL=LINEAR,TSMODEL=RWAR1 is Litterman(1983), "A Random Walk, Markov Model for the Distribution of Time Series", JBES, vol 1, pp 169-173, with a different handling of the initial periods.
MODEL=MULTIPLICATIVE,TSMODEL=RW1 is the proportional Denton method
MODEL=LINEAR,TSMODEL=RW1,MAINTAIN=SUM with no related series is a generalization of Boot, Feibes, Lisman(1967) "Further methods of derivation of quarterly figures from annual data", Applied Statistics, vol. 16, no 1, 65-75.
Algorithm
The calculations are done using Kalman smoothing (for log-linear, with iterated linearizations). All of the above references use other constructive calculations, but they, in fact, all simply derived special cases of Kalman smoothing.
Example
*
* Data are from FRED. INDPRO is (monthly) industrial production, though
* we will use quarterly averages. GDPCA are annual GDP numbers (which
* start in 1929:1), GDPC1 are quarterly (starting in 1947:1). We'll use
* @DISAGGREGATE to create an estimate of quarterly GDP from 1929 on
* using industrial production as a related series.
*
open data demodisaggregate.rat
calendar(q) 1929:1
data(format=rats,compact=average) 1929:01 2012:04 indpro gdpc1 gdpca
*
* The model is log-linear using log IP as the explanatory variable, with
* an RWAR1 time series model, that is the assumed model at the quarterly
* level is
*
* log y(t) = beta x log ip(t) + z(t)
*
* where z(t) is an ARIMA(1,1,0) process
*
* with the constraint that the average of y across each year matches the
* observed value of GDPCA.
*
set logip = log(indpro)
@disaggregate(tsmodel=rwar1,model=loglin,factor=4,maintain=average,print) gdpca / gdpcq
# logip
*
* Over the full sample, the two lines run almost on top of each other,
* so this graphs the estimated quarterly value and the official
* quarterly value for a 10 year range.
*
graph(overlay=line,key=upleft,klabels=||"Official","Estimated","IP"||) 3
# gdpc1 2003:1 2012:4
# gdpcq 2003:1 2012:4
# indpro 2003:1 2012:4
Copyright © 2025 Thomas A. Doan