数学建模社区-数学中国
标题:
求助,如何确定数据的分布?谢谢。
[打印本页]
作者:
hitman
时间:
2010-4-10 13:40
标题:
求助,如何确定数据的分布?谢谢。
想问下一,SPSS或者EXCEL能确定一组数据是属于什么分布的吗?比如有最近10年的每年交通事故量,能看出是属于什么分布的吗?谢谢。
作者:
olh2008
时间:
2010-4-10 14:33
数据分布的估计SPSS有这样的功能,而Excel这方面功能不怎么强。
9 L: Z t4 m; a$ X S& B. e
其实你应该多看看SPSS的相关书籍的。因为不同的分布判定不一样。
& q! j, h9 i1 h n
这里给你一个能直接用于判定的Matlab函数,好好研究一下吧。
3 l3 ]$ G7 ~% G" x- I! q
8 N) o* p# v1 B7 [" a' @
function f=p_judge(A,alpha)
# t O' G5 ?' u/ H" l
%判定数据的概率分布形式
/ d$ Z+ s2 w9 ~% E2 E* Y
A=A(:);
1 J0 p# O7 z6 C" m' j' B
[mu,sigma]=normfit(A);
5 i4 v7 E8 o0 \1 U) r& X) X2 w
p1=normcdf(A,mu,sigma);
/ }& G2 J, G* }8 n
[H1,s1]=kstest(A,[A,p1],alpha);
) l# {) @. ^5 j2 w
n=length(A);
' K/ O9 j8 _" d$ H
if H1==0
/ M, L1 O/ J& f2 V4 F* O% P( ]
disp('该数据服从正态分布。')
+ E' V1 h6 K$ _
end
' K7 F W6 X; w
phat=gamfit(A,alpha);
) w8 z/ ?0 z7 l# _
p2=gamcdf(A,phat(1),phat(2));
9 o: r2 f F$ a* G& E
[H2,s2]=kstest(A,[A,p2],alpha);
W, o S4 u0 i+ b5 A
if H2==0
' v& U) z7 J' C- S, t, r# q8 f
disp('该数据服从γ分布。')
$ ]& e$ D* B5 A. F8 \6 N+ H
end
% L8 e2 O z2 l$ P* @
lamda=poissfit(A,alpha);
' G2 J& @& G3 }. F/ v" u1 l% s
p3=poisscdf(A,lamda);
+ _- [% e1 D" v; H
[H3,s3]=kstest(A,[A,p3],alpha);
) ~5 P) z" }/ `2 U- h
if H3==0
! {& D1 b0 Y1 ]: T7 O, m
disp('该数据服从泊松分布。')
! k- V# C: K9 I) D
end
2 c: T) y+ @5 L+ Q) K7 b5 P
mu=expfit(A,alpha);
& f$ b8 t$ f ~9 t; i3 J
p4=expcdf(A,mu);
% H2 Q' S8 h& c @& M7 t
[H4,s4]=kstest(A,[A,p4],alpha);
8 w& z' J2 b1 b8 Z- B3 H5 v
if H4==0
. m) `- a. z7 N
disp('该数据服从指数分布。')
' a1 V" o6 j, l% o5 N v) S; L
end
2 V# I! B: N7 L2 f- T: r* m. P
[phat, pci] = raylfit(A, alpha);
# D c* P/ \6 i
p5=raylcdf(A,phat);
0 s6 c8 ~7 h; Z7 n: j4 V: F2 C/ |
[H5,s5]=kstest(A,[A,p5],alpha);
B9 X7 _8 G+ T) \7 C, O- _
if H5==0
' ^7 Y0 D5 \6 |! D/ O; ~9 A: Q* }
disp('该数据服从rayleigh分布。')
! C1 E! T5 C$ R e& P5 {
end
) f* s! U3 V5 I1 H% Y
复制代码
作者:
hitman
时间:
2010-4-10 15:36
多谢版主,每次都能学到新东西~~~~~~~~~~~~
' }; G/ t! ?; Y2 Y; i; ]0 S
- p6 M$ w& L2 j# M8 `/ u' _
开始研究下。
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5