% function [z, warningInfo] = ARIMA(step, thr, x)
clc,clear
step=10;
thr=13;
x=[13.0462 13.1675 12.0852 12.2757 12.9838 13.0659 12.095 12.2155 13.075 13.0592 12.1285 12.216 13.0099 13.0856 12.0967 12.2402 13.1164 13.1458 12.1204 12.2715 12.9135 13.1579 11.9901 12.3195 13.0491 13.1174 12.132 12.2866 12.9728 13.1781 12.033 12.3587 12.955 13.1267 12.0681 12.3077 12.9272 13.0996 12.0186 12.2959 12.9143 13.0309 12.0159 12.3032 12.979 13.0986 12.0494 12.3256 13.054 13.1369 12.1349 12.3698 13.1919 13.1832 12.2351 12.3992 13.1689 13.1098 12.1985 12.3432 13.1132 13.1738 12.2001 12.3857 13.0556 13.138 12.1679 12.3797 13.0038 13.2089 12.1035 12.4219 13.009 13.1989 12.1198 12.4136 12.9219 13.1948 12.0373 12.4077 12.952 13.1925 12.0594 12.399 13.0691 13.221 12.1832 12.4307 13.0837 13.2001 12.2188 12.4282 12.9957 13.1869 12.1024 12.4132 12.9479 13.1756 12.0827 12.3989 12.9798 13.1602 12.2986 12.3921 13.2626 13.1756 12.2271 12.3719 12.9891 13.1339];
r11=autocorr(x); %计算自相关函数
r12=parcorr(x); %计算偏相关函数
dx=diff(x); %计算1 阶差分
r21=autocorr(dx); %计算自相关函数
r22=parcorr(dx); %计算偏相关函数
n=length(dx); %计算差分后的数据个数
if n<20
warningInfo=1002;
%disp(warningInfo);
return;
else
k=1;
for i=0:3
for j=0:3
spec= garchset('R',i,'M',j,'Display','off'); %指定模型的结构
[coeffX,errorsX,LLFX] = garchfit(spec,dx); %拟合参数
num=garchcount(coeffX); %计算拟合参数的个数
[aic,bic]=aicbic(LLFX,num,n);
ASM(k,:)=[aic,i,j];
k=k+1;%fprintf('R=%d,M=%d,AIC=%f,BIC=%f\n',i,j,aic,bic);
end
end
s=min(ASM(:,1));
[m1,n1]=find(ASM(:,1)==s);
r=ASM(m1,2);m=ASM(m1,3);
spec2= garchset('R',r,'M',m,'Display','off'); %指定模型的结构
[coeffX,errorsX,LLFX] = garchfit(spec2,dx); %拟合参数
[sigma,w] = garchpred(coeffX,dx,step); %计算10 步预报值
%sigma
z=x(end)+cumsum(w);%计算原始数据的10 步预测值
% x2=a(end)+w
% spec3=garchset('R',r,'M',m,'Display','off');
% [coeffX,errorsX,LLFX] = garchfit(spec3,a);
% [sigma2,w2] = garchpred(coeffX,a,10);
% y=sigma2+w2
warningInfo=1000;
for i=1:step
if z(i)>thr %当预测的某个值超过阈值
warningInfo=i;
break
else
end
end
%disp(warningInfo);
% end
没有合适的资源?快使用搜索试试~ 我知道了~
基于MATLAB实现的ARIMA模型做时间序列分析预测+使用说明文档.zip
共2个文件
md:1个
m:1个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 68 浏览量
2024-05-24
09:19:57
上传
评论
收藏 14KB ZIP 举报
温馨提示
CSDN IT狂飙上传的代码均可运行,功能ok的情况下才上传的,直接替换数据即可使用,小白也能轻松上手 【资源说明】 基于MATLAB实现的ARIMA模型做时间序列分析预测+使用说明文档.zip 1、代码压缩包内容 主函数:main.m; 调用函数:其他m文件;无需运行 运行结果效果图; 2、代码运行版本 Matlab 2020b;若运行有误,根据提示GPT修改;若不会,私信博主(问题描述要详细); 3、运行操作步骤 步骤一:将所有文件放到Matlab的当前文件夹中; 步骤二:双击打开main.m文件; 步骤三:点击运行,等程序运行完得到结果; 4、仿真咨询 如需其他服务,可后台私信博主; 4.1 期刊或参考文献复现 4.2 Matlab程序定制 4.3 科研合作 功率谱估计: 故障诊断分析: 雷达通信:雷达LFM、MIMO、成像、定位、干扰、检测、信号分析、脉冲压缩 滤波估计:SOC估计 目标定位:WSN定位、滤波跟踪、目标定位 生物电信号:肌电信号EMG、脑电信号EEG、心电信号ECG 通信系统:DOA估计、编码译码、变分模态分解、管道泄漏、滤波器、数字信号处理+传输+分析+去噪、数字信号调制、误码率、信号估计、DTMF、信号检测识别融合、LEACH协议、信号检测、水声通信 5、欢迎下载,沟通交流,互相学习,共同进步!
资源推荐
资源详情
资源评论
收起资源包目录
基于MATLAB实现的ARIMA模型做时间序列分析预测+使用说明文档.zip (2个子文件)
说明文档.md 13KB
ARIMA.m 2KB
共 2 条
- 1
资源评论
IT狂飙
- 粉丝: 4823
- 资源: 2654
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功