数学建模社区-数学中国
标题:
求助,如何确定数据的分布?谢谢。
[打印本页]
作者:
hitman
时间:
2010-4-10 13:40
标题:
求助,如何确定数据的分布?谢谢。
想问下一,SPSS或者EXCEL能确定一组数据是属于什么分布的吗?比如有最近10年的每年交通事故量,能看出是属于什么分布的吗?谢谢。
作者:
olh2008
时间:
2010-4-10 14:33
数据分布的估计SPSS有这样的功能,而Excel这方面功能不怎么强。
: z8 D, K. p* A$ \! l/ _
其实你应该多看看SPSS的相关书籍的。因为不同的分布判定不一样。
" ^( s5 ?4 w r
这里给你一个能直接用于判定的Matlab函数,好好研究一下吧。
& M) b8 w" U1 N- s; d ?0 F- X
- Y& v' {: \" g; M
function f=p_judge(A,alpha)
( t7 n5 [/ ^+ R3 z6 D3 K
%判定数据的概率分布形式
" q- d, d, T; D
A=A(:);
. Z' ~5 q) {" u! S
[mu,sigma]=normfit(A);
3 M; `) _0 |* o4 X) K7 [
p1=normcdf(A,mu,sigma);
8 V" Q5 q A0 u# R9 |) g- L
[H1,s1]=kstest(A,[A,p1],alpha);
' c/ p& H1 O9 m) I4 n* k* q4 P0 I2 I
n=length(A);
' s! k6 x: a6 s, K- f! ?
if H1==0
' W- i% t6 m& \9 H
disp('该数据服从正态分布。')
' d! y$ B2 |- f) \; E
end
1 J& l' s j' T4 Y( i! W
phat=gamfit(A,alpha);
1 q- o8 E$ ~0 {* x) Z1 x4 \ k
p2=gamcdf(A,phat(1),phat(2));
( q; Y0 n: Q& W7 R" l/ m& w
[H2,s2]=kstest(A,[A,p2],alpha);
. x& F+ D b+ T7 A5 m, Z; B6 V
if H2==0
% Y/ k( q2 j9 E5 U( [
disp('该数据服从γ分布。')
% }% S2 t# w- f) Q
end
. T( \. S4 F3 E/ ?
lamda=poissfit(A,alpha);
2 Z2 @& e4 w. ?2 f, B6 \: D
p3=poisscdf(A,lamda);
- ~$ d' Y2 X2 P4 N7 ^% Z3 T
[H3,s3]=kstest(A,[A,p3],alpha);
6 Z2 O6 ^9 r: X' g8 t' H
if H3==0
) h0 L/ ?0 _3 T6 @
disp('该数据服从泊松分布。')
& C% k6 U8 N% Y( K% P# J% \; `
end
i) N7 Q3 e6 i( U5 [
mu=expfit(A,alpha);
4 z1 u4 l$ N/ K" @
p4=expcdf(A,mu);
8 ]" S( i! z8 ?3 o$ L
[H4,s4]=kstest(A,[A,p4],alpha);
5 Y. q+ s: u: ^6 `# K
if H4==0
, F4 S8 [" a- K3 f1 g
disp('该数据服从指数分布。')
2 z1 \6 o& |% k' r4 W, _9 \; s
end
: H& E! f l" [4 k) ` f' D: l
[phat, pci] = raylfit(A, alpha);
, \% B% r6 t" f: g: v
p5=raylcdf(A,phat);
4 I, g R( R3 L8 g. Q
[H5,s5]=kstest(A,[A,p5],alpha);
2 e/ E" {5 p- l. A9 e
if H5==0
% Y) P! }" y/ C9 e1 y: U4 s; g% i e" k
disp('该数据服从rayleigh分布。')
' f3 I' Q+ G' B
end
0 X3 L/ y( j$ l7 n# [* J
复制代码
作者:
hitman
时间:
2010-4-10 15:36
多谢版主,每次都能学到新东西~~~~~~~~~~~~
; c2 W2 m3 a6 x: G7 @+ T% L
3 b; J0 R& A" v5 A; L
开始研究下。
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5