| Title: | Research Scientist |
| Tel: | 0151 795 4814 |
| Fax: | 0151 795 4801 |
| Email: |
Introduction
CATS is a program to use Maximum Likelihood Estimation to fit (via
weighted least squares) a multi-parameter model
to a time series (such as continuous GPS) while simultaneously analysing the data
to assess the type and magnitude of the noise contained in the series. The program solves
for all-parameters in a two-part procedure; the linear part includes an intercept, a slope,
the possibility of abrupt steps (as from earthquakes) and any known periodicities (for example annual),
while the non-linear part allows the parameters and amplitudes of several specific noise models
to be estimated. For more information see the relevant publications and pdf files below.
Software
The origins of this software come from a set of Matlab routines produced by Hadley Johnson.
When it became apparent that the routines were becoming too slow and there was a need to
for a package that is independent of commercial software, the routines were consolidated
and re-written in c. The majority of the mathematical computation is performed using the
the clapack and blas libraries.
There are currently two main versions of the software.
V3.0.1
This is the more stable release but has limited functionality compared to the most recent versions.
In particular the choice of stochastic models is limited to white noise, power-law noise and first-order
gauss markov noise and the noise models limited to white noise only, coloured noise only or
white noise plus coloured noise.
V3.1.1
This version is still in beta stage but allows more functionality. There are 4 more noise models to
choose from (including band-pass noise, variable white noise and generalised gauss markov nose)
and the overall noise model can be made up of any combination of individual noise models.
Version 3.1.1 also incorporates analysis methods other than MLE. The noise amplitides (for
selected models) can be estimated using empirical methods. The MLE can also be performed
using the Whittle MLE in the frequency domain using the power spectra. Finally, if you
"know" what noise you have in the time series then the program can perform simple Weighted
Least Squares based on the defined noise model.
Download and Availability
CATS is in the public domain and therefore the binaries and source code are available
to anyone. We only ask that proper credit be given to the authors. Prior to downloading we
ask for your e-mail so you can be informed of any bugs or when new updates are released.
There are several different options for downloading. Users with sufficient programming expertise
may download the source code, compile it and link it to the appropriate libraries. Otherwise we
offer some precompiled binaries (primarily for Linux)
Please enter your email address and you will be sent the link to download the code or binaries.
Known Bugs and Problems
V3.0.1
If the MLE algorithm finds no power-law noise in a series, the spectral index gets set to -2.906
with an amplitude of 0.0. This is because in the outer maximisation routine it does not check
that the white noise only MLE is greater than the white plus power-law noise model.
V3.1.1
The various uses of the downhill simplex algorithm require different sets of tolerances for
the minimisation (maximisation) test. These have not yet been tweaked thoroughly. For instance,
using the simplex for the one-dimensional maximisation of the spectral index is not as thorough
as using the brent algorithm (used in V3.0.1) leading to less function evaluations than really required.
Wishlist
More models: annually varying white noise amplitude model? Linearly varying white
noise model? Moving average model, AR(n) model.
In the future there is likely to be a new set of MATLAB routines for users who want to
manipulate their data in a way that is not possible in the CATS program.
parallelisation
Notes and documentation
Random notes on the First Order Gauss Markov noise model.
Some notes on the computation of the Maximum Log likelihood.
Integrated Random Walk Noise.
Whittle MLE.
Cats_v3.0.1 documentation.
Cats_v3.1.1 documentation.
Optimisation and the clapack/blas libraries
The software relies heavily on the clapack/blas libraries for the mathematics. The speed
of the software is very dependent therefore on how well optimised those libraries are
on your machine. Look at the documentation on the clapack web site for details on this.
Basically you can compile the whole libraries from scratch but you are unlikely to
get a very well optimised library. Alternatively you can download an optimised library for
your machine (for instance the atlas version)
or use an implementation from that comes with a specific compiler (e.g. portland
compiler or the intel compiler). You would still probably have to build the wrapper
library to link clapack with the blas library. I have found around 50% reduction in time
using the libraries that ship with the portland compiler compared to the gcc produced version.
In a test with John Langbein's MLE code (estnoise), compiled with the intel compiler there
was a 600% improvement in speed compared with the gnu f77 compiled version!
Relevant Publications
Gardner, M., Mathematical Games : White and brown music, fractal curves and one-over-f
fluctuations. Scientific American, 238, 4, 16-32, 1978.
Hosking, J.R.M., Fractional differencing. Biometrika 68, 1, 165-176, 1981
Langbein, J., Noise in two-color electronic distance meter measurements revisited, J. Geophys.
Res., 109, B04406, doi:10.1029/2003JB002819, 2004.
Langbein, J., and H. Johnson, Correlated errors in geodetic time series:
Implications for time-dependent deformation, J. Geophys. Res., 102, B1, 591-603,
1997.
Mao A., C. G. A. Harrison, T. H. Dixon, Noise in GPS coordinate time series.
J. Geophys. Res., 104, 2797-2816, 1999.
Williams, S. D. P., The effect of coloured noise on the uncertainties of rates
estimated from geodetic time series, J. Geodesy, 76 (9-10), 483-494, 2003.
Williams, S. D. P., Y. Bock, P. Fang, P. Jamason, R. M. Nikolaidis, L. Prawirodirdjo, M. Miller,
and D. J. Johnson, Error analysis of continuous GPS position time series, J. Geophys. Res., 109,
B03412, doi:10.1029/2003JB002741, 2004.
Zhang, J., Y. Bock, H. Johnson, P. Fang, S. Williams, J. Genrich, S. Wdowinski, and J. Behr,
Southern California Permanent GPS Geodetic Array : Error analysis of daily position estimates and
site velocities, J. Geophys. Res., 102, B8, 18035-18055, 1997.
Further selection of author's POL publications.