generateBetaScaled(alpha, beta, desiredMin, desiredMax, LQpercent, UQpercent, lowerQuantile, upperQuantile)
Overview
The function generates a scaled random number based on a Beta distribution with specified shape parameters ( \alpha and \beta ) within the desired range.
Parameters
Parameter | Type | Description |
---|---|---|
alpha |
Number | The first shape parameter of the Beta distribution. |
beta |
Number | The second shape parameter of the Beta distribution. |
desiredMin |
Number | The minimum desired value of the scaled random number. |
desiredMax |
Number | The maximum desired value of the scaled random number. |
LQpercent |
Number | Lower quantile percentage. Default is 0. |
UQpercent |
Number | Upper quantile percentage. Default is 1. |
lowerQuantile |
Number | Lower quantile value. Calculated by default if not provided. |
upperQuantile |
Number | Upper quantile value. Calculated by default if not provided. |
Returns
Return | Type | Description |
---|---|---|
scaledX |
Number | A scaled random number in the range [desiredMin, desiredMax] . |
Example
local scaledX = StatBook.generateBetaScaled(2, 5, 0, 1)
print(scaledX) -- Output will vary
Mathematical Background
The function generates random numbers x and y that follow Gamma distributions with parameters \alpha and \beta respectively, and then derives a Beta-distributed random number \text{result} = \frac{x}{x+y} . This result is then scaled to the desired range using the formula:
Where scaleToDesiredRange
is a function that takes the Beta-distributed random number \text{result} , lower and upper quantile values, and desired minimum and maximum values as arguments, and returns a scaled value that falls within [desiredMin, desiredMax]
.