离散型随机变量的分布函数的绘制

前言:绘制连续型的分布函数很容易,直接根据分布函数计算函数值即可。但是对于离散型随机变量而言,没有已知的分布函数,只能使用经验分布函数或者说是累积分布函数进行近似。下文以离散分布中比较经典的二项分布、泊松分布以及几何分布为例绘制它们的经验分布函数。

二项分布

二项分布的理论部分可以参照二项分布百度百科
离散型随机变量的分布函数的绘制_第1张图片

Len = 100000;  
%% 二项分布Bin(n,p)
N = 50;   % 二项分布参数n
p = 0.5;   % 二项分布参数p
F_bin = Bin(N,p,Len);

%% 
% 二项分布Bin(n,p)
function F_bin = Bin(N,p,Len)
u = rand(1,Len);
bin = binoinv(u,N,p);    % 二项分布逆函数
% 画分布函数
figure
xlim([0 round(1.1*N)])
for i = 1:round(1.1*N)
    F_bin(i) = length(find(bin<i))/Len;   % 二项分布的分布函数值
    line([i-1 i],[F_bin(i) F_bin(i)],'linewidth',1.1)    % 绘制分段的分布函数图像
    hold on
end
str1 = '二项分布分布函数图像';
str2 = ['N = ' num2str(N) '  p = ' num2str(p)];
title({[str1];[str2]})
grid on
set(gca,'linewidth',1.1)
end

经验分布图形为:
离散型随机变量的分布函数的绘制_第2张图片

泊松分布

以下泊松分布理论部分摘自泊松分布博客。
离散型随机变量的分布函数的绘制_第3张图片

%% 泊松分布Poi(lambda)
lambda = 2;
x = Poiss(lambda, Len);


% 泊松分布Poi(lambda)
function F_poiss = Poiss(lambda,Len)
u = rand(1,Len);
poiss = poissinv(u,lambda);    % 泊松逆函数
% 画分布函数图
figure
xlim([0 round(max(poiss))])
for i = 1:round(max(poiss))
    F_poiss(i) = length(find(poiss<i))/Len;   % 泊松分布的分布函数值
    line([i-1 i],[F_poiss(i) F_poiss(i)],'linewidth',1.1);   % 绘制分段的分布函数图像
    hold on
end
str1 = '泊松分布分布函数图像';
str2 = ['lambda = ' num2str(lambda)];
title({[str1];[str2]})
grid on
set(gca,'linewidth',1.1)
end

经验分布函数图像为:
离散型随机变量的分布函数的绘制_第4张图片

几何分布

以下几何分布理论摘自几何分布百度百科。注意,几何分布为帕斯卡分布及负二项分布的特殊情况
离散型随机变量的分布函数的绘制_第5张图片

Len = 1000000;  
%% 几何分布
p = 0.5;
F_geo = Geo(p,Len);

%% 
% 几何分布Geo(p)
function F_geo = Geo(p,Len)
u = rand(1,Len);
geo = geoinv(u,p);    % 几何分布逆函数
% 画分布函数
figure
xlim([0 max(geo)])
for i = 1:max(geo)
    F_geo(i) = length(find(geo<i))/Len;   % 二项分布的分布函数值
    line([i-1 i],[F_geo(i) F_geo(i)],'linewidth',1.1)    % 绘制分段的分布函数图像
    hold on
end
str1 = '二项分布分布函数图像';
str2 = ['p = ' num2str(p)];
title({[str1];[str2]})
grid on
set(gca,'linewidth',1.1)
end

经验分布函数图像为:
离散型随机变量的分布函数的绘制_第6张图片

你可能感兴趣的:(MATLAB随笔)