首页 > 编程知识 正文

AR模型对时间序列预测,matlab金融时间序列

时间:2023-05-06 18:16:07 阅读:148057 作者:545

自回归(AR )模型

理论模型

自回归(AutoRegressive,AR )模型也称为时间序列模型,公式为

这里,e(t )表示平均值为0、存在分散值的白噪声信号。

材料工具箱

研究表明,采用Yule-Walker方法可以得到最优的AR模型[1],因此采用aryule程序估计模型参数。

[m,refl]=ar(y,n,approach,window ) )。

确定模型阶数

用几种方法确定。 例如Shin提出了基于SVD的方法,而AIC和FPE方法是目前应用最广泛的方法。 如果计算的AIC小(例如小于-20 ),那么该误差可对应于损耗函数的10-10级,在这种情况下阶数可视为系统的适当阶数。

am=AIC (模型1,模型2,)

FP=fpe (模型1、模型2、模型3、) ) ) ) ) ) ) ) )。

AR预测

yp=predict(m,y,k ) )。

表示预测模型; 实际输出; 预测区间; yp是预测输出。

变k

在计算AR模型预测时,k应取1,原因参考AR模型的理论公式。

compare(y,m,k ) )。

[yh,fit,x0]=compare(y,m,k ) )。

Compare的预测原理与predict相同,但对预测进行了比较。

AR误差

e=PE(m,数据) )。

pe误差计算。 用yh=predict(m,data,1 )进行预测,计算误差e=data-yh;

[e,r]=resid(m,data,mode,lags );

resid(r ) )。

resid计算并验证误差。 在没有输出使用pe计算误差的情况下,误差曲线必须足够小,黄色区域为99%置信区间,误差曲线表明在该区域内通过了检验。

Matlab练习

确定模型的阶数

使用ASCE benchmark模型120DOF选择8个y方向的响应。 首先,对响应数据进行标准化处理,然后对标准化处理后的数据进行AR建模,最后,确定适当的模型阶数,通过选择一系列阶数,分别计算相应的AIC值。 从该图中可以看出,对于80级之后的AIC值,AIC值变化很小,因此选择80级。

AR模型预测

AR误差计算

附录MATLAB代码

(1) ) ) )。

% ar model or

clc; 清除

addpath(genpath ) pwd ),1 );

data=load (case2damage0_1_ 0.01 _ 0.001 _ 40 _ 10 _ 150 _ 123 _1. mat );

dofy=[ 2,4,6,8,10,12,14,16 ];

x=zscore(data.ACC ) :dofy );

order=[10:10:130];

forI=1:length(order ) )

forj=1:size(x,2 ) )。

m=ar(x ) :j )、order(i ) I )、' yw ' );

am(I,j )=aic(m ) m;

结束

结束

plot(order,am,' LineWidth ',2,' Marker ',' * ' )

xlabel(arorder )、ylabel (ylabel )和AIC ) )。

legend(sensor2)、(sensor 4)、(sensor 6)、(sensor 8)为,

' sensor 10 '、' sensor 12 '、' sensor 14 '、' sensor 16 ' )

(2) ) ) )。

clc; 清除

addpath(genpath ) pwd ),1 );

data=load (case2damage0_1_ 0.01 _ 0.001 _ 40 _ 10 _ 150 _ 123 _1. mat );

dofy=[2; 4; 6; 8; 10; 12; 14; 16 );

订单=80;

ts=zscore(data.ACC ) :dofy );

k=1;

name={'sensor 2',' sensor 4',' sensor 6',' sensor 8',

' sensor 10 '、' sensor 12 '、' sensor 14 '、' sensor16 ';

ounit=repmat(m/s^2)、length )、1 );

ts=iddata(zscore(data.ACC ) :dofy ) )、[]、data.dt、

' OutputName ',name,' OutputUnit ',Ounit,

' Name ',' ASCE-benchmark 120DOF ';

m=ar(ts ) :k ),order,' yw ' );

compa

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。