MetalogBoundedness

Identifies which member of the metalog family a pair of bounds describes, and supplies the transformation between the metalog's fitting space and the random variable's space.

The member is derived from the bounds rather than chosen. Infinite on both sides is unbounded, finite on both sides is bounded, and a single finite bound is semi-bounded on that side. This is why one distribution class per term count is sufficient to cover the unbounded, semi-bounded, and bounded members described in Keelin (2016).

The metalog quantile function produces a value in fitting space. Applying fromFittingSpace maps that value onto the support of the random variable. Applying toFittingSpace performs the inverse, which is what turns observed data into the response vector of the least squares problem. Multiplying the metalog density by densityFactor converts it to a density on the random variable's support.

Every density factor is strictly positive, so a coefficient vector that is feasible for the unbounded metalog is feasible for all four members.

Entries

Link copied to clipboard

No bounds. The quantile function is the metalog quantile function itself.

Link copied to clipboard

A known lower bound and no upper bound. The natural log of the shifted variable is metalog distributed. Keelin calls this the log metalog.

Link copied to clipboard

A known upper bound and no lower bound. Keelin calls this the negative-log metalog.

Link copied to clipboard

Both bounds known. The logit of the scaled variable is metalog distributed. Keelin calls this the logit metalog.

Types

Link copied to clipboard
object Companion

Properties

Link copied to clipboard

Returns a representation of an immutable list of all enum entries, in the order they're declared.

Link copied to clipboard

True when this member has a finite lower bound.

Link copied to clipboard

True when this member has a finite upper bound.

Functions

Link copied to clipboard
abstract fun densityFactor(z: Double, lowerBound: Double, upperBound: Double): Double

The strictly positive multiplier that converts the metalog density in fitting space to a density on the support of the random variable. The argument is the fitting-space value, not the random variable's value.

Link copied to clipboard
abstract fun fromFittingSpace(z: Double, lowerBound: Double, upperBound: Double): Double

Maps a value from the metalog's fitting space onto the support of the random variable. Bounds that this member does not use are ignored.

Link copied to clipboard
abstract fun toFittingSpace(x: Double, lowerBound: Double, upperBound: Double): Double

Maps a value on the support of the random variable into the metalog's fitting space. Bounds that this member does not use are ignored. The value must lie strictly inside any finite bound, because the transform is not defined at the bound itself.

Link copied to clipboard

Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)

Link copied to clipboard

Returns an array containing the constants of this enum type, in the order they're declared.