Skip to main content

Function: logit_blend()

logit_blend(p_a, p_b, weight_a?): number

Defined in: src/odds/math.ts:340

Blend two probabilities in logit space, nfelo's 70/30 practice (py logit_blend).

Parameters​

p_a​

number

First probability, strictly inside (0, 1).

p_b​

number

Second probability, strictly inside (0, 1).

weight_a?​

number = 0.7

Weight on p_a's logit; p_b gets 1 - weight_a. Default 0.7.

Returns​

number

sigmoid(weight_a * logit(p_a) + (1 - weight_a) * logit(p_b)).

Throws​

OddsZeroDivisionError When p_a or p_b is exactly 1 (odds ratio divides by 0).

Throws​

OddsValueError When an odds ratio is <= 0 (a probability <= 0 or > 1), Python's math domain error.

Throws​

OddsOverflowError When exp(-logit) overflows to Infinity from a finite blended logit, Python's math range error.

Remarks​

Error triggers mirror CPython's math.log / math.exp; NaN propagates.

Example​

import sdv from 'sportsdataverse';
sdv.odds.logit_blend(0.6, 0.5); // 0.5705...
sdv.odds.logit_blend(0.6, 0.5, 0.5); // equal weights