Metalog3P

class Metalog3P(a1: Double = 0.0, a2: Double = 1.0, a3: Double = 0.0, lowerBound: Double = Double.NEGATIVE_INFINITY, upperBound: Double = Double.POSITIVE_INFINITY, name: String? = null) : MetalogDistribution, RVParametersTypeIfc(source)

A three-term metalog distribution.

The third coefficient primarily controls skewness: increasing it from zero skews the distribution to the right, and decreasing it below zero skews it to the left. At zero the distribution reduces to the two-term case.

This is the arity used by the symmetric percentile triplet workflow common in decision analysis, where an expert supplies three quantiles such as the tenth, fiftieth, and ninetieth percentiles. Three terms fit three points exactly, so the companion factory functions build the distribution directly from those quantiles without any least squares step.

Parameters

a1

the location, which is the median in fitting space

a2

the scale, which must be strictly positive

a3

the skewness coefficient

lowerBound

the lower bound, or negative infinity when unbounded below

upperBound

the upper bound, or positive infinity when unbounded above

name

an optional name

Constructors

Link copied to clipboard
constructor(a1: Double = 0.0, a2: Double = 1.0, a3: Double = 0.0, lowerBound: Double = Double.NEGATIVE_INFINITY, upperBound: Double = Double.POSITIVE_INFINITY, name: String? = null)

Types

Link copied to clipboard
object Companion

Properties

Link copied to clipboard
var a1: Double

The location coefficient.

Link copied to clipboard
var a2: Double

The scale coefficient, which must remain strictly positive.

Link copied to clipboard
var a3: Double

The skewness coefficient. Its magnitude relative to the scale is what limits how much skewness three terms can represent.

Functions

Link copied to clipboard
open override fun instance(): Metalog3P
Link copied to clipboard
open override fun randomVariable(streamNumber: Int, streamProvider: RNStreamProviderIfc): Metalog3PRV

Promises to return a random variable that uses the supplied stream number using the supplied stream provider