Methods for Temporal Disaggregation and Interpolation of Time
Series
Temporal disaggregation methods are used to disaggregate and
interpolate a low frequency time series to a higher frequency series, where
either the sum, the mean, the first or the last value of the resulting
high frequency series is consistent with the low frequency series. Temporal
disaggregation can be performed with or without one or more high frequency
indicator series. Contains the methods of Chow-Lin, Santos-Silva-Cardoso,
Fernandez, Litterman, Denton and Denton-Cholette, summarized in Sax and
Steiner (2013) . Supports most R time series
classes.
tempdisagg: Methods for Temporal Disaggregation and Interpolation of Time Series
Temporal disaggregation methods are used to disaggregate or interpolate a low
frequency time series to a higher frequency series, where either the sum, the
average, the first or the last value of the resulting high frequency series is
consistent with the low frequency series. Temporal disaggregation can be
performed with or without one or more high frequency indicator series. Contains
the methods of Chow-Lin, Santos-Silva-Cardoso, Fernandez, Litterman, Denton and
Denton-Cholette.
A good way to start is to run the interactive demo:
library(tempdisagg)
demo(tempdisagg)
or read the help page of the main function (?td). Our article on
temporal disaggregation of time series in the R-Journal describes
the package and the theory of temporal disaggregation in more detail.
Please report bugs on Github or send an
e-mail, thank you!
News
0.25 2016-??-??
changes visible to the user:
new methods: dynamic-maxlog, dynamic-minrss, dynamic-fixed, as described in
Santos Silva and Cardoso, 2001. Many thanks to Tommaso Di Fonzo for providing
a blueprint written in GAUSS.
updated documentation to include new methods.
minor changes:
better checks for non-time-series inputs.
(https://github.com/christophsax/tempdisagg/issues/20)
added extensive numerical testing on travis.
bug fixes:
ta() returns correct results if conversion is "last" or "first", and the first
or the last period is incomplete.
(https://github.com/christophsax/tempdisagg/issues/22)
0.24 2014-12-07
changes visible to the user:
retropolation: 'td' will performs both extra- and retropolation if the high
frequency series covers a larger time span than the low frequency series.
low frequency values are ignored if series is longer than high frequency
series (with a warning).
suggestion to use 'denton-cholette' when the original 'denton' method is
chosen.
0.23 2014-01-11
changes visible to the user:
Our R-Journal article on temporal disaggregation explains tempdisagg in more
detail. Links are included in the package description, the help files and
the README file.
minor changes:
warning in ta() if a time series contains internal NAs.
formating tweaks in the help files.
0.22 2013-08-07
changes visible to the user:
predict method for 'td' is now different from fitted:
$fitted.values of a 'td' object now containts the low-frequency fitted
values of a regression or the low-frequency indicator in case of the
Denton methods. The values are be accessed by fitted().
The final high frequency series is now stored in $values. As before, these
values are accessed by predict().
Package overview (?tempdisagg)
Demo (demo(tempdisagg))
argument 'truncated.rho = 0' instead of 'no.neg = TRUE'. This allows for
truncation values different from 0. Default behavior is the same as in 0.21.
bug fixes
in 0.21, ta() produced an error if less than a low-frequency unit was
covered by high frequency data. Now it produces series containing only NA.
If a singular data matrix is entered, there is a new warning.
0.21 2013-01-21
changes visible to the user:
new methods available: "chow-lin-fixed" and "litterman-fixed".
Using the "fixed.rho" argument, an autoregressive parameter may be specified
by the user.
interface changes: "chow-lin-maxlog-ecotrim" and "chow-lin-maxlog-quilis"
are defined as new methods. No need for the old 'vcov' argument anymore.
new defaults: method = "chow-lin-maxlog", neg.rho = FALSE
with positive values for rho only, the chow-lin-maxlog method generally
outperforms the other methods.
all relevant arguments are directly entered to td()
summary output: If neg.rho = FALSE and a negative rho is truncated to 0, and
indicator is shown in the summary output.
non time-series mode: optionally, standard vectors can be used instead of
time series. In this case, the frequency of low frequency variable is 1,
while the fraction of the high frequency variable is specified by the 'to'
argument
updated help files
invisible changes:
td() is rewritten and has a clear structure now.
GLS Regressions are performed by the new CalcGLS() function, which uses
QR-decomposition instead of matrix-inversion. This is faster and
numerically stable. It resolves an issue wher large (or small) numbers have
led to a 'system is computationally singular' error.