ecdf与ksdensity的区别

我能理解normcdf / gamcdf与ksdensity的区别,我的理解是:前者是事先定义(或已知)总体的分布类型,在对样本量进行拟合后求参同时进行cdf计算。。。而ksdensity是不知道(或不考虑)总体的分布,直接利用现有的已知样本量进行拟合求CDF。

然后又冒出个ecdf,即所谓的经验cdf。。。这里的经验是“ Kaplan-Meier”的代称吧。。。

我自己构造了个序列:
clear all;

data1 = [randn(100,1); 3+randn(100,1); 5+randn(300,1)];
xi = linspace(-2,10,200);
f = ksdensity(data1,xi,'function','cdf');
plot(xi,f,'r');
hold on
ecdf(data1);
legend('ksdensity','ecdf', 'Location','NorthWest'); 

data2 = [randn(100,1); 50+randn(300,1)];
xi = linspace(-2,60,200);
f = ksdensity(data2,xi,'function','cdf');
plot(xi,f,'r');
hold on
ecdf(data2);
legend('ksdensity','ecdf', 'Location','NorthWest'); 


发现ecdf和ksdensity基本没有差别,只不过ksdensity更光滑了一些。。。


normcdf / gamcdf 是 cdf 的理论值,没有任何误差
ksdensity、ecdf 都属于 cdf 的估计值,只是采用的估计算法不同,二者相对理论值而言都有一定的误差


一直用ksdensity,然后知道'ecdf',一直猜测其字面意思“empirical cdf”,误认为是“根据专家经验先判断其总体分布,再利用样本值去fit分布,求出参数”。今天试了试,发现之前的理解是大错特错了呀。。。

原来ksdensity和ecdf累似,都是利用现有的样本量,去估计。。。。


ksdensity 是平滑密度是經過處理的密度,ecdf才是實際密度

你可能感兴趣的:(ecdf与ksdensity的区别)