用AR模型进行预测得matlab程序,求大神帮忙!

用AR模型进行预测得matlab程序,求大神帮忙!,第1张

例世帆一

y = sin([1:300]') + 0.5*randn(300,1)

y = iddata(y)

mb = ar(y,4,'burg')

mfb = ar(y,4)

bode(mb,mfb)

例二

% AR model order

clcclear

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]

for i = 1:length(order)

for j =1:size(x,2)

m = ar(x(:,j),order(i),'yw'袜源)

am(i,j) = aic(m)

end

end

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

xlabel('AR order'),ylabel('AIC')

legend('搜好雹sensor 2','sensor 4','sensor 6','sensor 8',...

'sensor 10','sensor 12','sensor 14','sensor 16')

ar(2)模型方差公式为:Rj=a1R(j-1)+a2R(j-2)。在用 AR 模型 对数据进行建模时AR模型的困森拍最佳预测 所谓的最佳预测,即是预测误差春困的方差汪羡为最小意义下的预测预测误差方差: 注意:因为在预测原点对时刻的序列值做出预测时,时刻的序列值并未发生,所以需要首先计算作为时刻序列值的近似替换。

2. 预测误差 2步预测误差方差AR(1)过程模拟的R实现 X_n=0.5X_{n-1}+\epsilon_n, \epsilon_n\sim N(0,1) wn<-

2. X_n=1.5X_{n-1}-0.3X_{n-2}+\epsilon_n 的模拟 >y<-arima.sim(model=list(ar=c(

3. 模拟模型 X_n=0.5X_{n-1}+0.3X_{

如何用MATLAB对时间序列AR模型做预测?

第一步,使用load命令加载数据

第二步,使用ar函数陵漏雀亮,确定时间序列AR模型

第三步,确定预测时间范围指定为K个样本。K=100。

第四步,使用forecast函数,绘制给定时间范围内的预测系统响应。尺岁烂

实现代码,(供参考)

clc

%Forecast Response of Time Series Model

%时间序列模型的预测响应

load iddata9 z9

past_data = z9.OutputData(1:50)

model = ar(z9,4)

K = 100

forecast(model,'r--',past_data,K)

运行结果


欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/yw/12563040.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存