如何使用Matlab检验数据服从什么分布—童鞋数据分析问题集锦(1)求解
1个回答
展开全部
来点实际的吧:
MatLab实现数据分布检验的程序
function f=p_judge(A,alpha)
% 本程序用于判别所给数据源在置信率为0.05时的概率分布形式。A的形式为n×1。
A=A(:);[mu,sigma]=normfit(A);
p1=normcdf(A,mu,sigma);
[H1,s1]=kstest(A,[A,p1],alpha)
n=length(A);if H1==0disp('该数据源服从正态分布。')elsedisp('该数据源不服从正态分布。')endphat=gamfit(A,alpha);
p2=gamcdf(A,phat(1),phat(2));
[H2,s2]=kstest(A,[A,p2],alpha)if H2==0disp('该数据源服从γ分布。')elsedisp('该数据源不服从γ分布。')endlamda=poissfit(A,alpha);
p3=poisscdf(A,lamda);
[H3,s3]=kstest(A,[A,p3],alpha)if H3==0disp('该数据源服从泊松分布。')elsedisp('该数据源不服从泊松分布。')endmu=expfit(A,alpha);
p4=expcdf(A,mu);
[H4,s4]=kstest(A,[A,p4],alpha)if H4==0disp('该数据源服从指数分布。')elsedisp('该数据源不服从指数分布。')end[phat, pci] = raylfit(A, alpha)
[H5,s5]=kstest(A,[A,p5],alpha)if H5==0disp('该数据源服从rayleigh分布。')end
MatLab实现数据分布检验的程序
function f=p_judge(A,alpha)
% 本程序用于判别所给数据源在置信率为0.05时的概率分布形式。A的形式为n×1。
A=A(:);[mu,sigma]=normfit(A);
p1=normcdf(A,mu,sigma);
[H1,s1]=kstest(A,[A,p1],alpha)
n=length(A);if H1==0disp('该数据源服从正态分布。')elsedisp('该数据源不服从正态分布。')endphat=gamfit(A,alpha);
p2=gamcdf(A,phat(1),phat(2));
[H2,s2]=kstest(A,[A,p2],alpha)if H2==0disp('该数据源服从γ分布。')elsedisp('该数据源不服从γ分布。')endlamda=poissfit(A,alpha);
p3=poisscdf(A,lamda);
[H3,s3]=kstest(A,[A,p3],alpha)if H3==0disp('该数据源服从泊松分布。')elsedisp('该数据源不服从泊松分布。')endmu=expfit(A,alpha);
p4=expcdf(A,mu);
[H4,s4]=kstest(A,[A,p4],alpha)if H4==0disp('该数据源服从指数分布。')elsedisp('该数据源不服从指数分布。')end[phat, pci] = raylfit(A, alpha)
[H5,s5]=kstest(A,[A,p5],alpha)if H5==0disp('该数据源服从rayleigh分布。')end
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询