fts.spectral.density: Functional spectral and cross-spectral density operator

View source: R/fts.spectral.density.R

fts.spectral.densityR Documentation

Functional spectral and cross-spectral density operator

Description

Estimates the spectral density operator and cross spectral density operator of functional time series.

Usage

fts.spectral.density(
  X,
  Y = X,
  freq = (-1000:1000/1000) * pi,
  q = ceiling((dim(X$coefs)[2])^{     0.33 }),
  weights = "Bartlett"
)

Arguments

X

an object of class fd containing T functional observations.

Y

an object of class fd containing T functional observations.

freq

a vector containing frequencies in [-π, π] on which the spectral density should be evaluated. By default freq=(-1000:1000/1000)*pi.

q

window size for the kernel estimator, i.e. a positive integer. By default we choose q = max(1, floor((dim(X$coefs)[2])^{0.33})).

weights

kernel used in the spectral smoothing. For possible choices see spectral.density in package freqdom. By default the Bartlett kernel is chosen.

Details

Let X_1(u),…, X_T(u) and Y_1(u),…, Y_T(u) be two samples of functional data. The cross-spectral density kernel between the two time series (X_t(u)) and (Y_t(u)) is defined as

f^{XY}_ω(u,v)=∑_{h\in\mathbf{Z}} \mathrm{Cov}(X_h(u),Y_0(v)) e^{-ihω}.

The function fts.spectral.density determines the empirical cross-spectral density kernel between the two time series. The estimator is of the form

\widehat{f}^{XY}_ω(u,v)=∑_{|h|≤q q} w(|k|/q)\widehat{c}^{XY}_h(u,v)e^{-ihω},

with \widehat{c}^{XY}_h(u,v) defined in fts.cov.structure. The other paremeters are as in cov.structure.

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{f}^{XY}_ω(u,v)=\boldsymbol{b}_1^\prime(u)\widehat{\mathcal{F}}^{\mathbf{xy}}(ω)\boldsymbol{b}_2(v),

where \widehat{\mathcal{F}}^{\mathbf{xy}}(ω) is defined as for the function spectral.density for series of coefficient vectors (\mathbf{x}_t\colon 1≤q t≤q T) and (\mathbf{y}_t\colon 1≤q t≤q T).

Value

Returns an object of class fts.timedom. The list is containing the following components:

  • operators \quad an array. Element [,,k] in the coefficient matrix of the spectral density matrix evaluated at the k-th frequency listed in freq.

  • lags \quad returns the lags vector from the arguments.

  • basisX \quad returns X$basis, an object of class basis.fd (see create.basis).

  • basisY \quad returns Y$basis, an object of class basis.fd (see create.basis)

See Also

The multivariate equivalent in the freqdom package: spectral.density

Examples

data(pm10)
X = center.fd(pm10)

# Compute the spectral density operator with Bartlett weights
SD = fts.spectral.density(X, freq = (-50:50/50) * pi, q = 2, weight="Bartlett")
fts.plot.operators(SD, freq = -2:2)

# Compute the spectral density operator with Tukey weights
SD = fts.spectral.density(X, freq = (-50:50/50) * pi, q = 2, weight="Tukey")
fts.plot.operators(SD, freq = -2:2)
# Note relatively small difference between the two plots

# Now, compute the spectral density operator with Tukey weights and larger q
SD = fts.spectral.density(X, freq = (-50:50/50) * pi, q = 5, weight="Tukey")
fts.plot.operators(SD, freq = -2:2)

kidzik/fda.ts documentation built on April 19, 2022, 5:34 a.m.