基于分布从列表中随机抽样

时间:2014-06-23 11:29:00

标签: python statistics sampling

我有一个数字列表,并希望从该列表中进行采样。 然而,采样基于用户指定的一些分布。 我不确定使用权重的别名方法(here)是否正确;我有限的知识说别名方法单独使用统一分布(请纠正我!)。如果我需要使用log-normal作为基础分布或poisson来指定像样本这样的东西怎么办?我该如何做这种抽样?

一个相关的问题,如果我的清单是[1,2,3,4,5]并且平均值是3,我该如何获得抽样?

2 个答案:

答案 0 :(得分:0)

你可以在这里使用一堆numpy函数:

http://docs.scipy.org/doc/numpy/reference/routines.random.html

标准python random库不提供各种distrubutions RNG。是的,默认的是制服。

答案 1 :(得分:0)

您是否尝试过np.random.choice

matplotlib.rcParams['text.usetex'] = True matplotlib.rcParams['text.latex.unicode'] = True

b = np.random.choice(a=[1,2,3,4,5], p=[0.2, 0.2, 0.2, 0.2, 0.2])是根据分布p从p随机抽样的。

您也可以使用poisson