fts.rma: Simulate functional moving average processes

View source: R/fts.rma.R

fts.rmaR Documentation

Simulate functional moving average processes

Description

Generate a functional moving average process.

Usage

fts.rma(
  n = 100,
  d = 11,
  Psi = NULL,
  op.norms = NULL,
  noise = "mnorm",
  sigma = diag(d:1)/d,
  df = 4
)

Arguments

n

number of observations to generate.

d

dimension of the underlying multivariate VAR model.

Psi

an array of p≥q 1 coefficient matrices (need to be square matrices). Psi[,,k] is the k-th coefficient matrix. If Psi is provided then d=dim(Psi)[1]. If no value is set then we generate a functional autoregressive process of order 1. Then, Psi[,,1] is proportional to \exp(-|i-j|\colon 1≤q i, j≤q d) and such that Hilbert-Schmidt norm of the corresponding lag-1 MA operator is 1/2.

op.norms

a vector with non-negative scalar entries to which the Psi are supposed to be scaled. The length of the vector must equal to the order of the model.

noise

"mnorm" for normal noise or "mt" for student t noise. If not specified "mvnorm" is chosen.

sigma

covariance or scale matrix of the coefficients corresponding to functional innovations. The default value is diag(d:1)/d.

df

degrees of freqdom if noise = "mt".

Details

The purpose is to simulate a functional autoregressive process of the form

X_t(u)=∑_{k=1}^p \int_0^1Ψ_k(u,v) X_{t-k}(v)dv+\varepsilon_t(u),\quad 1≤q t≤q n.

Here we assume that the observations lie in a finite dimensional subspace of the function space spanned by Fourier basis functions \boldsymbol{b}^\prime(u)=(b_1(u),…, b_d(u)). That is X_t(u)=\boldsymbol{b}^\prime(u)\boldsymbol{X}_t, \varepsilon_t(u)=\boldsymbol{b}^\prime(u)\boldsymbol{\varepsilon}_t and Ψ_k(u,v)=\boldsymbol{b}^\prime(u)\boldsymbol{Ψ}_k \boldsymbol{b}(v). Then it follows that

\boldsymbol{X}_t=\boldsymbol{Ψ}_1\boldsymbol{X}_{t-1}+\cdots+ \boldsymbol{Ψ}_p\boldsymbol{X}_{t-p}+\boldsymbol{\varepsilon}_t.

Hence the dynamic of the functional time series is described by a VAR(p) process.

In this mathematical model the law of \boldsymbol{\varepsilon}_t is determined by noise. The matrices Psi[,,k] correspond to \boldsymbol{Ψ}_k. If op.norms is provided, then the coefficient matrices will be rescaled, such that the Hilbert-Schmidt norms of \boldsymbol{Ψ}_k correspond to the vector.

Value

An object of class fd.

See Also

The multivariate equivalent in the freqdom package: rma

Examples

# Generate a FMA process without burnin (starting from 0)
fts = fts.rma(n = 5, d = 5)
plot(fts)

# Generate observations with very strong dependance
fts = fts.rma(n = 100, d = 5, op.norms = 0.999)
plot(fts)

# Generate observations with very strong dependance and noise
# from the multivariate t distribution
fts = fts.rma(n = 100, d = 5, op.norms = 0.999, noise = "mt")
plot(fts)

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