截取符合指数分布的一部分样本的理论与实验

来源:互联网 发布:monsta知乎 编辑:程序博客网 时间:2024/06/11 09:21


    最近在解决一个符合指数分布的样本处理的问题时,做了一个假设,然后需要做一个小实验确认基于假设而简单推导出的理论的正确性。

    首先是假设:给定一个总个数为 N 的样本集,样本集中元素符合指数分布,即在样本集 S 里的每一个元素 X 的值都符合参数为 lambda 的指数分布 X~Exp(lambda). 那么,如果我另给定一个长度 n ,来对所有的样本元素截取,即挑出那些 X 小于或等于 n  的所有元素。

    问题是:1)这样的元素有多少个,用N0表示? 2)这些所有被截取的元素的和是多少,用L表示?

    

    A. 简单推导:

   1) 第一个小问题,我的思路是这样的:首先求出 元素X不大于n的累积分布概率 F(n, lambda),然后所有不大于n的元素的个数即为总体样本个数在 F(n, lambda) 的体现。即

          

   2)第二问的思路是:首先求出 所有小于等于 n 的元素的 期望 E(X<=n),然后 L 即为 期望 E(X<=n) 在总体样本上的体现。即


    其中,f(X)  为 指数分布的概率密度函数。


    B. 接下来, 用实验来验证。

    1) 代码; 2)效果;3)结论。

    1)    

clear% ---- 1) generate S with Exprnd()S = [];cnt_elements = 1e6;Mu = 5;S= exprnd(Mu,1,cnt_elements);% ---- 2) countingn_threshold = 3;selected_elements_idx = [];selected_elements_idx = find(S <= n_threshold);% -- a. count of selected elements within threshold.CNT_selected = size(selected_elements_idx);% -- b. sum of the selected elements.sum_sel_ones = sum( S(selected_elements_idx) );% ----- 3) analysis of N0:lam = 1.0/Mu;n = n_threshold;N = cnt_elements;N0 = N * (1-exp(-1*lam*n) );% ----- 4) analysis of L.L = (N/lam)*(1 - (lam*n + 1)/exp(lam*n));% ----- 5) Compare CNT_selected with N0.CNT_selectedN0% ----- 6) Compare sum_sel_ones with L.sum_sel_onesL


2)输出:

CNT_selected =
           1      451172

N0 =
  4.5119e+005


sum_sel_ones =
  6.0934e+005

L =
  6.0951e+005


3)从输出看出,实验结果大致符合理论推导。


 Davy_H

 2014-7-15

0 1
原创粉丝点击