| fts.cov.structure {freqdom.fda} | R Documentation |
Estimate autocovariance and cross-covariances operators
Description
This function is used to estimate a collection of cross-covariances operators of two stationary functional series.
Usage
fts.cov.structure(X, Y = X, lags = 0)
Arguments
X |
an object of class |
Y |
an object of class |
lags |
an integer-valued vector |
Details
Let X_1(u),\ldots, X_T(u) and Y_1(u),\ldots, Y_T(u) be two samples of functional data. This function determines empirical lagged covariances between the series (X_t(u)) and (Y_t(u)). More precisely it determines
(\widehat{c}^{XY}_h(u,v)\colon h\in lags ),
where \widehat{c}^{XY}_h(u,v) is the empirical version of the covariance kernel \mathrm{Cov}(X_h(u),Y_0(v)).
For a sample of size T we set \hat\mu^X(u)=\frac{1}{T}\sum_{t=1}^T X_t(u) and
\hat\mu^Y(v)=\frac{1}{T}\sum_{t=1}^T Y_t(v). Now for h \geq 0
\frac{1}{T}\sum_{t=1}^{T-h} (X_{t+h}(u)-\hat\mu^X(u))(Y_t(v)-\hat\mu^Y(v))
and for h < 0
\frac{1}{T}\sum_{t=|h|+1}^{T} (X_{t+h}(u)-\hat\mu^X(u))(Y_t(v)-\hat\mu^Y(v)).
Since X_t(u)=\boldsymbol{b}_1^\prime(u)\mathbf{x}_t and Y_t(u)=\mathbf{y}_t^\prime \boldsymbol{b}_2(u) we can write
\widehat{c}^{XY}_h(u,v)=\boldsymbol{b}_1^\prime(u)\widehat{C}^{\mathbf{xy}}\boldsymbol{b}_2(v),
where \widehat{C}^{\mathbf{xy}} is defined as for the function “cov.structure” for series of coefficient vectors
(\mathbf{x}_t\colon 1\leq t\leq T) and (\mathbf{y}_t\colon 1\leq t\leq T).
Value
An object of class fts.timedom. The list contains the following components:
-
operators\quadan array. Element[,,k]contains the covariance matrix of the coefficient vectors of the two time series related to lag\ell_k. -
lags\quadthe lags vector from the arguments. -
basisX\quadX$basis, an object of classbasis.fd(seecreate.basis) -
basisY\quadY$basis, an object of classbasis.fd(seecreate.basis)
See Also
The multivariate equivalent in the freqdom package: cov.structure
Examples
# Generate an autoregressive process
fts = fts.rar(d=3)
# Get covariance at lag 0
fts.cov.structure(fts, lags = 0)
# Get covariance at lag 10
fts.cov.structure(fts, lags = 10)
# Get entire covariance structure between -20 and 20
fts.cov.structure(fts, lags = -20:20)
# Compute covariance with another process
fts0 = fts + fts.rma(d=3)
fts.cov.structure(fts, fts0, lags = -2:2)