数学建模社区-数学中国
标题:
求助,如何确定数据的分布?谢谢。
[打印本页]
作者:
hitman
时间:
2010-4-10 13:40
标题:
求助,如何确定数据的分布?谢谢。
想问下一,SPSS或者EXCEL能确定一组数据是属于什么分布的吗?比如有最近10年的每年交通事故量,能看出是属于什么分布的吗?谢谢。
作者:
olh2008
时间:
2010-4-10 14:33
数据分布的估计SPSS有这样的功能,而Excel这方面功能不怎么强。
7 O: T6 g" {, v# t
其实你应该多看看SPSS的相关书籍的。因为不同的分布判定不一样。
9 s4 u3 q. i: e R6 ]1 F
这里给你一个能直接用于判定的Matlab函数,好好研究一下吧。
4 H/ g8 l1 n+ I1 ^
' t/ T( M/ a M {9 M! d1 s) j
function f=p_judge(A,alpha)
+ d+ X6 g* H. o4 h; ^, e3 Q0 F
%判定数据的概率分布形式
5 f& J2 v& V a# W
A=A(:);
& s) Q9 y: L* b) t# z
[mu,sigma]=normfit(A);
/ E, w9 C$ d# p* Z
p1=normcdf(A,mu,sigma);
4 W2 p) D, \$ o" H) T
[H1,s1]=kstest(A,[A,p1],alpha);
4 i8 ~% S9 u, b% k4 p& H
n=length(A);
$ y$ i7 @; A2 O; H, ]
if H1==0
, S3 B, l. e& ~
disp('该数据服从正态分布。')
* {4 {1 E4 w+ U9 ]
end
" z7 ~+ x) X( B
phat=gamfit(A,alpha);
/ R& i4 I- S: d$ Q$ M4 s0 a& e
p2=gamcdf(A,phat(1),phat(2));
K- i! o Y1 b4 B
[H2,s2]=kstest(A,[A,p2],alpha);
6 G( R& l" M4 ~" ?% e( B' y
if H2==0
+ R* x8 C) J& o5 ]7 h1 U* r
disp('该数据服从γ分布。')
$ K( F+ X9 b* _8 Y0 l
end
" E# s3 w D' R
lamda=poissfit(A,alpha);
6 t+ j9 j5 ^% a! b- ^
p3=poisscdf(A,lamda);
& s, H# D8 @( ]
[H3,s3]=kstest(A,[A,p3],alpha);
+ n- ?$ H% O7 D) c5 }& D. V6 q
if H3==0
8 V" H, r# O5 k2 ?7 H
disp('该数据服从泊松分布。')
, z5 ~+ z7 t. p3 J8 `
end
& Q$ g- \4 ^& f
mu=expfit(A,alpha);
6 P. B4 p2 @% @- X# I$ a
p4=expcdf(A,mu);
Q3 \5 _4 W8 o: |9 ]
[H4,s4]=kstest(A,[A,p4],alpha);
# C8 Z$ y/ i- D f3 r" M
if H4==0
9 Y: n) X& j6 J
disp('该数据服从指数分布。')
+ x1 v6 e- m7 Z
end
7 ~5 p! m4 |$ d# o4 i/ ^1 |5 S* H
[phat, pci] = raylfit(A, alpha);
8 }" a* G- Z3 s
p5=raylcdf(A,phat);
* M/ P& H' [7 B! Z0 o- c
[H5,s5]=kstest(A,[A,p5],alpha);
! Z2 D" ]! v7 n' c* p) P; {! F2 C
if H5==0
8 i: B3 M( ^, E8 Q# U+ p
disp('该数据服从rayleigh分布。')
% e G; {1 a% _8 o L: |
end
1 f0 g# \8 R0 |
复制代码
作者:
hitman
时间:
2010-4-10 15:36
多谢版主,每次都能学到新东西~~~~~~~~~~~~
4 x6 C6 a+ a$ c# w
8 v* h" F, H3 @6 l! r+ T Q
开始研究下。
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5