数学建模社区-数学中国
标题:
求助,如何确定数据的分布?谢谢。
[打印本页]
作者:
hitman
时间:
2010-4-10 13:40
标题:
求助,如何确定数据的分布?谢谢。
想问下一,SPSS或者EXCEL能确定一组数据是属于什么分布的吗?比如有最近10年的每年交通事故量,能看出是属于什么分布的吗?谢谢。
作者:
olh2008
时间:
2010-4-10 14:33
数据分布的估计SPSS有这样的功能,而Excel这方面功能不怎么强。
" V* M9 b" c4 e6 |1 r% Z3 R
其实你应该多看看SPSS的相关书籍的。因为不同的分布判定不一样。
: U! G5 o6 h J* ~; A' w
这里给你一个能直接用于判定的Matlab函数,好好研究一下吧。
* y& u: s' [2 W0 I5 \; ^
) q% W8 q) n4 v8 L: w
function f=p_judge(A,alpha)
8 B2 Z5 |7 d: J4 r
%判定数据的概率分布形式
# C& Y# a5 v! S; y* i
A=A(:);
5 z' A& c C5 J8 E, G8 k
[mu,sigma]=normfit(A);
8 I3 X. `; R6 Z" x6 P6 \, O Q
p1=normcdf(A,mu,sigma);
( r4 Z' b) Z+ S6 ?
[H1,s1]=kstest(A,[A,p1],alpha);
9 T5 U" ], B( v$ a4 p
n=length(A);
8 n: N! L" W) \
if H1==0
/ v9 e* H$ W, Q' |& u2 \1 v# p
disp('该数据服从正态分布。')
* i; e- F( y+ I
end
: _5 S$ s2 z5 @9 b
phat=gamfit(A,alpha);
: w' u M: w; S& ~! I
p2=gamcdf(A,phat(1),phat(2));
' q- i: c* f" V3 Q+ P1 A' _* V
[H2,s2]=kstest(A,[A,p2],alpha);
6 B" \% _) K0 `
if H2==0
8 O/ Y: K' n' H3 D1 h
disp('该数据服从γ分布。')
8 j! ?6 T! K* ~( h; G! S1 Z2 [( |7 s
end
% i. M+ B' m1 v# _* l
lamda=poissfit(A,alpha);
4 V, `% b$ T. u9 Q
p3=poisscdf(A,lamda);
8 Q# h8 N+ I7 i2 ]
[H3,s3]=kstest(A,[A,p3],alpha);
, b, \* c" T# m+ Q$ U
if H3==0
: \! ~* k7 F2 s& R# y1 S
disp('该数据服从泊松分布。')
: g4 v4 Y" a" O I1 W
end
5 N5 C4 H# w" u( P5 E5 S
mu=expfit(A,alpha);
9 m# X; S; Q# U! s3 e+ |$ O5 M! T
p4=expcdf(A,mu);
3 Y, E0 E5 q) d
[H4,s4]=kstest(A,[A,p4],alpha);
; M5 @* v- M8 ?5 M
if H4==0
; ?5 m, n2 |, l- b. a0 y
disp('该数据服从指数分布。')
1 W* Q; Z. ]8 D& _4 U& e
end
& u! A( o6 e y L$ S: z
[phat, pci] = raylfit(A, alpha);
: p& D9 V* t: N7 g% ]
p5=raylcdf(A,phat);
( K5 Y5 v# ^; c$ u* O
[H5,s5]=kstest(A,[A,p5],alpha);
/ k% Z+ [2 [" j4 v5 Q3 T8 R
if H5==0
S/ s$ h8 j; x# l% B7 t
disp('该数据服从rayleigh分布。')
/ {2 V, Z- V' l/ x! w! k' u
end
. P5 ~. ]6 B8 m, G8 ?! F
复制代码
作者:
hitman
时间:
2010-4-10 15:36
多谢版主,每次都能学到新东西~~~~~~~~~~~~
% }' U. [/ S7 [* p, k
' e; r& }* F2 B
开始研究下。
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5