approxMleWn1D: Approximate MLE of the WN diffusion in 1D

Description Usage Arguments Details Value References Examples

View source: R/mle.R

Description

Approximate Maximum Likelihood Estimation (MLE) for the Wrapped Normal (WN) in 1D using the wrapped Ornstein–Uhlenbeck diffusion.

Usage

1
2
3
approxMleWn1D(data, delta, start, alpha = NA, mu = NA, sigma = NA,
  lower = c(0.01, -pi, 0.01), upper = c(25, pi, 25), vmApprox = FALSE,
  maxK = 2, ...)

Arguments

data

a matrix of dimension c(n, p).

delta

discretization step.

start

starting values, a matrix with p columns, with each entry representing a different starting value.

alpha, mu, sigma

if their values are provided, the likelihood function is optimized with respect to the rest of unspecified parameters. The number of elements in start, lower and upper has to be modified accordingly (see examples).

lower

bound for box constraints as in method "L-BFGS-B" of optim.

upper

bound for box constraints as in method "L-BFGS-B" of optim.

vmApprox

flag to indicate von Mises approximation to wrapped normal. See
momentMatchWnVm and scoreMatchWnBvm.

maxK

maximum absolute winding number used if circular = TRUE.

...

further parameters passed to mleOptimWrapper.

Details

See Section 3.3 in García-Portugués et al. (2019) for details.

Value

Output from mleOptimWrapper.

References

García-Portugués, E., Sørensen, M., Mardia, K. V. and Hamelryck, T. (2019) Langevin diffusions on the torus: estimation and applications. Statistics and Computing, 29(2):1–22. doi: 10.1007/s11222-017-9790-2

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
alpha <- 0.5
mu <- 0
sigma <- 2
samp <- rTrajWn1D(x0 = 0, alpha = alpha, mu = mu, sigma = sigma, N = 1000,
                    delta = 0.1)
approxMleWn1D(data = samp, delta = 0.1, start = c(alpha, mu, sigma))
approxMleWn1D(data = samp, delta = 0.1, sigma = sigma, start = c(alpha, mu),
                lower = c(0.01, -pi), upper = c(25, pi))
approxMleWn1D(data = samp, delta = 0.1, mu = mu, start = c(alpha, sigma),
                lower = c(0.01, 0.01), upper = c(25, 25))

sdetorus documentation built on Aug. 19, 2021, 9:06 a.m.