| pre.per {CNLTtsa} | R Documentation |
Functions to form periodogram objects with a common time and scale bins for bivariate series with different sampling grids for each component
Description
The CNLT forms detail coefficients for each component of a bivariate series. Due to the two components having different sampling grids, the details (and associated scales) won't have a common association for both series. Hence the details are sampled and mapped to a common timescale and a common set of scales via binning and averaging. These functions compute spectral objects on these common times / scales
Usage
pre.per(x, det, lre, lreA, scale.range = NULL, time.range = NULL, Arange = NULL,
Jstar = 20, Tstar = 50)
pre.per.comb(spec1, spec2)
pre.per.sample(spec1, spec2)
Arguments
x |
A vector corrsponding to the sampling grid of a component of a series. |
det |
A list of (real or imaginary parts of) the detail coefficients from a CNLT decomposition, such as from the output of |
lre |
A list of scales (removed integral lengths) corresponding to det from a CNLT decomposition, such as from the output of |
lreA |
A list of asymmetry values from a CNLT decomposition, such as from the output of |
scale.range |
An optional two-vector specifying the range of scales to be considered in the resulting output spectrum. |
time.range |
An optional two-vector specifying the range of times to be considered in the resulting output spectrum. |
Arange |
An optional two-vector specifying whether the values used in forming the output spectrum should be limited to those from a specific range of asymmetry values, see Sanderson (2010), chapter 6.2. |
Jstar |
The number of artificial scales in the output spectrum. |
Tstar |
The number of artificial times in the output spectrum. |
spec1 |
A periodogram corresponding to the first component of a bivariate series. |
spec2 |
A periodogram corresponding to the second component of a bivariate series. |
Details
For a bivariate series where the two components have different sampling grids, the co- /quadrature periodogram values are first formed using pre.per,
using a vector of Tstar equal time intervals, specified by setting Tstar and optionally time.range; they are also binned into Jstar
equal artificial levels by setting Jstar and optionally scale.range. The details are sampled using a common sampling vector with pre.per.sample,
and then combined using pre.per.comb. The periodogram is then smoothed over time. See Hamilton et al (2018), section 2.3 for more details.
Value
For pre.per, a list with components:
spec |
A matrix of dimension |
mscale |
A vector of scales (of length Jstar) corresponding to the rows of the spectrum |
mtime |
A vector of times (of length Tstar) corresponding to the columns of the spectrum |
For pre.per.sample, a list with components:
spec1 |
A matrix of dimension |
spec2 |
A matrix of dimension |
For pre.per.comb, a list with components:
spec |
A matrix of dimension |
Note
Note that these functions aren't intended to be used directly, but are called internally from the function cnlt.spec.DG.
Note also that the argument Tstar should be chosen small enough so that the range of the sampling grid x can be divided into equally spaced intervals,
with *at least one* gridpoint in an interval.
Author(s)
Jean Hamilton, Matt Nunes
References
Hamilton, J., Nunes, M. A., Knight, M. I. and Fryzlewicz, P. (2018) Complex-valued wavelet lifting and applications. Technometrics, 60 (1), 48-60, DOI 10.1080/00401706.2017.1281846.
See Also
cnlt.spec.DG,
smooth.over.time
Examples
# simulate data, e.g. two sinusoids
dat <- seq(from=1, to=3, by=0.1)
x1 <- cumsum(sample(dat, 200, TRUE))
x2 <- cumsum(sample(dat, 200, TRUE))
y1 <-sin(2*pi*(1/25)*x1) + sin(2*pi*(1/50)*x1)+ 1*sin(2*pi*(1/10)*x1)+ rnorm(length(x1), 0,0.2)
y3 <- sin(2*pi*(1/25)*x2[97:196]) + rnorm(length(x2), 0,0.1)
## Not run:
y1y3.dec<-cnlt.biv(x1, f1=y1, f2=y3, P = 500)
# compute the co-periodogram for the first component...
C1 <- pre.per(x1, sapply(y1y3.dec$det1,Re), y1y3.dec$lre1, y1y3.dec$lreA1, Jstar = 10)
# .. and for the second component
C2 <- pre.per(x1, sapply(y1y3.dec$det2,Re), y1y3.dec$lre2, y1y3.dec$lreA2, Jstar = 10)
## End(Not run)