Package 'CliftLRD'

Title: Complex-Valued Wavelet Lifting Estimators of the Hurst Exponent for Irregularly Sampled Time Series
Description: Implementation of Hurst exponent estimators based on complex-valued lifting wavelet energy from Knight, M. I and Nunes, M. A. (2018) <doi:10.1007/s11222-018-9820-8>.
Authors: Matt Nunes [aut, cre], Marina Knight [aut]
Maintainer: Matt Nunes <[email protected]>
License: GPL-2
Version: 0.1-1
Built: 2024-12-03 06:32:55 UTC
Source: CRAN

Help Index


Complex-Valued Wavelet Lifting Estimators of the Hurst Exponent for Irregularly Sampled Time Series

Description

Implementations of Hurst exponent estimators based on the relationship between wavelet lifting scales from complex-valued lifting schemes and wavelet energy.

Details

Package information:

Package: CliftLRD
Type: Package
Version: 0.1-1
Date: 2018-07-09
License: GPL-2

This package exploits a complex-valued wavelet transform for irregularly spaced data to form wavelet-like scale-based energy measures for a time series. This is then used to estimate the Hurst exponent for real- and complex-valued time series. The main routines are

liftHurstC and liftHurstCC

Author(s)

Matt Nunes, Marina Knight

Maintainer: Matt Nunes <[email protected]>

References

Knight, M. I, and Nunes, M. A. (2018) Long memory estimation for complex-valued time series. Stat. Comput. (to appear). Online First Article: DOI 10.1007/s11222-018-9820-8.

For related literature on the lifting methodology adopted in the technique, see

Hamilton, J., Nunes, M. A., Knight, M. I. and Fryzlewicz, P. (2017) Complex-valued lifting and applications. Technom.,60 (1), 48–60.

For more information on long-memory processes, see e.g.

Beran, J. et al. (2013) Long-memory processes. Springer.
Lilly, J. M., Sykulski, A. M., Early, J. J. and Olhede, S. C. (2017) Fractional Brownian motion, the Mat\'ern process, and stochastic modeling of turbulent dispersion. Nonlin. Proc. Geophys., 24, 481–514.


Performs (non-decimated) complex-valued lifting based estimation of the Hurst exponent of a real-valued time series

Description

The function exploits the linear relationship in complex-valued wavelet energy per scale to estimate the long range dependence parameter of an irregular (real-valued) time series.

Usage

liftHurstC(x, grid = 1:length(x), model = "FGN", ntraj = 50, cutoffs = 0, 
cut.fine = TRUE, efun = meanmoC, afun = idj, altype = 1, tail = TRUE, 
normalise = TRUE, level = 0.05, bc = TRUE, vc = TRUE, jsc = TRUE, 
BHonly=TRUE, ...)

Arguments

x

A real-valued time series, possibly irregularly spaced.

grid

The time samples corresponding to the time series x.

model

The underlying model the time series is assumed to follow. Possible values are "FBM", "FGN", and "ID".

ntraj

The number of lifting trajectories (bootstraps) used for the estimation of the Hurst exponent.

cutoffs

A vector indicating if the coarsest scales are to be removed when estimating the linear slope in the energy-scale relationship; for example if cutoffs = 0, all levels will be used in the estimation. For multiple cutoffs, all slopes will be calculated.

cut.fine

A boolean variable indicating if the finest (default) or coarsest scales are to be removed when estimating the linear slope in the energy-scale relationship; see cutoffs description for more information.

efun

A function indicating which measure of wavelet energy to use. The default is meanmoC, corresponding to the average (modulus) squared detail coefficient within a particular scale, scaled by (n-1). Another measure could be the traditional modulus squared mean, or the corresponding median calculation etc.

afun

A function indicating which measure of wavelet integral (scale) to use (corresponding to the x-axis of the energy-scale relationship). The default is idj, corresponding to the log2 of the dyadic wavelet scale, i.e an integer representing the scale.

altype

An integer indicating which type of artificial levels to be used, see
artificial.levels

for more information.

tail

A boolean variable indicating whether to amalgamate artificial levels with few coefficients, see artificial.levels

for more information.

normalise

A boolean variable indicating whether to normalise the detail coefficients by their individual (induced) standard deviations (computed using the diagonal of the complex-valued lifting matrix, see Hamilton et al. (2017) or fwtnppermC for more details).

level

The significance level for the bootstrap confidence interval of the Hurst exponent estimate.

bc

A boolean variable indicating whether bias-correction should take place or not, using the approximate chi^2 distribution of the wavelet energies.

vc

A boolean variable indicating whether a weighted linear regression should be used when estimating the Hurst exponent. If TRUE, the inverse of the variances of the approximate chi^2 distribution of the wavelet energies are used in the regression.

