Inner product of cross-level wavelet autocorrelation functions.
methods
AutoCorrIP(J, filter.number =1, family ="DaubExPhase", crop =TRUE)
Arguments
J: Number of levels.
filter.number: Number of vanishing moments of the wavelet function.
family: Wavelet family, either "DaubExPhase"
or "DaubLeAsymm". The Haar wavelet is defined as default.
crop: Logical, should the output of AutoCorrIP be cropped such that the first dimension of the returned array relate to the offset range -2J:2J.This is set at TRUE
by default.
Details
Let ψ(x) denote the mother wavelet and the wavelet defined for level j as ψj,k(x)=2j/2ψ(2jx−k). The wavelet autocorrelation function between levels j & l is therefore:
Ψj,l(τ)=τ∑ψj,k(0)ψl,k−τ(0)
Here, integer τ defines the offset of the latter wavelet function relative to the first.
The inner product of this wavelet autocorrelation function is defined as follows for level indices j, l & h and offset λ:
Aj,l,hλ=τ∑Ψj,l(λ−τ)Ψh,h(τ)
Returns
A 4D array (invisibly returned) of order LxJxJxJ where L depends on the specified wavelet function. If crop=TRUE then L=2J+1+1. The first dimension defines the offset λ, whilst the second to fourth dimensions identify the levels indexed by j, l & h respectively.
References
Taylor, S.A.C., Park, T.A. and Eckley, I. (2019) Multivariate locally stationary wavelet analysis with the mvLSW R package. Journal of statistical software 90 (11) pp. 1--16, doi: 10.18637/jss.v090.i11.
Fryzlewicz, P. and Nason, G. (2006) HaarFisz estimation of evolutionary wavelet spectra. Journal of the Royal Statistical Society. Series B, 68 (4) pp. 611-634.
See Also
ipndacw.
Examples
## Plot Haar autocorrelation wavelet functions inner productAInnProd <- AutoCorrIP(J =8, filter.number =1, family ="DaubExPhase")## Not run:MaxOffset <-2^8for(h in6:8){ x11() par(mfrow = c(3,3))for(l in6:8){for(j in6:8){ plot(-MaxOffset:MaxOffset, AInnProd[, j, l, h], type ="l", xlab ="lambda", ylab ="Autocorr Inner Prod", main = paste("j :", j,"- l :", l,"- h :", h))}}}## End(Not run)## Special case relating to ipndacw function from wavethresh packageAmat <- matrix(NA, ncol =8, nrow =8)for(j in1:8) Amat[, j]<- AInnProd[2^8+1, j, j,]round(Amat,5)round(ipndacw(J =-8, filter.number =1, family ="DaubExPhase"),5)