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
\quad
an array. Element[,,k]
contains the covariance matrix of the coefficient vectors of the two time series related to lag\ell_k
. -
lags
\quad
the lags vector from the arguments. -
basisX
\quad
X$basis
, an object of classbasis.fd
(seecreate.basis
) -
basisY
\quad
Y$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)