jsc

A boolean variable indicating whether the slope of the log-linear relationship between the artificial scales and the log of the integrals should be computed and used to reweight the estimate of the Hurst exponent.

BHonly

A boolean variable indicating whether only the Hurst estimate should be returned. If FALSE, then the (log) energies used in the calculation is also returned. Note that if bootstrapping is performed (tradonly=FALSE), then the energies for the last trajectory will be returned.

...

Any other optional arguments to the function fwtnpperm function from the nlt package, which performs wavelet lifting of the time series x according to a specified lifting trajectory.

Details

Complex-valued wavelet lifting is performed on a time series to convert it into a set of complex-valued wavelet coefficients and corresponding lifting integrals, specific to when the data were "lifted" during the decomposition. The coefficients are then grouped into artificial levels, using the integrals to mimic the support of the wavelets in the classical wavelet setting, and therefore producing a notion of scale. The complex-valued coefficients in each artificial level are then used to compute values of the wavelet energy for a particular level. The (slope of the) linear relationship between the scales and their energies is then used in computing an estimate of the Hurst exponent for the series. In effect, this is akin to performing two separate lifting transforms on the series, eliciting information from both parts of the complex-valued lifting transform. This procedure can be performed for multiple (random) lifting trajectories, each producing a slightly different estimate.

Value

The function returns a matrix of dimension length(cutoffs) x 5. The first column are the slopes of the regression fits for each cutoff, where the average is taken over the ntraj randomly generated lifting trajectories. Similarly, the second column represents the average Hurst exponent for the cutoffs over all lifting paths. The third column is the standard deviation of the ntraj Hurst estimates through performing non-decimated lifting. The fourth and fifth columns are the lower and upper values of the bootstrap confidence interval of the Hurst exponent estimate.

If BHonly=FALSE, the routine also returns the energies and scales (on a log scale) which are used in the regression to estimate the decay properties of the spectrum (for the last lifting trajectory).

Author(s)

Matt Nunes, Marina Knight

References

Knight, M. I. and Nunes, M. A. (2018) Long memory estimation for complex-valued time series. Stat. Comput. (to appear). Online First Article: DOI 10.1007/s11222-018-9820-8.
Hamilton, J., Nunes, M. A., Knight, M. I. and Fryzlewicz, P. (2017) Complex-valued lifting and applications. Technom.,60 (1), 48–60.

For more details on the weighted linear regression and bias calculations, see e.g.

Veitch, D. and Abry, P. (1999) A Wavelet-Based Joint Estimator of the Parameters of Long-Range Dependence. IEEE Trans. Info. Theory 45 (3), 878–897.

See Also

artificial.levels, Hfrombeta, fwtnppermC

Examples

library(fracdiff)

# simulate a long range dependent time series, and fake missingness
x<-fracdiff.sim(n = 200, d = 0.3)$series

missing<-sample(1:200,70,FALSE)
timeindex<-setdiff(1:200,missing)

Hestx<-liftHurstC(x[timeindex],grid=timeindex,ntraj=25)

Performs (non-decimated) complex-valued lifting based estimation of the Hurst exponent of a complex-valued time series

Description

The function exploits the linear relationship in complex-valued wavelet energy per scale to estimate the long range dependence parameter of an irregular (complex-valued) time series.

Usage

liftHurstCC(x, grid = 1:length(x), model = "FGN", ntraj = 50, cutoffs = 0, 
cut.fine = TRUE, efun = meanmoC, afun = idj, altype = 1, tail = TRUE, 
normalise = TRUE, level = 0.05, bc = TRUE, vc = TRUE, jsc = TRUE, 
BHonly=TRUE, ...)

Arguments

x

A complex-valued time series, possibly irregularly spaced.

grid

The time samples corresponding to the time series x.

model

The underlying model the time series is assumed to follow. Possible values are "FBM", "FGN", and "ID".

ntraj

The number of lifting trajectories (bootstraps) used for the estimation of the Hurst exponent.

cutoffs

A vector indicating if the coarsest scales are to be removed when estimating the linear slope in the energy-scale relationship; for example if cutoffs = 0, all levels will be used in the estimation. For multiple cutoffs, all slopes will be calculated.

cut.fine

A boolean variable indicating if the finest (default) or coarsest scales are to be removed when estimating the linear slope in the energy-scale relationship; see cutoffs description for more information.

efun

A function indicating which measure of wavelet energy to use. The default is meanmoC, corresponding to the average (modulus) squared detail coefficient within a particular scale, scaled by (n-1). Another measure could be the traditional modulus squared mean, or the corresponding median calculation etc.

afun

