ps_ouss_asymptotic: Power spectrum of the OUSS process

Description Usage Arguments Details Value Note Author(s) References See Also Examples

Description

Returns the power spectrum of the Ornstein-Uhlenbeck state space (OUSS) process at a particular frequency. This is the asymptotic expected periodogram power for long regular time series.

Usage

1
2
3
ps_ouss_asymptotic(freq, power_o, sigma, 
                   rho, lambda, 
                   power_e, epsilon, time_step)

Arguments

freq

Single number or numeric vector. The frequency for which to the power spectrum is to be calculated.

power_o

Single non-negative number. Power spectrum at zero-frequency generated by the underlying OU process, when sampled at the given time_step. Either power_o or sigma (but not both) must be provided.

sigma

Single number. Standard deviation of OU fluctuations around equilibrium. Either power_o or sigma (but not both) must be provided.

rho

Single number between 0 (exclusive) and 1 (inclusive). Correlation of the OU process between two subsequent time points. Either rho or lambda (but not both) must be provided.

lambda

Single non-negative number. Resilience (or relaxation rate) of the OU process. This is also the inverse correlation time of the OU process. Either rho or lambda (but not both) must be provided.

power_e

Single non-negative number. Asymptotic power spectrum at large frequencies due to the random measurement errors. Setting this to zero corresponds to the classical OU process. Either power_e or epsilon (but not both) must be provided.

epsilon

Single number. Standard deviation of Gaussian measurement error. Setting this to zero corresponds to the classical OU process. Either power_e or epsilon (but not both) must be provided.

time_step

Positive number. The time step of the time series that was (or will be) used for periodogram generation.

Details

The OUSS parameters power_o, lambda and power_e will typically be maximum-likelihood fitted values returned by evaluate.pm. time_step is also returned by evaluate.pm and is inferred from the analysed time series. More generally, power_o and power_e are proportional to the OUSS parameters sigma^2 and epsilon^2 (see generate_ouss), respectively, but the exact scaling depends on the normalization used for the periodogram.

Value

Returns a numeric vector of the same size as freq, containing the corresponding powers of the OUSS process.

Note

This function is the asymptotic version of ps_ouss in the limit where series_size becomes very large. If you want to compare the expected periodogram to the periodogram of a short time series use ps_ouss instead.

Author(s)

Stilianos Louca

References

Louca, S., Doebeli, M. (2015) Detecting cyclicity in ecological time series, Ecology 96: 1724–1732

See Also

evaluate.pm, generate_ouss

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
# generate OUSS time series
times  = seq(0,20,0.25);
signal = generate_ouss(times, mu=0, sigma=1, lambda=1, epsilon=0.5);

# calculate periodogram and fit OUSS model
report = evaluate.pm(times=times, signal=signal, startRadius=2);

# plot periodogram
plot(report$frequencies, report$periodogram, 
     type="l", ylab="power", xlab="frequency", main="periodogram & fitted OUSS power spectrum");

# plot OUSS power spectrum
lines(report$frequencies, 
      ps_ouss_asymptotic( freq=report$frequencies, 
                          power_o=report$power_o, 
                          lambda=report$lambda, 
                          power_e=report$power_e, 
                          time_step=report$time_step), 
      col="red");

peacots documentation built on May 2, 2019, 5:41 a.m.