python - 在间隔之间强制 scipy.stats.cauchy
问题描述
我想force scipy.stats.cauchy
概率密度函数只生成-1和1之间的值。
目前我正在通过y=cauchy.rvs(center,sigma)
在while循环中运行来做hacky方式,当它低于-1或高于1时,它会重新计算它,并在它进入所需的间隔后返回y。所以本质上我正在绘制一个新的随机变量,直到条件不满足。
我想知道是否有可能以更简单的方式做到这一点,scipy 文档不是很有帮助,而且非常模棱两可。有什么方法可以指定函数参数内随机变量的最小/最大范围,比如通过 **kwargs 或其他方式?
解决方案
简短的回答:不直接,不。
问题是分布是标准化的,支持的 pdf 的积分是统一的。当您更改支持时,您实际上是在更改分布。
对于截断的柯西分布,您可以使用均匀随机变量的反函数变换轻松滚动自己的小生成器。
推荐阅读
- c++ - 变量的浅蓝色突出显示
- amazon-web-services - 我已经用我自己的用户池设置了 AWS cognito,当我创建一个具有美国电话号码的用户时,我没有在电话上收到验证短信
- javascript - 在while循环中计算JQuery
- python - Python & 排序:对复杂数组中的元素进行排序
- javascript - 如何添加显示已选中复选框的总值
- javascript - Javascript 中的电话号码验证,用于按键上的特定格式
- php - 为了从服务器发送 Firebase 推送通知,应该允许什么 FQDN?
- sql - 我可以在两个不同的表中使用相同的主键吗?
- java - Spring Data JPA - 有两个 JPA 实体引用一个不是实体的数据库表
- javascript - Angular 7 添加 Javascript 插件