轮次检验法原理轮次检验法是平稳性的非参数检验法,该方法只涉及一组实测数据,而不需要假设数据的分布规律,因此本方法具有良好的实用性。轮次(游程)检验法的工作步骤:1)将待检验数据序列{xi}分成m个等分,并计算各等分的方差2)计算3)当 时将该等分记为“+”,当时将该等分记为“-”。4)将m个等分按“+”“-”排成观察序列,并将符号相同的连续序列定义为一个轮次(游程)。统计轮次(游程)数r作为检验统计量。5) (“+”的总数), (“-”的总数)6)当15时,认为是小样本量,查轮次(游程)检验分布表,可得在显著性水平的上下限。7)若,则为平稳性数据8) 当当15时,可认为是大样本量,这时可用正态来近似,可用正态分布表来定出检验的接受域和否定域。计算统计量 9) +1 10)在,若|Z|,则为平稳性数据。流程图轮次检验的matlab程序代码clearx=rand(1,100); %取随机数序列for i=1:25 a=x((4*i-3):4*i); %平均分组 c(i)=var(a); %求每一组的方差 fprintf('c(%d)=%f\n',i,c(i)); %输出每一组的方差值endc=[c(1) c(2) c(3) c(4) c(5) c(6) c(7) c(8) c(9) c(10) c(11) c(12) c(13) c(14) c(15) c(16) c(17) c(18) c(19) c(20) c(21) c(22) c(23) c(24) c(25)];cev=(max(c)+min(c))/2 ; %求方差的均值N1=0;N2=0;for i=1:25 if c(i)>cev b='+'; q(i)=1;%用来计量观察序列正负号的变化 N1=N1+1; %统计“+”的总数 else b='-'; q(i)=-1; N2=N2+1; %统计“-”的总数 end fprintf(b,q(i)); r=1;end for i=2:1:25 if q(i)*q(i-1)==1 r=r; else r=r+1;%统计游程数 r end end fprintf('r=%d\n',r); %输出游程数 N1,N2if N1<=15&N2<=15 fprintf('请查轮次检验分布表\n');%通过查轮次检验用分布表判断数据平稳性elseif N1>15|N2>15 %大样本量,用正太分布近似 N=N1+N2; u=2*N1*N2/N+1; cigma=sqrt(2*N1*N2*(2*N1*N2-N)/(N^2*(N-1))); z=(r-u)/cigma; fprintf('z=%f\n',z); z=abs(z); %取z的绝对值 z if z<=1.96 fprintf('此数据为平稳数据'); else fprintf('此数据为不平稳数据'); endend参考文献:杨位钦.时间序列分析与动态数据建模.北京:北京理工大学,1987吉林大学 汽车工程学院 车辆工程 袁中亮 研-03yuanzhongliang09@163.com
matlab游程法检验平稳性,轮次(游程)检验法.docx
最新推荐文章于 2024-05-06 15:15:02 发布