covF2dfa {DCCA} | R Documentation |
Autocovariance function of the detrended variance
Description
Calculates the autocovariance of the detrended variance.
Usage
covF2dfa(m = 3, nu = 0, h = 0, overlap = TRUE, G, Cumulants = NULL)
Arguments
m |
an integer or integer valued vector indicating the size of the window for the polinomial fit. |
nu |
a non-negative integer denoting the degree of the polinomial fit applied on the integrated series. |
h |
an integer or integer valued vector indicating the lags for which the autocovariance function is to be calculated. |
overlap |
logical: if true (the default), overlapping boxes are used for calculations. Otherwise, non-overlapping boxes are applied. |
G |
the autocovariance matrix for the original time series. The dimension of |
Cumulants |
The matrix containing the joint cumulants for lags. Dimension must be |
Value
A matrix with the autocovariance of lag h
, for each value of m
provided. This matrix is obtained from expressions (21) for h = 0
and (22) for h > 0
in Prass and Pumi (2019).
Author(s)
Taiane Schaedler Prass
References
Prass, T.S. and Pumi, G. (2019). On the behavior of the DFA and DCCA in trend-stationary processes <arXiv:1910.10589>.
Examples
## Not run:
ms = seq(3,100,1)
hs = seq(0,50,1)
overlap = TRUE
nu = 0
m_max = (max(ms)+1)*(max(hs)+1) - max(ms)*max(hs)*as.integer(overlap)
theta = c(c(1,(20:1)/10), rep(0, m_max - 20))
Gamma1 = diag(m_max+1)
Gamma2 = matrix(0, ncol = m_max+1, nrow = m_max+1)
Gamma12 = matrix(0, ncol = m_max+1, nrow = m_max+1)
for(t in 1:(m_max+1)){
for(h in 0:(m_max+1-t)){
Gamma2[t,t+h] = sum(theta[1:(length(theta)-h)]*theta[(1+h):length(theta)])
Gamma2[t+h,t] = Gamma2[t,t+h]
Gamma12[t,t+h] = theta[h+1]
}
}
covdfa1 = covF2dfa(m = ms, nu = 0, h = hs,
overlap = TRUE, G = Gamma1, Cumulants = NULL)
covdfa2 = covF2dfa(m = ms, nu = 0, h = hs,
overlap = TRUE, G = Gamma2, Cumulants = NULL)
cr = rainbow(100)
plot(ms, covdfa1[,1], type = "l", ylim = c(0,20),
xlab = "m", ylab = expression(gamma[DFA](h)), col = cr[1])
for(i in 2:ncol(covdfa1)){
points(ms, covdfa1[,i], type = "l", col = cr[i])
}
lattice::wireframe(covdfa1, drape = TRUE,
col.regions = rev(rainbow(150))[50:150],
zlab = expression(gamma[DFA]), xlab = "m", ylab = "h")
## End(Not run)