import math import scipy.special as sp SQRT2 = math.sqrt(2) ''' See https://i.imgur.com/UqmxwuF.png for visualisation of these probabilities ''' '''find P(value < μ + arg*σ), or area to the left of certain value''' def sdu(arg): return (sp.erf(arg / SQRT2) + 1) / 2 '''find P(μ + a*σ < value < μ + b*σ), or area between cetain values''' def sdr(a, b): return (sp.erf(b / SQRT2) - sp.erf(a / SQRT2)) / 2 '''find P(abs(value - μ) < arg*σ), or area within certain distance from mean''' def sdi(arg): return sp.erf(arg / SQRT2) '''find x such that P(value < μ + xσ) = p''' def sdu_inv(p): return sp.erfinv(p * 2 - 1) * SQRT2 '''find x such that P(abs(value - μ) < xσ) = p''' def sdi_inv(p): return sp.erfinv(p) * SQRT2