首页 > 解决方案 > 偏斜正态分布(偏斜与 alpha 或参数) - 生成 N 个整数(Python SciPy)

问题描述

我试图弄清楚如何生成 N=10 个偏度为 0.2 的数字样本;目前使用 Python 的 scipy 库。

>>> x = np.linspace(0,1,10)
>>> skew_norm = skewnorm.pdf(x, a=0.2, loc=0, scale=1)
>>> skew_norm
array([0.39894228, 0.4035167 , 0.40301   , 0.39744225, 0.3870234 ,
       0.37214011, 0.35333193, 0.3312589 , 0.30666315, 0.28032778])
>>> stats.skew(skew_norm)
-0.7703395748152717

我希望得到 10 个介于 0 和 1 之间的浮点数,这些浮点数已标准化(总和为 1)并且偏度值为 0.2。但似乎检查偏度值会给出不同的结果。a根据https://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.skewnorm.html ,这里不是alpha 或 skewness 参数。但是为什么它会给出不同的结果呢?似乎偏度是错误的。有谁知道我如何生成一组 10 个介于 0 和 1 之间的浮点数(归一化总和为 1),使得偏斜为 0.2(即偏斜正态分布)。谢谢!

标签: pythonscipyskew

解决方案


推荐阅读