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

it2025-06-18  3

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

    首先是如果:给定一个总个数为 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) counting n_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_selected N0 % ----- 6) Compare sum_sel_ones with L. sum_sel_ones L

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

转载于:https://www.cnblogs.com/bhlsheji/p/5183365.html

相关资源:数据结构—成绩单生成器
最新回复(0)