Skip to main content
 首页 » 编程设计

python之如何在 Python 中生成与给定数据集相关的随机数

2025年05月04日11zhoujg

我有一个 20 元素数组,x, float ,例如:

x = [ 0.35945087, 0.08999019, 0.51313128, 0.75455967, 0.50654956, 0.12404178, 0.25115332, 0.94167661, 0.95727792, 0.35,046095 9416763, 0.861585, 0.19661212, 0.62882119, 0.1180147, 0.17153433, 0.07275386, 0.01895795, 0.00578392]

此数据不是正态分布,而是服从幂律分布。

我需要生成第二个数组 y,它与 x 相关,相关系数为 0.70。

我如何用 python 做到这一点?

请您参考如下方法:

这是一个听起来很容易问,但当你深入细节时却很复杂的事情。我只能为您指明正确的方向,而不能给您一个简单的方法。

理论上,您需要做的是构建一个双变量分布,其中边际分布都是幂律分布(大概是相同的幂律分布)但具有所需的相关系数。

(X, Y) ~ f(x, y) s.t. X~幂律(参数); Y~幂律(参数); corr(X, Y) = 0.7

这可以通过 copula 来完成.

对于您拥有的每个样本 x[i],您找到单变量条件分布 Y ~ f(x=x[i], y) 并从

请注意,相关系数在应用于幂律分布时可能没有特别的意义。幂律分布一般不具有有限的一阶矩和二阶矩。