Examples
Draw samples from the distribution:
>>> a, m = 3., 1. # shape and mode
>>> s = np.random.pareto(a, 1000) + m
因此,实现一个下界并不重要:只需使用m的下限:
lower = 10 # the lower bound for your values
shape = 1 # the distribution shape parameter, also known as `a` or `alpha`
size = 1000 # the size of your sample (number of random values)
在 documentation似乎有个错误,可能会让您困惑。在
通常调用签名中的参数名称:
将参数名称与给定的详细信息匹配:
^{pr2}$但是您可以看到第一个参数同时被称为}。将所需的shape作为函数的第一个参数,以获得
a
和{size
数的分布(它们不是tuple
,而是一个numpyarray
)。在如果需要更改第二个参数(在wikipedia上称为xm),那么只需将其添加到所有值中,如docs中的示例所示:
因此,实现一个下界并不重要:只需使用
m
的下限:并用下限创建分布:
然而,帕累托分布并不是从上面有界的,所以如果你试图切断它,它实际上是分布的truncated version,这不是完全一样的事情,所以要小心。如果形状参数远大于1,则分布会以代数形式衰减,如x–(a+1),因此您不会看到太多大的值。在
如果您选择实现上限,一种简单的方法是生成普通样本,然后移除任何超出限制的值:
但现在你的样品尺寸(可能)更小了。您可以继续添加新的值(并过滤掉太大的值),直到达到所需的大小,但是首先使其足够大,然后只使用其中的
size
会更简单:@askewchan文件更改了吗?在
根据最新的doc,
m
应该这样使用其中
a
是形状,m
是比例(在Wikipedia中是(xm)。在这是测试代码,预期平均值等于模拟结果。在
^{pr2}$相关问题 更多 >
编程相关推荐