Создайте гистограмму распределения Коши с нижним и верхним пределом - PullRequest
0 голосов
/ 14 января 2019

Я хотел бы смоделировать следующее распределение Лоренца с гистограммой

? /
L = ————————
(E - E 0 ) + 0,25 ? 2

Я нашел scipy.stats.cauchy и хотел бы обрезать распределение по нижнему и верхнему пределам примерно так:

L = cauchy.rvs(size=300, loc = 5, scale =2.5, limits = [0,15] )

Возможно ли это?

1 Ответ

0 голосов
/ 14 января 2019

Нельзя добавить limits к методу rvs. Насколько я знаю, только truncnorm может сделать это. Что вы можете сделать, это либо обрезать значения с помощью scipy.clip (или numpy.clip), либо отфильтровать значения за пределами ваших пределов с помощью маски.

Первый метод создаст много 0 и 15:

import scipy as sp
L = sp.clip(cauchy.rvs(size=300, loc = 5, scale =2.5), 0, 15)

Второй будет случайным образом распределен в вашем интервале:

import scipy as sp
L = cauchy.rvs(size=10000, loc = 5, scale =2.5), 0, 15)   #create a larger set to filter it out
L = L[sp.logical_and(L<15,L>0)][:300]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...