Рассмотрим код:Неожиданное поведение scipy.stats.uniform
import scipy.stats as ss
x = ss.uniform.rvs(np.zeros(5),np.array([1,2,3,4,5]))
Я нахожу documentation для scipy.stats
немного разреженный. Из того, что я могу сказать, я думаю, что указанный код должен выбирать случайное число между каждым из [0,1], [0,2], [0,3], [0,4] и [0,5 ]. Вот документация для rvs и uniform.
Вместо этого он выбирает случайное число р в [0,1] и возвращает [р, 2р, 3р, 4р, 5р]:
print x, np.diff(x)
[ 0.79352054 1.58704108 2.38056162 3.17408215 3.96760269]
[ 0.79352054 0.79352054 0.79352054 0.79352054]
Является ли это семя, связанные ошибка? Или такое поведение ожидается?
Редактировать: Я знаю, что легко обойти это; не нужно мне рассказывать, как: x=ss.uniform.rvs(size=5)*np.arange(1,5)
. Эта ошибка или функция стоили мне пару дней путаницы и отладки в моей более крупной программе.
Интересно, спасибо! –