yuima.multimodel-class | R Documentation |
The yuima.multimodel
class is a class of the yuima package that extends the yuima.model-class
.
drift
:always expression((0))
.
diffusion
:a list of expression((0))
.
hurst
:always h=0.5
, but ignored for this model.
jump.coeff
:set according to scale
in setPoisson
.
measure
:a list containting the intensity measure and the jump distribution.
measure.type
:always "CP"
.
a vector of names identifying the names used to denote the state variable in the drift and diffusion specifications.
parameter
:which is a short name for “parameters”, is an
object of class model.parameter-class
. For more details see
model.parameter-class
documentation page.
state.variable
:identifies the state variables in the R expression.
jump.variable
:identifies the variable for the jump coefficient.
time.variable
:the time variable.
noise.number
:denotes the number of sources of noise.
equation.number
:denotes the dimension of the stochastic differential equation.
dimension
:the dimensions of the parameter given in the
parameter
slot.
solve.variable
:identifies the variable with respect to which the stochastic differential equation has to be solved.
xinit
:contains the initial value of the stochastic differential equation.
J.flag
:wheather jump.coeff include jump.variable.
simulation method. For more information see
simulate
.
Quasi maximum likelihood estimation procedure. For more information see qmle
.
The YUIMA Project Team
## Not run: # We define the density function of the underlying Levy dmyexp <- function(z, sig1, sig2, sig3){ rep(0,3) } # We define the random number generator rmyexp <- function(z, sig1, sig2, sig3){ cbind(rnorm(z,0,sig1), rgamma(z,1,sig2), rnorm(z,0,sig3)) } # Model Definition: in this case we consider only a multi # compound poisson process with a common intensity as underlying # noise mod <- setModel(drift = matrix(c("0","0","0"),3,1), diffusion = NULL, jump.coeff = matrix(c("1","0","0","0","1","-1","1","0","0"),3,3), measure = list( intensity = "lambda1", df = "dmyexp(z,sig1,sig2,sig3)"), jump.variable = c("z"), measure.type=c("CP"), solve.variable=c("X1","X2","X3")) # Sample scheme samp<-setSampling(0,100,n=1000) param <- list(lambda1 = 1, sig1 = 0.1, sig2 = 0.1, sig3 = 0.1) # Simulation traj <- simulate(object = mod, sampling = samp, true.parameter = param) # Plot plot(traj, main = " driven noise. Multidimensional CP", cex.main = 0.8) # We construct a multidimensional SDE driven by a multivariate # levy process without CP components. # Definition multivariate density dmyexp1 <- function(z, sig1, sig2, sig3){ rep(0,3) } # Definition of random number generator # In this case user must define the delta parameter in order to # control the effect of time interval in the simulation. rmyexp1 <- function(z, sig1, sig2, sig3, delta){ cbind(rexp(z,sig1*delta), rgamma(z,1*delta,sig2), rexp(z,sig3*delta)) } # Model defintion mod1 <- setModel(drift=matrix(c("0.1*(0.01-X1)", "0.05*(1-X2)","0.1*(0.1-X3)"),3,1), diffusion=NULL, jump.coeff = matrix(c("0.01","0","0","0","0.01", "0","0","0","0.01"),3,3), measure = list(df="dmyexp1(z,sig1,sig2,sig3)"), jump.variable = c("z"), measure.type=c("code"), solve.variable=c("X1","X2","X3"),xinit=c("10","1.2","10")) # Simulation sample paths samp<-setSampling(0,100,n=1000) param <- list(sig1 = 1, sig2 = 1, sig3 = 1) # Simulation set.seed(1) traj1 <- simulate(object = mod1, sampling = samp, true.parameter = param) # Plot plot(traj1, main = "driven noise: multi Levy without CP", cex.main = 0.8) # We construct a multidimensional SDE driven by a multivariate # levy process. # We consider a mixed situation where some # noise are driven by a multivariate Compuond Poisson that # shares a common intensity parameters. ### Multi Levy model rmyexample2<-function(z,sig1,sig2,sig3, delta){ if(missing(delta)){ delta<-1 } cbind(rexp(z,sig1*delta), rgamma(z,1*delta,sig2), rexp(z,sig3*delta), rep(1,z), rep(1,z)) } dmyexample2<-function(z,sig1,sig2,sig3){ rep(0,5) } # Definition Model mod2 <- setModel(drift=matrix(c("0.1*(0.01-X1)", "0.05*(1-X2)","0.1*(0.1-X3)", "0", "0"),5,1), diffusion=NULL, jump.coeff = matrix(c("0.01","0","0","0","0", "0","0.01","0","0","0", "0","0","0.01","0","0", "0","0","0","0.01","0", "0","0","0","0","0.01"),5,5), measure = list(df = "dmyexample2(z,sig1,sig2,sig3)", intensity = "lambda1"), jump.variable = c("z"), measure.type=c("code","code","code","CP","CP"), solve.variable=c("X1","X2","X3","X4","X5"), xinit=c("10","1.2","10","0","0")) # Simulation scheme samp <- setSampling(0, 100, n = 1000) param <- list(sig1 = 1, sig2 = 1, sig3 = 1, lambda1 = 1) # Simulation set.seed(1) traj2 <- simulate(object = mod2, sampling = samp, true.parameter = param) plot(traj2, main = "driven noise: general multi Levy", cex.main = 0.8) ## End(Not run)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.