Learn R Programming

fda.usc (version 1.2.3)

rproc2fdata: Simulate several random processes.

Description

Simulate Functional Data from different processes: Ornstein Uhlenbeck, Brownian, Fractional Brownian, Gaussian or Exponential variogram.

Usage

rproc2fdata(n,t=NULL,mu=rep(0,length(t)),sigma=1, par.list=list("scale"=1,"theta"=.2*diff(rtt),"H"=0.5), norm=FALSE,verbose=FALSE,...)

Arguments

n
Number of functional curves to be generated.
t
Discretization points.
mu
vector which specifies the trend values at the discretization points, by default mu=$\mu(t)=0$. If mu is a fdata class object, t$=$argvals(mu).
sigma
A positive-definite symmetric matrix, $\Sigma$, specifying the covariance matrix among grid points. If sigma is a scalar, creates a random Gaussian process with $\Sigma=$sigmaI (by default sigma=1). If sigma is a vector, creates a random Gaussian process with $\Sigma=$diag(sigma). If sigma is a character: create a random process using the covariance matrix $\Sigma$ indicated in the argument,
  • "OU" or "OrnsteinUhlenbeck", creates a random Ornstein Uhlenbeck process with $\Sigma(s,t)=\sigma^2/\theta exp(-\theta(s+t))(exp(2\theta(s+t)-1))$, by default $\theta=1/(3range(t))$, $\sigma^2=1$.
  • "brownian" or "wiener", creates a random Wiener process with $\Sigma(s,t)=\sigma^2 min(s,t)$, by default $\sigma^2=1$.
  • "fbrownian", creates a random fractional brownian process with $\Sigma(s,t)=\sigma^{2H}/2{|s|^{2H}+|t|^{2H}-|s-t|^{2H}}$, by default $\sigma^2=1$ and $H=0.5$ (brownian process).
  • "vexponential", creates a random gaussian process with exponential variogram $\Sigma=\sigma^2 exp(-|s-t|/\theta )$, by default $\theta=.2*range(t)$, $\sigma^2=1$.
par.list
List of parameter to process, by default "scale" $\sigma^2=1$, "theta" $\theta=0.2 range(t)$ and "H"=0.5.
norm
If TRUE the norm of random projection is 1. Default is FALSE
verbose
If TRUE, information about procedure is printed. Default is FALSE.
...
Further arguments passed to or from other methods.

Value

Return the functional random processes as a fdata class object.

Examples

Run this code
par(mfrow=c(3,2))
lent<-30
tt<-seq(0,1,len=lent)
mu<-fdata(rep(0,lent),tt)
plot(rproc2fdata(200,t=tt,sigma="OU",par.list=list("scale"=1)))
plot(rproc2fdata(200,mu=mu,sigma="OU",par.list=list("scale"=1)))
plot(rproc2fdata(200,t=tt,sigma="vexponential"))
plot(rproc2fdata(200,t=tt,sigma=1:lent))
plot(rproc2fdata(200,t=tt,sigma="brownian"))
plot(rproc2fdata(200,t=tt,sigma="wiener"))
#plot(rproc2fdata(200,seq(0,1,len=30),sigma="oo")) # this is an error 

Run the code above in your browser using DataLab