simple.ef2: Simple estimating function based on the infinitesimal...

View source: R/simple.ef2.R

simple.ef2R Documentation

Simple estimating function based on the infinitesimal generator a the diffusion process

Description

Apply a simple estimating function based on the infinitesimal generator of a diffusion to find estimates of the parameters of a process solution of that particular stochastic differential equation.

Usage

simple.ef2(X, drift, sigma, h, h.x, h.xx, guess, lower, 
           upper) 

Arguments

X

a ts object containing a sample path of an sde.

drift

an expression for the drift coefficient; see details.

sigma

an expression for the diffusion coefficient; see details.

h

an expression of x and the parameters to be estimated; see details.

h.x

an expression of x containing the first derivative of h; see details.

h.xx

an expression of x containing the second derivative of h; see details.

guess

initial value of the parameters; see details.

lower

lower bounds for the parameters; see details.

upper

upper bounds for the parameters; see details.

Details

The function simple.ef2 minimizes the simple estimating function of the form sum_i f_i(x;theta) = 0, where f is the result of applying the infinitesimal generator of the diffusion to the function h. This involves the drift and diffusion coefficients plus the first two derivatives of h. If not provided by the user, the derivatives are calculated by the function.

Value

x

a vector of estimates

Author(s)

Stefano Maria Iacus

References

Kessler, M. (1997) Estimation of an ergodic diffusion from discrete observations, Scand. J. Statist., 24, 211-229.

Kessler, M. (2000) Simple and Explicit Estimating Functions for a Discretely Observed Diffusion Process, Scand. J. Statist., 27, 65-82.

Examples

set.seed(123) 
d <- expression(10 - x)
s <- expression(sqrt(x)) 
x0 <- 10
sde.sim(X0=x0,drift=d, sigma=s,N=1500,delta=0.1) -> X

# rather difficult problem unless a good initial guess is given
d <- expression(alpha + theta*x)
s <- expression(x^gamma) 
h <- list(expression(x), expression(x^2), expression(x^2))
simple.ef2(X, d, s, h, lower=c(0,-Inf,0), upper=c(Inf,0,1))

sde documentation built on Sept. 9, 2022, 3:07 p.m.