A function indicating which measure of wavelet integral (scale) to use (corresponding to the x-axis of the energy-scale relationship). The default is idj, corresponding to the log2 of the dyadic wavelet scale, i.e an integer representing the scale.

altype

An integer indicating which type of artificial levels to be used, see
artificial.levels

for more information.

tail

A boolean variable indicating whether to amalgamate artificial levels with few coefficients, see artificial.levels

for more information.

normalise

A boolean variable indicating whether to normalise the detail coefficients by their individual (induced) standard deviations (computed using the diagonal of the complex-valued lifting matrix, see Hamilton et al. (2017) or fwtnppermC for more details).

level

The significance level for the bootstrap confidence interval of the Hurst exponent estimate.

bc

A boolean variable indicating whether bias-correction should take place or not, using the approximate chi^2 distribution of the wavelet energies.

vc

A boolean variable indicating whether a weighted linear regression should be used when estimating the Hurst exponent. If TRUE, the inverse of the variances of the approximate chi^2 distribution of the wavelet energies are used in the regression.

jsc

A boolean variable indicating whether the slope of the log-linear relationship between the artificial scales and the log of the integrals should be computed and used to reweight the estimate of the Hurst exponent.

BHonly

A boolean variable indicating whether only the Hurst estimate should be returned. If FALSE, then the (log) energies used in the calculation is also returned. Note that if bootstrapping is performed (tradonly=FALSE), then the energies for the last trajectory will be returned.

...

Any other optional arguments to the function fwtnpperm function from the nlt package, which performs wavelet lifting of the time series x according to a specified lifting trajectory.

Details

Complex-valued wavelet lifting is performed on a complex-valued time series to convert it into a set of complex-valued wavelet coefficients and corresponding lifting integrals, specific to when the data were "lifted" during the decomposition. By using the conjugate of the lifting matrix and also applying this to the series, we can obtain a second set of complex-valued wavelet coefficients. The coefficients are grouped into artificial levels, using the integrals to mimic the support of the wavelets in the classical wavelet setting, and therefore producing a notion of scale. The complex-valued coefficients in each artificial level are then used to compute values of the wavelet energy for a particular level. The (slope of the) linear relationship between the scales and their energies is then used in computing an estimate of the Hurst exponent for the series. Since we have two sets of complex coefficients, the estimation of the log-linear relationship can be performed twice and the esitmates averaged. This procedure can be performed for multiple (random) lifting trajectories, each producing a slightly different estimate.

Value

The function the estimate of the Hurst exponent for the series after averaging over all ntraj lifting paths involved in the nondecimated lifting.

If BHonly=FALSE, the routine also returns the energies and scales (on a log scale) which are used in the regression to estimate the decay properties of the spectrum (for the last lifting trajectory).

Author(s)

Matt Nunes, Marina Knight

References

Knight, M. I. and Nunes, M. A. (2018) Long memory estimation for complex-valued time series. Stat. Comput. (to appear). Online First Article: DOI 10.1007/s11222-018-9820-8.
Hamilton, J., Nunes, M. A., Knight, M. I. and Fryzlewicz, P. (2017) Complex-valued lifting and applications. Technom.,60 (1), 48–60.

For more details on the weighted linear regression and bias calculations, see e.g.

Veitch, D. and Abry, P. (1999) A Wavelet-Based Joint Estimator of the Parameters of Long-Range Dependence. IEEE Trans. Info. Theory 45 (3), 878–897.

See Also

artificial.levels, Hfrombeta, fwtnppermC

Examples

# generate a fake complex-valued series 
x<-complex(real=rnorm(150), imaginary=rnorm(150))

# perform lifting-based estimation of the Hurst exponent

Hestx<-liftHurstCC(x,ntraj=25)

Functions to perform summary calculations of wavelet scales and energies resulting from complex-valued lifting transforms.

Description

To estimate the slope of the relationship between wavelet scale and wavelet energy, choices have to be made as to how these quantities are computed. Examples of these choices are the functions listed here.

Usage

meanC(x) 
meanmoC(x)

Arguments

x

a vector of values, representing the integrals or detail coefficients in a particular artificial level

Value

A numeric value corresponding to the average (modulus) squared detail coefficient or scaled average (modulus squared detail coefficient.

Author(s)

Matt Nunes, Marina Knight

References

Knight, M. I and Nunes, M. A. (2018) Long memory estimation for complex-valued time series. Stat. Comput. (to appear). Online First Article: DOI 10.1007/s11222-018-9820-8.

See Also

liftHurstC, liftHurstCC

Examples

x<-rnorm(50,30,2)
y<-rnorm(50,30,2)

z<-complex(real=x,imaginary=y)

# calculate the average squared value of complex-valued vector (i.e. energy)

meanC(z)