一种基于Fourier级数模型的时序数据预测方法与流程

文档序号:11830942阅读:来源:国知局

技术特征:

1.一种基于Fourier级数模型的时序数据预测方法,其特征在于,包括如下步骤:

步骤1,对遥测采样数据进行预处理,剔除粗大误差、剔野;

步骤2,建立Fourier级数模型;

其中,Fourier级数模型为:

y=Φ(x,t)=a0+a1cos(ωt)+b1sin(ωt)+a2cos(2ωt)+b2sin(2ωt)+a3cos(3ωt)+b3sin(3ωt)

+a4cos(4ωt)+b4sin(4ωt)+…+aKcos(Kωt)+bKsin(Kωt)

其中,x=(a0,a1,b1,a2,b2,a3,b3,a4,b4,…,aK,bK,ω),为待求模型参数;ω为基频,(a0,a1,b1,a2,b2,a3,b3,a4,b4,…,aK,bK)为模型系数;t为采样时间;y为采样时间对应的遥测采样数据;K为Fourier级数模型的阶数;

步骤3,求取Fourier级数模型的参数x;

步骤3.1,利用FFT变换求取步骤1预处理后的采样数据的最大频率ωpeak

FY=FFT(Y)

<mrow> <msub> <mi>&omega;</mi> <mrow> <mi>p</mi> <mi>e</mi> <mi>a</mi> <mi>k</mi> </mrow> </msub> <mo>=</mo> <mn>2</mn> <mi>&pi;</mi> <mfrac> <mrow> <mi>m</mi> <mi>a</mi> <mi>x</mi> <mrow> <mo>(</mo> <mn>0.5</mn> <mo>,</mo> <mi>max</mi> <mo>_</mo> <mi>l</mi> <mi>o</mi> <mi>c</mi> <mo>-</mo> <mn>1</mn> <mo>)</mo> </mrow> </mrow> <mrow> <msub> <mi>t</mi> <mi>m</mi> </msub> <mo>-</mo> <msub> <mi>t</mi> <mn>1</mn> </msub> </mrow> </mfrac> </mrow>

其中,Y=[y1,y2,…,ym]T,y1,y2,…,ym为采样时刻t1,t2,…,tm对应的遥测数据采样值;max_loc为FFT变换序列FY前一半的最大值索引号;

步骤3.2,令ω=ωpeak/k,k=1,2,…,K;针对K个ω,均进行如下处理:

(1)构造矩阵A:

