数学建模社区-数学中国
标题:
求助,如何确定数据的分布?谢谢。
[打印本页]
作者:
hitman
时间:
2010-4-10 13:40
标题:
求助,如何确定数据的分布?谢谢。
想问下一,SPSS或者EXCEL能确定一组数据是属于什么分布的吗?比如有最近10年的每年交通事故量,能看出是属于什么分布的吗?谢谢。
作者:
olh2008
时间:
2010-4-10 14:33
数据分布的估计SPSS有这样的功能,而Excel这方面功能不怎么强。
; k. ]4 d" b; _6 Z
其实你应该多看看SPSS的相关书籍的。因为不同的分布判定不一样。
+ ~+ c" q5 T- @
这里给你一个能直接用于判定的Matlab函数,好好研究一下吧。
6 Y, q/ X& J7 k( t, f
h6 ~, o V" S
function f=p_judge(A,alpha)
) Y, m% L+ [- a8 V. Y: j
%判定数据的概率分布形式
# L9 h9 ~% s! I- p+ _. v
A=A(:);
, v5 o, Y& e! B. @6 t7 C! ]0 h
[mu,sigma]=normfit(A);
/ Y: Q$ ?, H i" w7 x+ u9 d- B- g8 O
p1=normcdf(A,mu,sigma);
* w5 ^/ V, p% v* m, u
[H1,s1]=kstest(A,[A,p1],alpha);
/ K, i- z+ m* s* R9 W$ [' v2 ~
n=length(A);
6 n& n7 r3 E/ F
if H1==0
# |, D" y j, V4 @$ {
disp('该数据服从正态分布。')
5 @) A: y8 N, _3 q: ^& l
end
8 r1 |1 R5 K0 r1 ^ w8 g
phat=gamfit(A,alpha);
' j2 `- V% @% D1 O" v
p2=gamcdf(A,phat(1),phat(2));
: b7 J/ L2 S9 |. k) W8 [: U
[H2,s2]=kstest(A,[A,p2],alpha);
- |5 x9 Z4 z9 Y) }# k
if H2==0
$ L- c8 O0 k3 O+ a& u/ J
disp('该数据服从γ分布。')
# n" Z* T: K8 X: O4 y h) W
end
9 r# [0 Z/ `; z$ l6 `
lamda=poissfit(A,alpha);
0 m% \' C4 R0 V5 S
p3=poisscdf(A,lamda);
, G+ P% E6 O& O8 P0 p
[H3,s3]=kstest(A,[A,p3],alpha);
) c8 h: f5 \! e+ w
if H3==0
/ r$ A9 j, |* Y. p: v5 f6 H+ }
disp('该数据服从泊松分布。')
. _5 d1 V4 Q$ D" Z/ c/ q
end
: ?8 _* C( T. a" @0 B# G
mu=expfit(A,alpha);
+ ?+ _" i9 S1 j+ x4 k
p4=expcdf(A,mu);
1 {6 {/ D* @( s- `5 g( a; ?! h
[H4,s4]=kstest(A,[A,p4],alpha);
6 s- V& @0 Q- U% H# J
if H4==0
& |! m) h! X) y+ n3 e) q! |
disp('该数据服从指数分布。')
7 O2 r4 a* ?) Z% E* v
end
; q3 V- f/ ~0 d( W
[phat, pci] = raylfit(A, alpha);
X% ^# Q# V; o5 c2 r1 z4 B+ L4 E# F2 y, G
p5=raylcdf(A,phat);
6 U7 A' P: t2 Q1 O
[H5,s5]=kstest(A,[A,p5],alpha);
" j+ L# t; N3 T* z6 r
if H5==0
# \; I9 U& X9 U; c9 l: O& R
disp('该数据服从rayleigh分布。')
S5 s4 P5 k" U+ Z
end
3 P# N2 i: | l7 w% |: N. l
复制代码
作者:
hitman
时间:
2010-4-10 15:36
多谢版主,每次都能学到新东西~~~~~~~~~~~~
4 @. P6 @ b: b3 o6 a! S: i1 h, X
% V5 \( }. q; I b8 p
开始研究下。
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5