ps_ouss_asymptotic {peacots} | R Documentation |
Power spectrum of the OUSS process
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
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 |
sigma |
Single number. Standard deviation of OU fluctuations around equilibrium. Either |
rho |
Single number between 0 (exclusive) and 1 (inclusive). Correlation of the OU process between two subsequent time points. Either |
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 |
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 |
epsilon |
Single number. Standard deviation of Gaussian measurement error. Setting this to zero corresponds to the classical OU process. Either |
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
Examples
# 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");