<mrow> <mi>A</mi> <mo>=</mo> <msub> <mfenced open = "[" close = "]"> <mtable> <mtr> <mtd> <mn>1</mn> </mtd> <mtd> <mrow> <mi>cos</mi> <mrow> <mo>(</mo> <msub> <mi>t</mi> <mn>1</mn> </msub> <mi>&omega;</mi> <mo>)</mo> </mrow> </mrow> </mtd> <mtd> <mrow> <mi>sin</mi> <mrow> <mo>(</mo> <msub> <mi>t</mi> <mn>1</mn> </msub> <mi>&omega;</mi> <mo>)</mo> </mrow> </mrow> </mtd> <mtd> <mrow> <mi>cos</mi> <mrow> <mo>(</mo> <mn>2</mn> <msub> <mi>t</mi> <mn>1</mn> </msub> <mi>&omega;</mi> <mo>)</mo> </mrow> </mrow> </mtd> <mtd> <mrow> <mi>sin</mi> <mrow> <mo>(</mo> <mn>2</mn> <msub> <mi>t</mi> <mn>1</mn> </msub> <mi>&omega;</mi> <mo>)</mo> </mrow> </mrow> </mtd> <mtd> <mo>...</mo> </mtd> <mtd> <mrow> <mi>cos</mi> <mrow> <mo>(</mo> <mn>4</mn> <msub> <mi>t</mi> <mn>1</mn> </msub> <mi>&omega;</mi> <mo>)</mo> </mrow> </mrow> </mtd> <mtd> <mrow> <mi>sin</mi> <mrow> <mo>(</mo> <mn>4</mn> <msub> <mi>t</mi> <mn>1</mn> </msub> <mi>&omega;</mi> <mo>)</mo> </mrow> </mrow> </mtd> </mtr> <mtr> <mtd> <mn>1</mn> </mtd> <mtd> <mrow> <mi>cos</mi> <mrow> <mo>(</mo> <msub> <mi>t</mi> <mn>2</mn> </msub> <mi>&omega;</mi> <mo>)</mo> </mrow> </mrow> </mtd> <mtd> <mrow> <mi>sin</mi> <mrow> <mo>(</mo> <msub> <mi>t</mi> <mn>2</mn> </msub> <mi>&omega;</mi> <mo>)</mo> </mrow> </mrow> </mtd> <mtd> <mrow> <mi>cos</mi> <mrow> <mo>(</mo> <mn>2</mn> <msub> <mi>t</mi> <mn>2</mn> </msub> <mi>&omega;</mi> <mo>)</mo> </mrow> </mrow> </mtd> <mtd> <mrow> <mi>sin</mi> <mrow> <mo>(</mo> <mn>2</mn> <msub> <mi>t</mi> <mn>2</mn> </msub> <mi>&omega;</mi> <mo>)</mo> </mrow> </mrow> </mtd> <mtd> <mo>...</mo> </mtd> <mtd> <mrow> <mi>cos</mi> <mrow> <mo>(</mo> <mn>4</mn> <msub> <mi>t</mi> <mn>2</mn> </msub> <mi>&omega;</mi> <mo>)</mo> </mrow> </mrow> </mtd> <mtd> <mrow> <mi>sin</mi> <mrow> <mo>(</mo> <mn>4</mn> <msub> <mi>t</mi> <mn>2</mn> </msub> <mi>&omega;</mi> <mo>)</mo> </mrow> </mrow> </mtd> </mtr> <mtr> <mtd> <mo>.</mo> </mtd> <mtd> <mrow></mrow> </mtd> <mtd> <mrow></mrow> </mtd> <mtd> <mrow></mrow> </mtd> <mtd> <mrow></mrow> </mtd> <mtd> <mrow></mrow> </mtd> <mtd> <mrow></mrow> </mtd> <mtd> <mrow></mrow> </mtd> </mtr> <mtr> <mtd> <mo>.</mo> </mtd> <mtd> <mrow></mrow> </mtd> <mtd> <mrow></mrow> </mtd> <mtd> <mrow></mrow> </mtd> <mtd> <mrow></mrow> </mtd> <mtd> <mrow></mrow> </mtd> <mtd> <mrow></mrow> </mtd> <mtd> <mrow></mrow> </mtd> </mtr> <mtr> <mtd> <mo>.</mo> </mtd> <mtd> <mrow></mrow> </mtd> <mtd> <mrow></mrow> </mtd> <mtd> <mrow></mrow> </mtd> <mtd> <mrow></mrow> </mtd> <mtd> <mrow></mrow> </mtd> <mtd> <mrow></mrow> </mtd> <mtd> <mrow></mrow> </mtd> </mtr> <mtr> <mtd> <mn>1</mn> </mtd> <mtd> <mrow> <mi>cos</mi> <mrow> <mo>(</mo> <msub> <mi>t</mi> <mi>m</mi> </msub> <mi>&omega;</mi> <mo>)</mo> </mrow> </mrow> </mtd> <mtd> <mrow> <mi>sin</mi> <mrow> <mo>(</mo> <msub> <mi>t</mi> <mi>m</mi> </msub> <mi>&omega;</mi> <mo>)</mo> </mrow> </mrow> </mtd> <mtd> <mrow> <mi>cos</mi> <mrow> <mo>(</mo> <mn>2</mn> <msub> <mi>t</mi> <mi>m</mi> </msub> <mi>&omega;</mi> <mo>)</mo> </mrow> </mrow> </mtd> <mtd> <mrow> <mi>sin</mi> <mrow> <mo>(</mo> <mn>2</mn> <msub> <mi>t</mi> <mi>m</mi> </msub> <mi>&omega;</mi> <mo>)</mo> </mrow> </mrow> </mtd> <mtd> <mo>...</mo> </mtd> <mtd> <mrow> <mi>cos</mi> <mrow> <mo>(</mo> <mn>4</mn> <msub> <mi>t</mi> <mi>m</mi> </msub> <mi>&omega;</mi> <mo>)</mo> </mrow> </mrow> </mtd> <mtd> <mrow> <mi>sin</mi> <mrow> <mo>(</mo> <mn>4</mn> <msub> <mi>t</mi> <mi>m</mi> </msub> <mi>&omega;</mi> <mo>)</mo> </mrow> </mrow> </mtd> </mtr> </mtable> </mfenced> <mrow> <mi>m</mi> <mo>&times;</mo> <mn>9</mn> </mrow> </msub> </mrow>

