¿Código Matlab para determinar a qué distribución de probabilidad se ajusta un conjunto de datos?
En matlab:
función f=p_judge(A, alpha)
Este programa se utiliza para determinar la probabilidad de la fuente de datos dada cuando la tasa de confianza es 0,05 Forma de distribución. La forma de A es n×1.
[mu,sigma]=normfit(A);
p1=normcdf(A,mu,sigma);
[H1,s1]=kstest (A, [A, p1], alfa)
n=length(A);
if H1==0
disp(\'Los datos La fuente sigue una distribución normal. \')
else
disp(\'La fuente de datos no sigue una distribución normal.\')
end p>
phat=gamfit(A, alfa);
p2=gamcdf(A, phat(1), phat(2));
[H2, s2] =kstest(A,[A,p2],alpha)
if H2==0
disp(\'Esta fuente de datos obedece a la distribución γ.\') p>
else
disp(\'Esta fuente de datos no obedece a la distribución γ.\')
end
lamda=poissfit(A , alfa);
p3=poisscdf(A,lamda);
[H3,s3]=kstest(A,[A,p3],alfa)
if H3 ==0
disp(\'La fuente de datos obedece a la distribución de Poisson.\')
else
disp(\'Los datos la fuente no obedece a la distribución de Poisson \')
end
mu=expfit(A, alpha
p4=expcdf(A); , mu);
[H4, s4]=kstest(A, [A, p4], alfa)
if H4==0
disp( \'Esta fuente de datos obedece a una distribución exponencial. \')
else
disp(\'Esta fuente de datos no obedece a una distribución exponencial.\')
fin
[ phat, pci] = raylfit(A, alfa)
p5=raylcdf(A, phat);
[H5, s5]= kstest(A, [A, p5], alpha)
if H5==0
disp(\'Esta fuente de datos obedece a la distribución de Rayleigh.\')
else
disp(\'Esta fuente de datos no obedece a la distribución de Rayleigh.\')
end
Principalmente el uso de kstest