fts.spectral.density function

Functional spectral and cross-spectral density operator

Functional spectral and cross-spectral density operator

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

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 TT functional observations.
  • Y: an object of class fd containing TT functional observations.
  • freq: a vector containing frequencies in [π,π][-\pi, \pi] 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.

Returns

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 kk-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)

Details

Let X1(u),,XT(u)X_1(u),\ldots, X_T(u) and Y1(u),,YT(u)Y_1(u),\ldots, Y_T(u) be two samples of functional data. The cross-spectral density kernel between the two time series (Xt(u))(X_t(u)) and (Yt(u))(Y_t(u)) is defined as

fωXY(u,v)=hZCov(Xh(u),Y0(v))eihω. f^{XY}_\omega(u,v)=\sum_{h\in\mathbf{Z}} \mathrm{Cov}(X_h(u),Y_0(v)) e^{-ih\omega}.

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

f^ωXY(u,v)=hqw(k/q)c^hXY(u,v)eihω, \widehat{f}^{XY}_\omega(u,v)=\sum_{|h|\leq q} w(|k|/q)\widehat{c}^{XY}_h(u,v)e^{-ih\omega},

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

Since Xt(u)=b1(u)xtX_t(u)=\boldsymbol{b}_1^\prime(u)\mathbf{x}_t and Yt(u)=ytb2(u)Y_t(u)=\mathbf{y}_t^\prime \boldsymbol{b}_2(u) we can write

f^ωXY(u,v)=b1(u)F^xy(ω)b2(v), \widehat{f}^{XY}_\omega(u,v)=\boldsymbol{b}_1^\prime(u)\widehat{\mathcal{F}}^{\mathbf{xy}}(\omega)\boldsymbol{b}_2(v),

where F^xy(ω)\widehat{\mathcal{F}}^{\mathbf{xy}}(\omega) is defined as for the function spectral.density for series of coefficient vectors (xt ⁣:1tT)(\mathbf{x}_t\colon 1\leq t\leq T) and (yt ⁣:1tT)(\mathbf{y}_t\colon 1\leq t\leq T).

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)

See Also

The multivariate equivalent in the freqdom package: spectral.density

  • Maintainer: Kidzinski L.
  • License: GPL-3
  • Last published: 2022-04-19

Useful links