加入收藏 | 设为首页 | 会员中心 | 我要投稿 商洛站长网 (https://www.0914zz.com/)- AI应用、CDN、边缘计算、云计算、物联网!
当前位置: 首页 > 编程开发 > Python > 正文

python – 从scipy.stats … rvs和numpy.random的随机抽取之间的区别

发布时间:2021-01-12 03:26:05 所属栏目:Python 来源:互联网
导读:似乎如果它是相同的分发,从numpy.random绘制随机样本比从scipy.stats .-.rvs更快.我想知道两者之间的速度差异是什么? scipy.stats.uniform实际上使用numpy,这里是stats中的相应函数(mtrand是numpy.random的别名) class uniform_gen(rv_continuous): def _rvs

似乎如果它是相同的分发,从numpy.random绘制随机样本比从scipy.stats .-.rvs更快.我想知道两者之间的速度差异是什么?

解决方法

scipy.stats.uniform实际上使用numpy,这里是stats中的相应函数(mtrand是numpy.random的别名)
class uniform_gen(rv_continuous):
    def _rvs(self):
        return mtrand.uniform(0.0,1.0,self._size)

scipy.stats有一个错误检查的开销,使界面更加灵活.只要您不为每个绘图的循环调用uniform.rvs,速度差应该是最小的.你可以一次得到所有的随机抽奖,例如(1000万)

>>> rvs = stats.uniform.rvs(size=(10000,1000))
>>> rvs.shape
(10000,1000)

这是我刚才写的长的答案:

scipy / numpy中的基本随机数由…创建
Mersenne-Twister PRNG in numpy.random.随机数
在numpy.random中的分布是在cython / pyrex和相当快.

scipy.stats没有随机数生成器,随机数是
以三种方式获得:

>直接从numpy.random,例如正常,t,…相当快>通过转换其他随机数的随机数可用于numpy.random,也很快,因为这样操作整个数组通用:唯一的通用代生成随机数生成使用ppf(逆cdf)来转换均匀随机数.这是相对较快的,如果有一个明确的表达式ppf,但是如果必须计算ppf,可能非常慢间接的影响.例如,如果只定义了pdf,那么cdf是通过数值积分获得,ppf是通过获得的方程求解器.所以几个发行版很慢.

(编辑:商洛站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读