Last data update: 2014.03.03

R: Locating a Conditioned First-Passage-Time Variable
summary.fptlR Documentation

Locating a Conditioned First-Passage-Time Variable

Description

summary.fptl summary method for class “fptl”.

is.summary.fptl tests if its argument is an object of class “summary.fptl”.

print.summary.fptl shows an object of class “summary.fptl”.

Usage

## S3 method for class 'fptl'
summary(object, zeroSlope = 0.01, p0.tol = 8, k = 3, ...)

is.summary.fptl(obj)

## S3 method for class 'summary.fptl'
print(x, ...)

Arguments

object

an object of class ‘fptl’, a result of a call to FPTL.

obj

an R object to be tested.

x

an object of class ‘summary.fptl’, a result of a call to summary.fptl.

zeroSlope

maximum slope required to consider that a growing function is constant.

p0.tol

controls where the First-Passage-Time Location function begins to increase significantly.

k

controls whether the First-Passage-Time Location function decreases very slowly.

...

other arguments passed to functions.

Details

The summary.fptl function extracts the information contained in object about the location of the variation range of a conditioned first-passage-time (f.p.t.) variable.

It makes an internal call to growth.intervals function in order to determine the time instants t[i], i=1,...,m, from which the First-Passage-Time Location (FPTL) function starts growing, and its local maximums tmax[i]. For this, zeroSlope argument is considered.

If there is no growth subinterval, the execution of the function summary.fptl is stopped and an error is reported. Otherwise, for each of the subintervals I[i] = [t[i], t[i+1]] the function determines:

  • The first time instant t[i]* in [t[i], tmax[i]] at which the function is bigger than or equal to

    p[i]* = p[i] + 10^{-p0.tol}(pmax[i] - p[i]) ,

    where p[i] = FPTL(t[i]) and pmax[i] = FPTL(tmax[i]) .

    10^{-p0.tol} is the ratio of the global increase of the function in the growth subinterval [t[i], tmax[i]] that should be reached to consider that it begins to increase significantly.

  • The first time instant tmax[i]^- in [t[i], tmax[i]] at which the FPTL function is bigger than or equal to

    pmax[i]^- = pmax[i](1 - 0.05(pmax[i] - p[i])) .

  • The last time instant tmax[i]^+ in [tmax[i], T[i]] at which the FPTL function is bigger than or equal to

    pmax[i]^+ = max { 1 - (1 - pmax[i]^2)^{(1+q)/2}, FPTL(T[i])} ,

    where

    T[i] = min(tmax[i] + k (tmax[i] - t[i]*)(1 - pmax[i]), t[i+1])

    and

    q = (pmax[i] - p[i])/pmax[i] .

print.summary.fptl displays an object of class “summary.fptl” for immediate understanding of the information it contains.

Value

The summary.fptl function computes and returns an object of class “summary.fptl” and length 1.

An object of class “summary.fptl” is a list of length 1 for a conditioned f.p.t problem, or of the same length as the number of values selected from the non-degenerate initial distribution for an unconditioned f.p.t problem. Each component of the list is again a named list with two components:

instants

a matrix whose columns correspond to t[i], t[i]*, tmax[i]^-, tmax[i]and tmax[i]^+ values for each conditioned f.p.t problem.


FPTLValues

the matrix of values of the FPTL function on instants.


It also includes four additional attributes:

Call a list of the unevaluated calls to the summary.fptl function, substituting each name
in these calls by its value when the latter has length 1.
FPTLCall a list of the unevaluated calls to the FPTL function that resulted in the objects
used as object argument in Call.
dp the common object used as dp argument in the unevaluated calls to the FPTL
function in FPTLCall.
vars NULL or a list containing the common values of names in FPTLCall for those names
with values of length greater than 1.

For an unconditioned f.p.t problem, the object includes the additional attribute id specifying the non-degenerate initial distribution.

The attribute “summary.fptl” of the value (of class “fpt.density”) of the Approx.fpt.density function is an object of class summary.fptl of length 1 for a conditioned problem, and of length greather than 1 for an unconditioned problem. It is created from one or successive internal calls to the summary.fptl function.

is.summary.fptl returns TRUE or FALSE depending on whether its argument is an object of class “summary.fptl” or not.

Author(s)

Patricia Román-Román, Juan J. Serrano-Pérez and Francisco Torres-Ruiz.

References

Román, P., Serrano, J. J., Torres, F. (2008) First-passage-time location function: Application to determine first-passage-time densities in diffusion processes. Comput. Stat. Data Anal., 52, 4132–4146.

P. Román-Román, J.J. Serrano-Pérez, F. Torres-Ruiz. (2012) An R package for an efficient approximation of first-passage-time densities for diffusion processes based on the FPTL function. Applied Mathematics and Computation, 218, 8408–8428.

P. Román-Román, J.J. Serrano-Pérez, F. Torres-Ruiz. (2014) More general problems on first-passage times for diffusion processes: A new version of the fptdApprox R package. Applied Mathematics and Computation, 244, 432–446.

See Also

Approx.cfpt.density to approximate densities of f.p.t. variables conditioned to a fixed initial value from objects of class “summary.fptl” and create objects of class “fpt.density”.

Approx.fpt.density to approximate densities of conditioned or unconditioned f.p.t. variables and create objects of class “fpt.density” from objects of class “dp”.

FPTL to evaluate the FPTL function and create objects of class “fptl”.

report.summary.fptl to generate a report.

growth.intervals to study the growth of the vector of values resulting from the evaluation of a function.

Examples

## Continuing the FPTL(.) example:

## Summarizing an object of class fptl
yy <- summary(y)
yy
print(yy, digits=10)
yy1 <- summary(y, zeroSlope = 0.001)
yy1
yy2 <- summary(y, zeroSlope = 0.001, p0.tol = 10)
yy2

zz <- summary(z)
zz

## Testing summary.fptl objects
is.summary.fptl(yy)
is.summary.fptl(zz)

Results