simulate_KL: Simulation of a functional sample

Description Usage Arguments Value Examples

View source: R/simulation.R

Description

Simulate a functional sample using a Karhunen Loève expansion

Usage

1
simulate_KL(grid, size, mean, covariance = NULL, rho = NULL, theta = NULL)

Arguments

grid

the grid (of length T) over which the functional datasets are defined.

size

a positive integer indicating the size of the functional sample to simulate.

mean

a vector representing the mean of the sample.

covariance

a matrix from which the eigenvalues and eigenfunctions must be extracted.

rho

a vector of the eigenvalues to be used for the simulation.

theta

a matrix of the eigenfunctions to be used for the simulation.

Value

The function returns a functional data object of type funData.

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# Define parameters
n <- 50
P <- 100
K <- 150

# Grid of the functional dataset
t <- seq( 0, 1, length.out = P )

# Define the means and the parameters to use in the simulation
# with the Karhunen - Loève expansion
m1 <- t^2 * ( 1 - t )

lambda <- rep( 0, K )
theta <- matrix( 0, K, P )
for ( k in 1:K ) {
  lambda[k] <- 1 / ( k + 1 )^2
  if ( k%%2 == 0 )
    theta[k, ] <- sqrt( 2 ) * sin( k * pi * t )
  else if ( k%%2 != 0 && k != 1 )
    theta[k, ] <- sqrt( 2 ) * cos( ( k - 1 ) * pi * t )
  else
    theta[k, ] <- rep( 1, P )
}

# Simulate the functional data
x <- simulate_KL( t, n, m1, rho = lambda, theta = theta )

martinoandrea92/dpdistance documentation built on Nov. 18, 2017, 5:13 p.m.