
我想通过MATLAB知道一组统计数据的分布特征,如属于哪种分布,均值方差等,请问如何实现?谢谢!
function f=p_judge(A,alpha)
% 本程序用于判别所给数据源在置信率为0.05时的概率分布形式。A的形式为n×1。
[mu,sigma]=normfit(A);
p1=normcdf(A,mu,sigma);
[H1,s1]=kstest(A,[A,p1],alpha)
n=length(A);
if H1==0
disp('该数据源服从正态分布。')
else
disp('该数据源不服从正态分布。')
end
phat=gamfit(A,alpha);
p2=gamcdf(A,phat(1),phat(2));
[H2,s2]=kstest(A,[A,p2],alpha)
if H2==0
disp('该数据源服从γ分布。')
else
disp('该数据源不服从γ分布。')
end
lamda=poissfit(A,alpha);
p3=poisscdf(A,lamda);
[H3,s3]=kstest(A,[A,p3],alpha)
if H3==0
disp('该数据源服从泊松分布。')
else
disp('该数据源不服从泊松分布。')
end
mu=expfit(A,alpha);
p4=expcdf(A,mu);
[H4,s4]=kstest(A,[A,p4],alpha)
if H4==0
disp('该数据源服从指数分布。')
else
disp('该数据源不服从指数分布。')
end
[phat, pci] = raylfit(A, alpha)
p5=raylcdf(A,phat);
[H5,s5]=kstest(A,[A,p5],alpha)
if H5==0
disp('该数据源服从rayleigh分布。')
else
disp('该数据源不服从rayleigh分布。')
end
半年前写的,用来加深数理统计的概念理解,可以参考一下,至于均值方差的问题,书上写得比较多,可以去查一下.有关假设检验的命令还有jbtest,lillietest等等.
====================================================================================
统计工具箱里的后面是fit的一般都是参数估计和区间估计,比如normfit是正态分布参数估计,后面是cdf的一般是求分布函数命令,kstest是任意分布的Kolmogorov-Smirnov假设检验法,不知道6.5是否也有,但如果normfit命令你找不到,或者有可能是你没有装统计工具箱造成的,但不是太确定,明天我给你查证一下.
