Learn R Programming

multiwave (version 1.4)

mww_wav: multivariate wavelet Whittle estimation for data as wavelet coefficients

Description

Computes the multivariate wavelet Whittle estimation of the long-memory parameter vector d and the long-run covariance matrix for the already wavelet decomposed data.

Usage

mww_wav(xwav, index, psih, grid_K, LU = NULL)

Arguments

xwav

wavelet coefficients matrix (with scales in rows and variables in columns).

index

vector containing the largest index of each band, i.e. for \(j>1\) the wavelet coefficients of scale \(j\) are \(\code{dwt}(k)\) for \(k \in [\code{indmaxband}(j-1)+1,\code{indmaxband}(j)]\) and for \(j=1\), \(\code{dwt}(k)\) for \(k \in [1,\code{indmaxband}(1)]\).

psih

the Fourier transform of the wavelet mother at values grid_K.

grid_K

the grid for the approximation of the integral in K.

LU

bivariate vector (optional) containing L, the lowest resolution in wavelet decomposition U, the maximal resolution in wavelet decomposition. (Default values are set to L=1, and U=Jmax.)

Value

d

estimation of the vector of long-memory parameters.

cov

estimation of the long-run covariance matrix.

Details

L is fixing the lower limit of wavelet scales. L can be increased to avoid finest frequencies that can be corrupted by the presence of high frequency phenomena.

U is fixing the upper limit of wavelet scales. U can be decreased when highest frequencies have to be discarded.

References

S. Achard, I. Gannaz (2016) Multivariate wavelet Whittle estimation in long-range dependence. Journal of Time Series Analysis, Vol 37, N. 4, pages 476-512. http://arxiv.org/abs/1412.0391.

S. Achard, I Gannaz (2019) Wavelet-Based and Fourier-Based Multivariate Whittle Estimation: multiwave. Journal of Statistical Software, Vol 89, N. 6, pages 1-31.

See Also

mww_eval, mww_cov_eval,mww,mww_wav_eval,mww_wav_cov_eval

Examples

Run this code
# NOT RUN {
### Simulation of ARFIMA(0,d,0)
rho <- 0.4
cov <- matrix(c(1,rho,rho,1),2,2)
d <- c(0.4,0.2)
J <- 9
N <- 2^J

resp <- fivarma(N, d, cov_matrix=cov)
x <- resp$x
long_run_cov <- resp$long_run_cov

## wavelet coefficients definition
res_filter <- scaling_filter('Daubechies',8);
filter <- res_filter$h

LU <- c(2,11)

### wavelet decomposition

if(is.matrix(x)){
     N <- dim(x)[1]
     k <- dim(x)[2]
}else{
     N <- length(x)
     k <- 1
}
x <- as.matrix(x,dim=c(N,k))

     ## Wavelet decomposition
     xwav <- matrix(0,N,k)
     for(j in 1:k){
          xx <- x[,j]
             
          resw <- DWTexact(xx,filter)
          xwav_temp <- resw$dwt
          index <- resw$indmaxband
          Jmax <- resw$Jmax
          xwav[1:index[Jmax],j] <- xwav_temp;
     }
     ## we free some memory
     new_xwav <- matrix(0,min(index[Jmax],N),k)
     if(index[Jmax]<N){
          new_xwav[(1:(index[Jmax])),] <- xwav[(1:(index[Jmax])),]
     }
     xwav <- new_xwav
     index <- c(0,index)

##### Compute the wavelet functions 
res_psi <- psi_hat_exact(filter,10)
psih <- res_psi$psih
grid <- res_psi$grid

res_mww <- mww_wav(xwav,index, psih, grid,LU)


# }

Run the code above in your browser using DataLab