/ Home
S-Archive Download Script
robfreq Robust Frequency Estimation
Estimates a sum of sinusoidal signals robustly using elemental set estimators to initialize an MM estimation scheme. Simultaneously has high breakdown and high efficiency under normal errors.

Note that to use this function you will also need to obtain pronyfreq.
y numeric vector of observations.
nfreq number of frequencies to estimate.
scale numeric constant giving scale of the residuals. By default this is estimated using mscale for the starting parameter values.
breakdown numeric constant between 0 and 0.5 giving the desired breakdown point.
trace logical constant. If true, the progress of the algorithm is printed out in compact format.
maxregs The total number of evaluations of the LTS criterion allowed.
The output value is as for mmfreq.
This function implements a multstage estimation scheme for robust estimation of the frequencies. The first stage uses the method of elemental sets to approximate the LTS estimator. The last stage uses MM estimation with Hampel's redescending psi function. The estimators simultaneously have high breakdown and 95% efficiency under normal errors.

The model is

y = a[1]*cos(x*f[1]) + ... + a[p]*cos(x*f[p]) + a[p+1]*sin(x*f[1]) + ... + a[2*p]*sin(x*f[p])

The values for f define the freq vector while the values for a define the coef vector on output.

Smyth, G. K., and Hawkins, D. M. (2000). Robust frequency estimation using elemental sets. Journal of Computational and Graphical Statistics 9, 196-214. (Abstract - Zipped PostScript)
The function uses pronyfreq as a first step, and that function uses compiled code. This means that you will need to download and compile the Fortran code associated with pronyfreq.
mmnl, mscale, rho.hampel, psi.hampel, mmfreq


S-Archive Download Script

Gordon Smyth. Copyright © 1996-2016. Last modified: 10 February 2004