GHBMP: Simulation of Gaussian Haar-based multifractional processes

View source: R/Simulation.R

GHBMPR Documentation

Simulation of Gaussian Haar-based multifractional processes

Description

This function simulates a realisation of a Gaussian Haar-based multifractional process at any time point or time sequence on the interval [0,1].

Usage

GHBMP(t, H, J = 15, num.cores = availableCores(omit = 1))

Arguments

t

Time point or time sequence on the interval [0,1].

H

Hurst function which depends on t (H(t)). See Examples for usage.

J

Positive integer. J is recommended to be greater than \log_2(length(t)). For large J values could be rather time consuming. Default is set to 15.

num.cores

Number of cores to set up the clusters for parallel computing.

Details

The following formula defined in Ayache, A., Olenko, A. & Samarakoon, N. (2025) was used in simulating Gaussian Haar-based multifractional process.

X(t) := \sum_{j=0}^{+\infty} \sum_{k=0}^{2^{j}-1}\left(\int_{0}^{1} (t-s)_{+}^{H_{j}(k/{2^j})-{1}/{2}} h_{j,k}(s)ds \right)\varepsilon_{j,k},

where

\int_{0}^{1} (t-s)_{+}^{H_{j,k}-\frac{1}{2}} h_{j,k} (s) ds = 2^{-j H_{j,k}} h^{[H_{j,k}]} (2^jt-k)

with h^{[\lambda]} (x) = \int_{\mathbb{R}} (x-s)_{+}^{\lambda-\frac{1}{2}} h(s) ds. h is the Haar mother wavelet, j and k are positive integers, t is time, H is the Hurst function and \varepsilon_{j,k} is a sequence of independent \mathcal{N}(0,1) Gaussian random variables. For simulations, the truncated version of this formula with first summation up to J is used.

Value

A data frame of class "mp" where the first column is time moments t and second column is simulated values of X(t).

Note

See Examples for the usage of constant, time-varying, piecewise or step Hurst functions.

References

Ayache, A., Olenko, A. and Samarakoon, N. (2025). On Construction, Properties and Simulation of Haar-Based Multifractional Processes. \Sexpr[results=rd]{tools:::Rd_expr_doi("doi:10.48550/arXiv.2503.07286")}. (submitted).

See Also

Hurst, plot.mp, Bm, FBm, FGn, Bbridge, FBbridge

Examples


#Constant Hurst function
t <- seq(0, 1, by = (1/2)^10)
H <- function(t) {return(0.4 + 0*t)}
GHBMP(t, H)

#Linear Hurst function
t <- seq(0, 1, by = (1/2)^10)
H <- function(t) {return(0.2 + 0.45*t)}
GHBMP(t, H)

#Oscillating Hurst function
t <- seq(0, 1, by = (1/2)^10)
H <- function(t) {return(0.5 - 0.4 * sin(6 * 3.14 * t))}
GHBMP(t, H)

#Piecewise Hurst function
t <- seq(0, 1, by = (1/2)^10)
H <- function(x) {
ifelse(x >= 0 & x <= 0.8, 0.375 * x + 0.2,
      ifelse(x > 0.8 & x <= 1,-1.5 * x + 1.7, NA))
}
GHBMP(t, H)


Rmfrac documentation built on Sept. 10, 2025, 10:31 a.m.