python – 从scipy.stats … rvs和numpy.random的随机抽取之间的区别
似乎如果它是相同的分发,从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中的基本随机数由…创建 scipy.stats没有随机数生成器,随机数是 >直接从numpy.random,例如正常,t,…相当快>通过转换其他随机数的随机数可用于numpy.random,也很快,因为这样操作整个数组通用:唯一的通用代生成随机数生成使用ppf(逆cdf)来转换均匀随机数.这是相对较快的,如果有一个明确的表达式ppf,但是如果必须计算ppf,可能非常慢间接的影响.例如,如果只定义了pdf,那么cdf是通过数值积分获得,ppf是通过获得的方程求解器.所以几个发行版很慢. (编辑:甘南站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |