Math 不均匀/不均匀分布的随机浮动

Math 不均匀/不均匀分布的随机浮动,math,random,statistics,distribution,Math,Random,Statistics,Distribution,我如何在X和Y之间生成随机浮点数,这些浮点数的分布是不均匀的,这样就更有可能在X到Y的特定范围内生成数字 我搜索了很多关键词来找到类似的东西,包括:不均匀分布的随机数,或不均匀的噪声分布,或有偏的随机浮点数,或加权随机数 我所能找到的就是从一袋有限的值列表中随机挑选,加权后一些值更有可能被选择,但我希望从X和Y之间的无限浮动范围中进行选择 我还发现了很多关于如何不产生有偏随机数的文章,这与我想要的正好相反 举个例子,我正试图用这些数字做什么:如果你在一个白色的正方形中画出黑色的噪声,每个噪声点都

我如何在X和Y之间生成随机浮点数,这些浮点数的分布是不均匀的,这样就更有可能在X到Y的特定范围内生成数字

我搜索了很多关键词来找到类似的东西,包括:不均匀分布的随机数,或不均匀的噪声分布,或有偏的随机浮点数,或加权随机数

我所能找到的就是从一袋有限的值列表中随机挑选,加权后一些值更有可能被选择,但我希望从X和Y之间的无限浮动范围中进行选择

我还发现了很多关于如何不产生有偏随机数的文章,这与我想要的正好相反

举个例子,我正试图用这些数字做什么:如果你在一个白色的正方形中画出黑色的噪声,每个噪声点都在正方形中的一个随机位置,如果你产生足够多的点,你将有一个几乎黑色的正方形

如果你在方块中间分布概率较高的概率,你会在正方形中间画出一个几乎是软的黑点。这就是我想要创造的

因此,我的问题是:

  • 我肯定这些算法是存在的,它们是如何命名的
  • 也许有人能建议用任何语言快速实现吗
  • 如何指定偏差的权重?在特定范围内生成数字的可能性是2倍,还是5倍?在我的圆点示例中,我相信如果得到某个范围内的数字的可能性是这个数字的5倍,那么圆点就会更小、更暗
  • 如何指定发行版的柔软度?线性的,长算术的,二次的。在我的圆点示例中,我相信它会使圆点变软或变硬

提前谢谢你

这些通常称为连续分布,下面是定义这种分布的两种方法

  • 作为a,它(粗略地说)是一个函数,给出任何数字的概率权重。如果您有这种形式的分布,从这种分布进行采样的一些方法包括分段线性插值、拒绝采样和方法。有关更多信息,请参阅“”
  • 作为从X到Y的各个点的权重列表。这些点之间的权重是线性插值的。从这个分布中取样的一个例子是在C++中给出的。另见“”

对于许多流行的分布,如正态分布、贝塔分布和伽马分布,有一些特殊的方法可以用这些分布生成随机数。事实上,对于正态分布,这种方法有许多不同的设计。对于有界范围内的数字,是一个理想的选择;它的两个参数(alpha和beta)描述了各种各样的形状,可以满足您的目的。Python有一个生成β分布随机数的
random.betavariate(alpha,beta)
方法。

这些通常称为连续分布,下面是定义这种分布的两种方法

  • 作为a,它(粗略地说)是一个函数,给出任何数字的概率权重。如果您有这种形式的分布,从这种分布进行采样的一些方法包括分段线性插值、拒绝采样和方法。有关更多信息,请参阅“”
  • 作为从X到Y的各个点的权重列表。这些点之间的权重是线性插值的。从这个分布中取样的一个例子是在C++中给出的。另见“”

对于许多流行的分布,如正态分布、贝塔分布和伽马分布,有一些特殊的方法可以用这些分布生成随机数。事实上,对于正态分布,这种方法有许多不同的设计。对于有界范围内的数字,是一个理想的选择;它的两个参数(alpha和beta)描述了各种各样的形状,可以满足您的目的。Python有一个生成beta分布随机数的
random.betavariate(alpha,beta)
方法。

这只是一个想法,但如果您不关心所使用的语言以及它背后的原理,上面的人可能会确切地告诉你这叫什么以及你是如何在R中实现的。分布是统计学家早餐吃的东西(他们在牛奶中保持松脆)。谢谢@Jeroenmoster!我更喜欢Javascript/Python实现TBH,但任何东西都会有帮助!我一直在寻找答案……这只是一个想法,但如果你不在乎所用的语言,更不在乎背后的原则,电视上的人可能会告诉你这到底叫什么,以及你是如何在R中实现的。分布是统计学家早餐吃的那种东西(他们在牛奶中保持松脆).谢谢你@Jeroenmoster!我更喜欢Javascript/Python实现TBH,但任何东西都会有帮助!我一直在寻找答案…是的!这正是我一直在寻找的,它的工作!同样对于Javascript,如果有人需要这个已经实现的东西,嘿@peter-o,是的,我使用beta函数来生成噪音,以查看随机性的分布。现在我知道了它是如何工作的,我可以用很多其他的方法来应用它。你可以清楚地看到我在这里所做的工作:-你可以玩Alpha和Beta滑块,并查看绘图的源代码。是的!这正是我一直在寻找的,它的工作!同样对于Javascript,如果有人需要这个已经实现的东西,嘿@peter-o,是的,我使用beta函数来生成噪音,以查看随机性的分布。现在我知道了它是如何工作的,我可以用很多其他的方法来应用它。你可以清楚地看到我在这里所做的工作:-你可以玩Alpha和Beta滑块,并查看图形的源代码。