从第一原理的离散概率分布中抽样

时间:2012-05-27 18:46:26

标签: statistics probability sampling

我有一套S = {a1,a2,a3,a4,a5,......,an}。选择每个元素的概率分别为{p1,p2,p3,p4,p5,...,pn}(当然p1 + p2 + p3 + p4 + p5 + ...... + pn = 1}

我想模拟一个实验。但是我希望在没有任何图书馆的情况下这样做(即从第一原则开始)

我正在使用以下方法:1)我在实数行上映射元素如下X(a1)= 1; X(A2)= 2; X(A3)= 3; X(A4)= 4; X(A5)= 5; ...,X(一)= N

2)然后我计算每个坐标的累积概率分布函数(即P(x

(因此cdf是阶梯函数)

3)我随机选择一个实数,q在(0,1)之间。并计算线y = q与cdf相交的x坐标。由于cdf是阶跃函数,跳跃在1,2,... n,该点将具有整数x坐标btw 1和n。设x坐标为m。

4)我选择ai,使得X(ai)= m。

我的问题是这种方法是否在没有任何偏见的情况下模拟实验?

我没有得到所需的结果,这就是为什么我有点怀疑。

任何帮助将不胜感激!谢谢!

1 个答案:

答案 0 :(得分:3)

逻辑听起来不错。通常从均匀分布U(0,1)中采样任意分布函数Y(x),只需在Y向量中查找均匀随机值u并返回x的最小值,其中Y(x)大于或等于你是min{x:Y(x)>=u}

您可能希望为基本概率添加x = 0观测值,如下例所示。

x      P(x)    Y(x)
0      0       0
1      0.1     0.1
2      0.3     0.4
3      0.4     0.8
4      0.2     1

例如u = 0.3 -> x = 2u = 0.81 -> x = 4

清楚地计算许多试验中的相对频率将给出P(x)的无偏估计。