当前位置: 首页 > news >正文

seo顾问服务深圳前端seo是什么

seo顾问服务深圳,前端seo是什么,视频营销模式有哪些,哪个网站能找到做夜场的女孩文中内容仅限技术学习与代码实践参考#xff0c;市场存在不确定性#xff0c;技术分析需谨慎验证#xff0c;不构成任何投资建议。 通用非均匀随机数抽样 SciPy 提供了许多通用非均匀随机数生成器的接口#xff0c;用于从广泛的单变量连续和离散分布中抽取随机变量。这些实… 文中内容仅限技术学习与代码实践参考市场存在不确定性技术分析需谨慎验证不构成任何投资建议。 通用非均匀随机数抽样 SciPy 提供了许多通用非均匀随机数生成器的接口用于从广泛的单变量连续和离散分布中抽取随机变量。这些实现基于一个快速的 C 库 UNU.RAN以提高速度和性能。有关这些方法的深入解释请参阅 UNU.RAN 的文档。编写本教程和所有生成器的文档时也大量参考了 UNU.RAN 的文档。 引言 随机变量生成是研究如何从各种分布中生成随机变量的一个小领域。通常假设可以使用均匀随机数生成器它是一个产生独立同分布的连续 U ( 0 , 1 ) U(0,1) U(0,1) 随机变量序列的程序即在区间 ( 0 , 1 ) (0,1) (0,1) 上的均匀随机变量。当然现实中的计算机无法生成理想的随机数也无法产生任意精度的数字但最先进的均匀随机数生成器已经非常接近这一目标。因此随机变量生成主要涉及如何将这种 U ( 0 , 1 ) U(0,1) U(0,1) 随机数序列转换为非均匀随机变量。这些方法是通用的并且以黑盒方式工作。 以下是一些实现方法 反演法当累积分布函数的逆 F − 1 F^{-1} F−1 已知时随机变量生成变得非常简单。我们只需生成一个均匀分布的 U ( 0 , 1 ) U(0,1) U(0,1) 随机数 U U U并返回 X F − 1 ( U ) X F^{-1}(U) XF−1(U)。由于累积分布函数的逆的封闭形式解通常不可用因此通常需要依赖逆函数的近似例如 scipy.special.ndtri、scipy.special.stdtrit。一般来说特殊函数的实现速度比 UNU.RAN 中的反演方法慢得多。 拒绝法拒绝法也称为接受-拒绝法是由约翰·冯·诺伊曼在 1951 1年提出的。它涉及计算概率密度函数PDF的上界也称为“帽子函数”并使用反演法从这个上界生成一个随机变量记为 Y Y Y。然后在 0 到上界在 Y Y Y 处的值之间随机抽取一个均匀随机数。如果这个数小于 Y Y Y 处的 PDF 值则返回该样本否则拒绝它。参见 scipy.stats.sampling.TransformedDensityRejection。 比率法这是一种接受-拒绝方法它使用最小边界矩形来构造帽子函数。参见 scipy.stats.sampling.RatioUniforms。 离散分布的反演法与连续情况不同的是 F F F 现在是一个阶梯函数。在计算机中实现时通常使用搜索算法最简单的是顺序搜索。生成一个 U ( 0 , 1 ) U(0,1) U(0,1) 的均匀随机数并将概率依次累加直到累积概率超过均匀随机数。此时的索引即为所需的随机变量并返回该值。 更多关于这些算法的详细信息可以在 UNU.RAN 用户手册的附录中找到。 在生成某个分布的随机变量时两个因素决定了生成器的速度设置步骤和实际抽样。根据具体情况不同的生成器可能是最优的。例如如果需要反复从具有固定形状参数的给定分布中抽取大量样本设置步骤较慢是可以接受的只要抽样速度快即可。这种情况称为固定参数情况。如果目标是从具有不同形状参数的分布中生成样本变化参数情况那么每次都需要重复进行昂贵的设置步骤这将导致性能极差。在这种情况下快速设置步骤对于实现良好性能至关重要。不同方法的设置速度和抽样速度的概览如下表所示。 连续分布的方法必需输入可选输入设置速度抽样速度TransformedDensityRejectionpdf, dpdf无慢快scipy.stats.sampling.NumericalInverseHermitecdfpdf, dpdf非常慢非常快scipy.stats.sampling.NumericalInversePolynomialpdfcdf非常慢非常快scipy.stats.sampling.SimpleRatioUniformspdf无快慢 其中 pdf概率密度函数 dpdfpdf 的导数 cdf累积分布函数 为了在 SciPy 中以最小的努力将数值反演方法 NumericalInversePolynomial 应用于大量连续分布可以参考 scipy.stats.sampling.FastGeneratorInversion。 离散分布的方法必需输入可选输入设置速度抽样速度scipy.stats.sampling.DiscreteAliasUrnpvpmf慢非常快scipy.stats.sampling.DiscreteGuideTablepvpmf慢非常快 其中 pv概率向量 pmf概率质量函数 有关 UNU.RAN 中实现的生成器的更多详细信息请参阅2和3。 接口的基本概念 在开始抽样之前每个生成器都需要进行设置。这可以通过实例化该类的对象来完成。大多数生成器需要一个分布对象作为输入该对象包含实现所需方法如 PDF、CDF 等的实现。除了分布对象外还可以传递用于设置生成器的参数。此外也可以通过 domain 参数对分布进行截断。所有生成器都需要一个均匀随机数流这些随机数将被转换为给定分布的随机变量。这可以通过传递一个带有 NumPy BitGenerator 的 random_state 参数来实现作为均匀随机数生成器。random_state 可以是一个整数、numpy.random.Generator 或 numpy.random.RandomState。 警告 不建议使用 NumPy 1.19.0因为它没有快速的 Cython API 用于生成均匀随机数可能会在实际使用中导致速度过慢。 所有生成器都有一个通用的 rvs 方法可用于从给定分布中抽取样本。 以下是一个接口的示例 from scipy.stats.sampling import TransformedDensityRejection from math import exp import numpy as npclass StandardNormal:def pdf(self, x: float) - float:# 注意不需要归一化常数return exp(-0.5 * x*x)def dpdf(self, x: float) - float:return -x * exp(-0.5 * x*x)dist StandardNormal() urng np.random.default_rng() rng TransformedDensityRejection(dist, random_stateurng)如示例所示我们首先初始化一个包含生成器所需方法实现的分布对象。在本例中我们使用 TransformedDensityRejectionTDR方法它需要概率密度函数PDF及其关于 x x x即变量的导数。 注意 分布的方法例如 pdf、dpdf 等不需要向量化。它们应该接受和返回浮点数。 注意 也可以将 SciPy 分布作为参数传递。然而需要注意的是对象并不总是包含某些生成器例如 TDR 方法所需的 PDF 的导数所需的所有信息。依赖 SciPy 分布可能会因方法如 pdf 和 cdf的向量化而导致性能下降。在两种情况下都可以实现一个自定义的分布对象其中包含所有所需的方法并且不进行向量化如上例所示。如果想要将数值反演方法应用于 SciPy 中定义的分布请参考 scipy.stats.sampling.FastGeneratorInversion。 在上述示例中我们设置了一个 TransformedDensityRejection 对象用于从标准正态分布中抽样。现在我们可以通过调用 rvs 方法开始从该分布中抽样 array([[-0.5188201 , 0.19758648, 1.56394908],[ 1.37478434, -0.25089228, -0.06377169],[ 0.04548633, 0.60338512, -0.18978775],[-0.58243905, 1.5650833 , -0.964274 ],[ 2.41625536, -1.60428538, -0.54605791]])我们还可以通过绘制样本的直方图来验证样本是否来自正确的分布 import numpy as np import matplotlib.pyplot as plt from scipy.stats import norm from scipy.stats.sampling import TransformedDensityRejection from math import expclass StandardNormal:def pdf(self, x: float) - float:# 注意不需要归一化常数return exp(-0.5 * x*x)def dpdf(self, x: float) - float:return -x * exp(-0.5 * x*x)dist StandardNormal() urng np.random.default_rng() rng TransformedDensityRejection(dist, random_stateurng) rvs rng.rvs(size1000) x np.linspace(rvs.min()-0.1, rvs.max()0.1, num1000) fx norm.pdf(x) plt.plot(x, fx, r-, lw2, label真实分布) plt.hist(rvs, bins20, densityTrue, alpha0.8, label随机变量) plt.xlabel(x) plt.ylabel(PDF(x)) plt.title(变换密度拒绝法抽样) plt.legend() plt.show()注意 请注意 scipy.stats 中分布的 rvs 方法与这些生成器提供的 rvs 方法之间的区别。UNU.RAN 生成器应被视为独立的因为它们通常会生成与 scipy.stats 中等效分布产生的随机数流不同的随机数流。scipy.stats.rv_continuous 中的 rvs 实现通常依赖于 NumPy 模块 numpy.random用于已知分布例如正态分布、贝塔分布以及对其他分布的变换例如正态逆高斯分布 scipy.stats.norminvgauss 和对数正态分布 scipy.stats.lognorm。如果没有实现特定方法则 scipy.stats.rv_continuous 默认使用 CDF 的数值反演方法这种方法非常慢。由于 UNU.RAN 与 SciPy 或 NumPy 转换均匀随机数的方式不同即使对于相同的均匀随机数流生成的随机变量流也会不同。例如SciPy 的 scipy.stats.norm 和 UNU.RAN 的 TransformedDensityRejection 即使对于相同的 random_state其随机数流也不会相同 from scipy.stats.sampling import norm, TransformedDensityRejection from copy import copy dist StandardNormal() urng1 np.random.default_rng() urng1_copy copy(urng1) rng TransformedDensityRejection(dist, random_stateurng1) rng.rvs() # -1.526829048388144 norm.rvs(random_stateurng1_copy) # 1.3194816698862635我们可以传递一个 domain 参数来截断分布 rng TransformedDensityRejection(dist, domain(-1, 1), random_stateurng) rng.rvs((5, 3))array([[-0.25668751, -0.29186077, -0.16906123],[ 0.28342675, 0.14713262, 0.44345019],[-0.86292589, 0.40110739, -0.3304392 ],[ 0.18390038, 0.7311804 , -0.98740077],[ 0.67457194, -0.77107968, -0.63685895]])无效或错误的参数将由 SciPy 或 UNU.RAN 进行处理。后者会抛出一个 UNURANError其格式如下 UNURANError: [objid: object id] error code: reason type of error其中 object id 是 UNU.RAN 分配的对象 ID。 error code 是一个代表错误类型的错误代码。 reason 是错误发生的原因。 type of error 是错误类型的简要描述。 reason 显示了错误发生的原因。仅此一项就应包含足够的信息以帮助调试错误。此外error id 和 type of error 可用于在 UNU.RAN 中调查不同类别的错误。UNU.RAN 用户手册的第 8.4 节中可以找到所有错误代码及其描述的完整列表。 以下是一个由 UNU.RAN 生成的错误示例 UNURANError: [objid: TDR.003] 50 : PDF(x) 0.! (generator) (possible) invalid data这表明 UNU.RAN 无法初始化 ID 为 TDR.003 的对象因为 PDF 小于 0即为负值。这属于“生成器可能无效数据”的类型错误代码为 50。 UNU.RAN 抛出的警告也遵循相同的格式。 scipy.stats.sampling 中的生成器 变换密度拒绝法TDR离散别名瓮法DAU基于多项式插值的 CDF 反演PINV离散引导表法DGT基于埃尔米特插值的 CDF 反演HINV简单比率法SROU 参考文献 风险提示与免责声明 本文内容基于公开信息研究整理不构成任何形式的投资建议。历史表现不应作为未来收益保证市场存在不可预见的波动风险。投资者需结合自身财务状况及风险承受能力独立决策并自行承担交易结果。作者及发布方不对任何依据本文操作导致的损失承担法律责任。市场有风险投资须谨慎。 Von Neumann, John. “13. various techniques used in connection with random digits.” Appl. Math Ser 12.36-38 (1951): 3. https://mcnp.lanl.gov/pdf_files/InBook_Computing_1961_Neumann_JohnVonNeumannCollectedWorks_VariousTechniquesUsedinConnectionwithRandomDigits.pdf ↩︎ UNU.RAN User Manual, https://statmath.wu.ac.at/unuran/doc/unuran.html ↩︎ Leydold, Josef, Wolfgang Hörmann, and Halis Sak. “An R Interface to the UNU.RAN Library for Universal Random Variate Generators.”, https://cran.r-project.org/web/packages/Runuran/vignettes/Runuran.pdf ↩︎
http://www.hkea.cn/news/14262872/

