summary.fptl: 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, \ldots, m, from which the First-Passage-Time Location (FPTL) function starts growing, and its local maximums t_{max,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, t_{max,i}] at which the function is bigger than or equal to

    p_i^* = p_i + 10^{-p0.tol}(p_{max,i} - p_i) \ ,

    where p_i = FPTL(t_i) and p_{max,i} = FPTL(t_{max,i}) \ .

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

  • The first time instant t_{max,i}^{-} \in [t_i, t_{max,i}] at which the FPTL function is bigger than or equal to

    p_{max,i}^{-} = p_{max,i} \big( 1 - 0.05(p_{max,i} - p_i) \big) \ .

  • The last time instant t_{max,i}^{+} \in \big[ t_{max,i}, \thinspace T_i \big] at which the FPTL function is bigger than or equal to

    p_{max,i}^{+} = max \left\{ 1 - (1 - p_{max,i}^2)^{(1+q)/2}, FPTL(T_i) \right\},

    where

    T_i = min \big\{ t_{max,i} + k \thinspace (t_{max,i}-t_i^*)(1 - p_{max,i}), \thinspace t_{i+1} \big\}

    and

    q = \displaystyle{\frac{p_{max,i} - p_i}{p_{max,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^*, t_{max,i}^{-}, t_{max,i}and t_{max,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)

fptdApprox documentation built on Nov. 2, 2023, 5:07 p.m.