✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,
代码获取、论文复现及科研仿真合作可私信。
🍎个人主页:Matlab科研工作室
🍊个人信条:格物致知。
更多Matlab完整代码及仿真定制内容点击👇
🔥 内容介绍
摘要
本文提出了一种基于卷积长短期神经网络结合核密度估计的多变量时序区间预测方法。该方法首先使用卷积长短期神经网络提取时序数据的特征,然后使用核密度估计方法对提取的特征进行区间预测。实验证明,该方法在多个数据集上取得了良好的预测性能。
1. 引言
时序数据是指随时间变化而变化的数据。时序数据预测是根据历史数据预测未来数据的一种方法。时序数据预测在许多领域都有着广泛的应用,如金融、经济、气象、交通等。
传统的时序数据预测方法主要有:
-
自回归模型(AR)
-
移动平均模型(MA)
-
自回归移动平均模型(ARMA)
-
随机森林
-
支持向量机
这些传统方法虽然能够对时序数据进行预测,但预测精度往往不高。近年来,深度学习方法在时序数据预测领域取得了很大的进展。深度学习方法能够自动学习时序数据的特征,并对时序数据进行准确的预测。
2. 方法
本文提出的方法主要包括以下几个步骤:
-
数据预处理
-
特征提取
-
区间预测
2.1 数据预处理
数据预处理是将原始数据转换为适合模型训练和预测的数据格式。数据预处理的主要步骤包括:
-
缺失值处理
-
异常值处理
-
标准化
2.2 特征提取
特征提取是将原始数据转换为更具代表性的特征。特征提取的主要步骤包括:
-
卷积操作
-
池化操作
-
激活函数
2.3 区间预测
区间预测是指预测时序数据在未来一段时间内的取值范围。区间预测的主要步骤包括:
-
核密度估计
-
区间计算
📣 部分代码
%% 清空环境变量
warning off % 关闭报警信息
close all % 关闭开启的图窗
clear % 清空变量
clc % 清空命令行
%% 导入数据
res = xlsread('数据集.xlsx');
%% 划分训练集和测试集
temp = randperm(357);
P_train = res(temp(1: 240), 1: 12)';
T_train = res(temp(1: 240), 13)';
M = size(P_train, 2);
P_test = res(temp(241: end), 1: 12)';
T_test = res(temp(241: end), 13)';
N = size(P_test, 2);
%% 数据归一化
[p_train, ps_input] = mapminmax(P_train, 0, 1);
p_test = mapminmax('apply', P_test, ps_input);
t_train = ind2vec(T_train);
t_test = ind2vec(T_test );
⛳️ 运行结果
3. 实验
本文在多个数据集上对提出的方法进行了实验。实验结果表明,该方法在多个数据集上取得了良好的预测性能。
4. 结论
本文提出了一种基于卷积长短期神经网络结合核密度估计的多变量时序区间预测方法。该方法在多个数据集上取得了良好的预测性能。
🔗 参考文献
[1] Hochreiter, S., & Schmidhuber, J. (1997). Long short-term memory. Neural computation, 9(8), 1735-1780.
[2] Parzen, E. (1962). On estimation of a probability density function and mode. The annals of mathematical statistics, 33(3), 1065-1076.