(2)对矩阵A进行QR分解:

[Q,R,E]=qr(A,0)

(3)求取矩阵R的秩rand(R),令p=rand(R),取矩阵Q的前p列,即

Q′=Q(:,1:p)

(4)求取拟合序列Yfit=Q′×(Q′T×Y);

(5)计算||Y-Yfit||;

步骤3.3,针对步骤3.2获得的K个||Y-Yfit||值,选取其中最小值||Y-Yfit||min对应的频率为最佳基频ωbset

步骤3.4,根据步骤3.3获得的最佳基频ωbset,利用最小二乘求取其他模型系数:[a0 a1b1 … a4 b4]T=(ATA)-1ATY,其中,

<mrow> <mi>A</mi> <mo>=</mo> <msub> <mfenced open = "[" close = "]"> <mtable> <mtr> <mtd> <mn>1</mn> </mtd> <mtd> <mrow> <mi>cos</mi> <mrow> <mo>(</mo> <msub> <mi>t</mi> <mn>1</mn> </msub> <msub> <mi>&omega;</mi> <mrow> <mi>b</mi> <mi>e</mi> <mi>s</mi> <mi>t</mi> </mrow> </msub> <mo>)</mo> </mrow> </mrow> </mtd> <mtd> <mrow> <mi>sin</mi> <mrow> <mo>(</mo> <msub> <mi>t</mi> <mn>1</mn> </msub> <msub> <mi>&omega;</mi> <mrow> <mi>b</mi> <mi>e</mi> <mi>s</mi> <mi>t</mi> </mrow> </msub> <mo>)</mo> </mrow> </mrow> </mtd> <mtd> <mo>...</mo> </mtd> <mtd> <mrow> <mi>cos</mi> <mrow> <mo>(</mo> <mn>4</mn> <msub> <mi>t</mi> <mn>1</mn> </msub> <msub> <mi>&omega;</mi> <mrow> <mi>b</mi> <mi>e</mi> <mi>s</mi> <mi>t</mi> </mrow> </msub> <mo>)</mo> </mrow> </mrow> </mtd> <mtd> <mrow> <mi>sin</mi> <mrow> <mo>(</mo> <mn>4</mn> <msub> <mi>t</mi> <mn>1</mn> </msub> <msub> <mi>&omega;</mi> <mrow> <mi>b</mi> <mi>e</mi> <mi>s</mi> <mi>t</mi> </mrow> </msub> <mo>)</mo> </mrow> </mrow> </mtd> </mtr> <mtr> <mtd> <mn>1</mn> </mtd> <mtd> <mrow> <mi>cos</mi> <mrow> <mo>(</mo> <msub> <mi>t</mi> <mn>2</mn> </msub> <msub> <mi>&omega;</mi> <mrow> <mi>b</mi> <mi>e</mi> <mi>s</mi> <mi>t</mi> </mrow> </msub> <mo>)</mo> </mrow> </mrow> </mtd> <mtd> <mrow> <mi>sin</mi> <mrow> <mo>(</mo> <msub> <mi>t</mi> <mn>2</mn> </msub> <msub> <mi>&omega;</mi> <mrow> <mi>b</mi> <mi>e</mi> <mi>s</mi> <mi>t</mi> </mrow> </msub> <mo>)</mo> </mrow> </mrow> </mtd> <mtd> <mo>...</mo> </mtd> <mtd> <mrow> <mi>cos</mi> <mrow> <mo>(</mo> <mn>4</mn> <msub> <mi>t</mi> <mn>2</mn> </msub> <msub> <mi>&omega;</mi> <mrow> <mi>b</mi> <mi>e</mi> <mi>s</mi> <mi>t</mi> </mrow> </msub> <mo>)</mo> </mrow> </mrow> </mtd> <mtd> <mrow> <mi>sin</mi> <mrow> <mo>(</mo> <mn>4</mn> <msub> <mi>t</mi> <mn>2</mn> </msub> <msub> <mi>&omega;</mi> <mrow> <mi>b</mi> <mi>e</mi> <mi>s</mi> <mi>t</mi> </mrow> </msub> <mo>)</mo> </mrow> </mrow> </mtd> </mtr> <mtr> <mtd> <mo>.</mo> </mtd> <mtd> <mrow></mrow> </mtd> <mtd> <mrow></mrow> </mtd> <mtd> <mrow></mrow> </mtd> <mtd> <mrow></mrow> </mtd> <mtd> <mrow></mrow> </mtd> </mtr> <mtr> <mtd> <mo>.</mo> </mtd> <mtd> <mrow></mrow> </mtd> <mtd> <mrow></mrow> </mtd> <mtd> <mrow></mrow> </mtd> <mtd> <mrow></mrow> </mtd> <mtd> <mrow></mrow> </mtd> </mtr> <mtr> <mtd> <mo>.</mo> </mtd> <mtd> <mrow></mrow> </mtd> <mtd> <mrow></mrow> </mtd> <mtd> <mrow></mrow> </mtd> <mtd> <mrow></mrow> </mtd> <mtd> <mrow></mrow> </mtd> </mtr> <mtr> <mtd> <mn>1</mn> </mtd> <mtd> <mrow> <mi>cos</mi> <mrow> <mo>(</mo> <msub> <mi>t</mi> <mi>m</mi> </msub> <msub> <mi>&omega;</mi> <mrow> <mi>b</mi> <mi>e</mi> <mi>s</mi> <mi>t</mi> </mrow> </msub> <mo>)</mo> </mrow> </mrow> </mtd> <mtd> <mrow> <mi>sin</mi> <mrow> <mo>(</mo> <msub> <mi>t</mi> <mi>m</mi> </msub> <msub> <mi>&omega;</mi> <mrow> <mi>b</mi> <mi>e</mi> <mi>s</mi> <mi>t</mi> </mrow> </msub> <mo>)</mo> </mrow> </mrow> </mtd> <mtd> <mo>...</mo> </mtd> <mtd> <mrow> <mi>cos</mi> <mrow> <mo>(</mo> <mn>4</mn> <msub> <mi>t</mi> <mi>m</mi> </msub> <msub> <mi>&omega;</mi> <mrow> <mi>b</mi> <mi>e</mi> <mi>s</mi> <mi>t</mi> </mrow> </msub> <mo>)</mo> </mrow> </mrow> </mtd> <mtd> <mrow> <mi>sin</mi> <mrow> <mo>(</mo> <mn>4</mn> <msub> <mi>t</mi> <mi>m</mi> </msub> <msub> <mi>&omega;</mi> <mrow> <mi>b</mi> <mi>e</mi> <mi>s</mi> <mi>t</mi> </mrow> </msub> <mo>)</mo> </mrow> </mrow> </mtd> </mtr> </mtable> </mfenced> <mrow> <mi>m</mi> <mo>&times;</mo> <mn>9</mn> </mrow> </msub> </mrow>

从而获得确定的Fourier级数模型;

步骤4,利用步骤3确定的Fourier级数模型对遥测数据进行预测。

2.如权利要求1所述的基于Fourier级数模型的时序数据预测方法,其特征在于,Fourier级数模型的阶数为4。

当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1