相关文章:

  • 个人网站是啥红番茄 网站点评
  • 泰安集团网站建设价格个人做网站模版是否有人买
  • 建设部人力资源开发中心网站dede仿站
  • 网站备案背景如何在网站开发国外大客户
  • 网站换域名有没有影响吗深圳大事件
  • 免费创建网站平台dw软件怎么下载
  • 哈尔滨网站建设哪儿好薇sem竞价培训班
  • 甘肃省建设监理协会网站陕西省建设招投标网站
  • 围场网站建设长春快速建站公司
  • 网站建设php教程微信公众平台注册平台
  • 哈尔滨建设网官方网站模板网站
  • 看房自己的网站建设多少钱网站三大标签优化
  • 建站平台工具佛山seo代理
  • 上海龙象建设集团公司网站做IT的会做网站吗
  • 第一推是谁做的网站湖南建设监理工程网站
  • 仿网站 涉及侵权吗最新电子产品网站模板
  • 苏州建设项目备案网站竞价单页制作教程
  • 黄石建设网站小白wordpress
  • 一个网站可以有几个域名网页设计去除下划线代码
  • 台州网站制作服务淘宝友情链接怎么设置
  • 网站建设与管理需要哪些证书合肥建设网站
  • 赣州律师网站建设信息门户网站是什么
  • 重庆网站建设哪家便宜制作公司网站的费用
  • 珠海建站模板源码推广费
  • 怎么知道网站有没有被收录北京建站系统模板
  • 如何建设一个查询系统网站网站设计方案定制
  • wordpress 电影下载站源码网站开发笔记本要什么配置
  • 义乌本地网站开发android开发技术有哪些
  • 做性的网站有哪些内容wordpress网站静态页面
  • 商务网站规划与建设salutation wordpress