当前位置: 首页 > article >正文

区间预测 | Matlab实现ARIMA-KDE的时间序列结合核密度估计区间预测

目录

      • 效果一览
      • 基本介绍
      • 程序设计
      • 参考资料

效果一览

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

基本介绍

1.Matlab实现ARIMA-KDE的时间序列结合核密度估计区间预测,ARIMA的核密度估计下置信区间预测。
2.含点预测图、置信区间预测图、核密度估计图,区间预测(区间覆盖率PICP、区间平均宽度百分比PINAW),点预测多指标输出(MAE、MAPE、RMSE、 MBE、R2),单个变量时间序列区间预测。
3.运行环境为Matlab2018b及以上;
4.单个变量时间序列区间预测;
5.data为数据集,ARIMA_KDE.m为主程序,运行即可,所有文件放在一个文件夹。

在这里插入图片描述

程序设计

  • 完整程序和数据获取方式:私信博主回复Matlab实现ARIMA-KDE的时间序列结合核密度估计区间预测

%%  清空环境变量
warning off             % 关闭报警信息
close all               % 关闭开启的图窗
clear                   % 清空变量
clc                     % 清空命令行
%%  清空环境变量
warning off             % 关闭报警信息
close all               % 关闭开启的图窗
clear                   % 清空变量
clc                     % 清空命令行

clc;clear;
warning off all
data=xlsread('data.xlsx');
%预报步长
step=6;
TempData=data;
  output=data;
%去趋势线
TempData=detrend(TempData);  
%趋势函数
TrendData=data-TempData;
%差分,平稳化时间序列
[H,PValue,TestStat,CriticalValue] = adftest(TempData);
difftime=0;
SaveDiffData=[];
while ~H
    %差分,平稳化时间序列
    SaveDiffData=[SaveDiffData,TempData(1,1)];
    TempData=diff(TempData);
    %差分次数
    difftime=difftime+1;
    %adf检验,判断时间序列是否平稳化
    [H,PValue,TestStat,CriticalValue] = adftest(TempData);
end
%模型定阶或识别
test = [];
%自回归对应PACF,给定滞后长度上限p和q
for p = 0:5 
    %移动平均对应ACF
    for q = 0:5
        if(p + q ~= 0) 
            m = armax(TempData,[p q]);
            %armax(p,q),计算AIC
            AIC = aic(m);  
            test = [test;p q AIC];
        end
    end
end
for k = 1:size(test,1)
    %选择AIC值最小的模型
    if test(k,3) == min(test(:,3)) 
        p_test = test(k,1);
        q_test = test(k,2);
        break;
    end
end
%armax(p,q),[p_test q_test]对应AIC值最小
m   = armax(TempData,[p_test q_test]);       
ARIMA_Predict   = predict(m,TempData,step);
ARIMA_Forcast   = forecast(m,TempData,step);
PreR=[ARIMA_Predict' ARIMA_Forcast'];
%还原差分
if size(SaveDiffData,2)~=0
    for index=size(SaveDiffData,2):-1:1
        %差分还原
        PreR=cumsum([SaveDiffData(index),PreR]);
    end
end


参考资料

[1] http://t.csdn.cn/pCWSp
[2] https://download.csdn.net/download/kjm13182345320/87568090?spm=1001.2014.3001.5501
[3] https://blog.csdn.net/kjm13182345320/article/details/129433463?spm=1001.2014.3001.5501


http://www.kler.cn/news/334430.html

相关文章:

  • SaaS 应用如何助长网络犯罪
  • 【AI】AIOT简介
  • 生信科研,教授(优青)团队一站式指导:高通量测序技术--农业植物基因组分析、组蛋白甲基化修饰、DNA亲和纯化测序、赖氨酸甲基化
  • 【python实操】python小程序之两数取大值以及login登录
  • 码随想录算法训练营第62天|卡码网:97. 小明逛公园、127. 骑士的攻击
  • 优化理论及应用精解【22】
  • 数据库常见的安全特性有哪些
  • C语言代码练习(test_1_20)
  • Day02-MySQL数据库服务体系结构
  • Java第二阶段---11封装---第一节 封装(Encapsulation)
  • Relu激活
  • 前端性能优化 面试如何完美回答
  • Oracle数据库中表压缩的实现方式和特点
  • Spring Cloud之OpenFeign的具体实践
  • Qt如何将外部窗口嵌入部件中
  • 若依--文件上传前端
  • 国创——基于深度学习的实时姿态识别算法
  • 打卡第三天 P5729 【深基5.例7】工艺品制作
  • 【web安全】——SSRF服务器端请求伪造
  • 【Linux】进程控制(创建、终止、等待、替换)