MetalogBoundProfiler

class MetalogBoundProfiler(val clearanceFractions: DoubleArray = DEFAULT_CLEARANCE_FRACTIONS, val includeZero: Boolean = true)(source)

Proposes candidate bounds for the semi-bounded and bounded metalogs.

Candidates sit at a fraction of the observed range beyond the observed extreme, rather than at the extreme itself. That clearance matters: a bound that merely touches the sample minimum sends the transformed value of that observation to a large negative number, which then dominates the least squares fit. Measured on log-normal samples, a bound taken from the shift estimator that the rest of the fitting subsystem uses agrees with the sample minimum to four or five decimals, and the resulting fit gets steadily worse as terms are added, while a bound with clearance improves as expected.

Zero is offered as well when the data is positive, since a natural bound at zero is common and is exactly the case a purely proportional ladder would miss.

A profiled bound is chosen for the quality of the fit and is not an estimate of where the support truly ends. The bound is weakly identified: on exponential samples whose true lower bound is zero, profiling has selected bounds far below zero and still fitted well, because the coefficients absorb the difference. Supply the bound directly whenever its value is known.

Parameters

clearanceFractions

the offsets to try, as fractions of the observed range

includeZero

whether to offer zero as a lower bound candidate for positive data

Constructors

Link copied to clipboard
constructor(clearanceFractions: DoubleArray = DEFAULT_CLEARANCE_FRACTIONS, includeZero: Boolean = true)

Types

Link copied to clipboard
object Companion

Properties

Link copied to clipboard
Link copied to clipboard

Functions

Link copied to clipboard

Lower bound candidates for the supplied data, all strictly below its minimum, in increasing order of clearance.

Link copied to clipboard

Upper bound candidates for the supplied data, all strictly above its maximum.