This function seeks the whitest orthonormal transform of a DWPT. The goal is to segment the normalized frequency interval [0, 1/2] into subintervals such that, within each subinterval, the variability of the (corresponding) spectral density function (SDF) is minimized, i.e., each segment of the SDF is as flat as possible. Given an Npoint uniformly sampled time series X, and denoting W(j,n) as the DWPT crystal at level j and (sequency ordered) oscillation index n, this optimization is achieved as follows:
Perform a level J  2 partial DWPT of X where
J=floor(log2(N)).
By definition, W(0,0)=X. Begin
step 2
with j=n=0.
Perform a white noise test on the current (parent) crystal: W(j,n). If it passes (or the current crystal is in the last decomposition level) retain the crystal. Otherwise, discard the current parent crystal and perform the white noise test on its children: W(j+1,2n) and W(j+1,2n+1).
Repeat step 2
as many times as necessary until a suitable transform is found.
1  wavDWPTWhitest(x, significance=0.05, test="port2", wavelet="s8", n.level=NULL)

x 
a vector containing a uniformlysampled realvalued time series or an
object of class 
n.level 
the number of decomposition levels. This argument is used only if

significance 
a numeric value on the interval (0,1)
which qualitatively signifies the fraction of times that the
white noise hypothesis is incorrectly rejected.
The 
test 
a character string denoting the white noise test to use.
Options are 
wavelet 
a character string denoting the filter type.
See 
a list
containing the level
and osc
vectors denoting
the level and oscillation index, respectively, of the whitest transform.
D. B. Percival, S. Sardy and A. C. Davison, Wavestrapping Time Series: Adaptive WaveletBased Bootstrapping, in W. J. Fitzgerald, R. L. Smith, A. T. Walden and P. C. Young (Eds.), Nonlinear and Nonstationary Signal Processing, Cambridge, England: Cambridge University Press, 2001.
1 2 3 4 5 6 7 8  ## calculate the DWPT of the sunspots series
W < wavDWPT(as.numeric(sunspots), wavelet="s8", n.levels=9)
## find the whitest transform based on the
## Portmanteau I white noise test
z < wavDWPTWhitest(W, test="port1")
print(z)

Questions? Problems? Suggestions? Tweet to @rdrrHQ or email at ian@mutexlabs.com.
Please suggest features or report bugs with the GitHub issue tracker.
All documentation is copyright its authors; we didn't write any of that.