Creates a function that evaluates the cumulative distribution function of an approximation to a distribution obtained by interpolating and extrapolating from a set of quantiles of the distribution.
make_p_fn.Rd
Creates a function that evaluates the cumulative distribution function of an approximation to a distribution obtained by interpolating and extrapolating from a set of quantiles of the distribution.
Usage
make_p_fn(
ps,
qs,
interior_method = "spline_cdf",
interior_args = list(),
tail_dist = "norm",
dup_tol = 1e-06,
zero_tol = 1e-12
)
Arguments
- ps
vector of probability levels
- qs
vector of quantile values corresponding to ps
- interior_method
method for interpolating the distribution on the interior of the provided
qs
. This package provides one method for this,"spline_cdf"
. The user may also provide a custom function; see the details for more.- interior_args
an optional named list of arguments that are passed on to the
interior_method
- tail_dist
name of parametric distribution for the tails
- dup_tol
numeric tolerance for identifying duplicated values indicating a discrete component of the distribution. If there is a run of values where each consecutive pair is closer together than the tolerance, all are labeled as duplicates even if not all values in the run are within the tolerance.
- zero_tol
numeric tolerance for identifying values in
qs
that are (approximately) zero.
Value
a function with arguments q
and log.p
that can be used to
evaluate the approximate cumulative distribution function (or its log
)
at the points q
.
Details
The default interior_method
, "spline_cdf"
, represents the
distribution as a sum of a discrete component at any points where there
are duplicated qs
for multiple different ps
and a continuous component
that is estimated by using a monotonic cubic spline that interpolates the
provided (q, p)
pairs as an estimate of the CDF.
Optionally, the user may provide another function that accepts arguments
ps
, qs
, tail_dist
, and fn_type
(which will be either "d"
, "p"
,
or "q"
), and optionally additional named arguments to be specified via
interior_args
. This function should return a function with arguments
x
, log
that evaluates the pdf or its logarithm.