generate_gauss_fdata generates a dataset of univariate functional data with a desired mean and covariance function.

generate_gauss_fdata(N, centerline, Cov = NULL, CholCov = NULL)

## Arguments

N

the number of distinct functional observations to generate.

centerline

the centerline of the distribution, represented as a one- dimensional data structure of length $$P$$ containing the measurement of the centerline on grid points.

Cov

the covariance operator (provided in form of a $$P \times P$$ matrix) that has to be used in the generation of $$\epsilon(t)$$. At least one argument between Cov and CholCov should be different from NULL.

CholCov

the Cholesky factor of the covariance operator (provided in form of a $$P \times P$$ matrix) that has to be used in the generation of observations from the process $$\epsilon(t)$$. At least one argument between Cov and CholCov should be different from NULL.

## Value

The function returns a matrix containing the discretized values of the generated observations (in form of an $$N \times P$$matrix).

## Details

In particular, the following model is considered for the generation of data:

$$X(t) = m( t ) + \epsilon( t ), \quad t \in I = [a, b]$$

where $$m(t)$$ is the center and $$\epsilon(t)$$ is a centered gaussian process with covariance function $$C_i$$. That is to say:

$$Cov( \epsilon(s), \epsilon(t) ) = C( s, t ), \quad \forall s, t \in I$$

All the functions are supposed to be observed on an evenly-spaced, one- dimensional grid of P points: $$[a = t_0, t_1, \ldots, t_{P-1} = b] \subset I$$.

exp_cov_function, fData, generate_gauss_mfdata

## Examples


N = 30
P = 1e2

t0 = 0
tP = 1

time_grid = seq( t0, tP, length.out = P )

C = exp_cov_function( time_grid, alpha = 0.1, beta = 0.2 )

CholC = chol( C )

centerline = sin( 2 * pi * time_grid )

invisible(generate_gauss_fdata( N, centerline, Cov = C ))

invisible(generate_gauss_fdata( N, centerline, CholCov = CholC ))