%ARIMA模型
function tempx = ARIMA(SourceData,step)
ls=length(SourceData);%数据个数
TempData=SourceData; %赋值
TempData=detrend(TempData); %去趋势线
TrendData=SourceData-TempData; %趋势函数
%---------------------------------------------------差分,平稳化时间序列---------
H=adftest(TempData); %单位根检验
difftime=0; %差分次数初始化
SaveDiffData=[];%创建矩阵SaveDiffData
while ~H %如果有单位根
SaveDiffData=[SaveDiffData,TempData(1,1)];%保存去掉的数
TempData=diff(TempData);%差分,平稳化时间序列
difftime=difftime+1;%差分次数
H=adftest(TempData);%adf检验,判断时间序列是否平稳化
end
%---------------------------------------------------模型定阶或识别--------------
u = iddata(TempData);
test = []; %创建矩阵test
for p = 1:10 %自回归对应PACF,给定滞后长度上限p和q,一般取为T/10、ln(T)或T^(1/2),这里取T/10=12
for q = 1:10 %移动平均对应ACF
m = armax(u,[p q]);
AIC = aic(m); %armax(p,q),计算AIC
test = [test;p q AIC];
end
end
for k = 1:size(test,1)
if test(k,3) == min(test(:,3)) %选择AIC值最小的模型
p_test = test(k,1);
q_test = test(k,2);
break;
end
end
%---------------------------------------------------1阶预测-----------------
TempData=[TempData;zeros(step,1)];
n=iddata(TempData);
m = armax(u(1:ls),[p_test q_test]); %armax(p,q),[p_test q_test]对应AIC值最小
P1=predict(m,n,step);
PreR=P1.OutputData;
PreR=PreR';
%---------------------------------------------------还原差分-----------------
if size(SaveDiffData,2)~=0
for index=size(SaveDiffData,2):-1:1
PreR=cumsum([SaveDiffData(index),PreR]);
end
end
%---------------------------------------------------预测趋势并返回结果----------------
mp1=polyfit([1:size(TrendData',2)],TrendData',1);
xt=[];
for j=1:step
xt=[xt,size(TrendData',2)+j];
end
TrendResult=polyval(mp1,xt);
PreData=TrendResult+PreR(size(SourceData',2)+1:size(PreR,2));
tempx=[TrendData',TrendResult]+PreR;
plot(tempx,'r');
hold on
plot(SourceData,'b');
ARIMA.zip_ARIMA风电_时间序列风速_风电预测_风速 风电
版权申诉
5星 · 超过95%的资源 171 浏览量
2022-07-15
16:51:41
上传
评论 1
收藏 1KB ZIP 举报
邓凌佳
- 粉丝: 65
- 资源: 1万+
最新资源
- 1961ee27df03bd4595d28e24b00dde4e_744c805f7e4fb4d40fa3f695bfbab035_8(1).c
- mediapipe-0.9.0.1-cp37-cp37m-win-amd64.whl.zip
- windows注册表编辑工具
- mediapipe-0.9.0.1-cp37-cp37m-win-amd64.whl.zip
- 校园通行码预约管理系统20240522075502
- 车类型数据集6250张VOC+YOLO格式.zip
- The PyTorch implementation of STGCN.STGCN-main.zip
- 092300108.cpp
- 车类型数据集6000张VOC+YOLO格式.zip
- for daily read
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
评论1