IOK, поэтому я хочу иметь возможность выбирать значения из нормального распределения, которое только когда-либо падает между 0 и 1. В некоторых случаях я хочу иметь возможность в основном просто верните полностью случайное распределение, а в других случаях я хочу вернуть значения, которые попадают в форму гаусса.Как указать верхний и нижний пределы при использовании numpy.random.normal
На данный момент я использую следующую функцию:
def blockedgauss(mu,sigma):
while True:
numb = random.gauss(mu,sigma)
if (numb > 0 and numb < 1):
break
return numb
Он выбирает значение из нормального распределения, а затем сбрасывает ее, если она выходит за пределы диапазона от 0 до 1, но я чувствую, что должен быть лучшим способом сделать это.
Если вы «блок» значения < 0 and > 1, будет ли он по-прежнему будет гауссово распределение? –
это не будет гауссовское распространение, но в некоторых случаях я не хочу гауссовского распространения. я хочу вернуть дистрибутив, который можно перестраивать между случайным распределением (сбор с очень широкого гауссова), до чего-то очень близкого к дельта-функции (где гауссов становится очень узким) –