区间预测 | Matlab实现CNN-LSTM-KDE的卷积长短期神经网络结合核密度估计多变量时序区间预测

news/2025/2/12 8:36:30/

区间预测 | Matlab实现CNN-LSTM-KDE的卷积长短期神经网络结合核密度估计多变量时序区间预测

目录

    • 区间预测 | Matlab实现CNN-LSTM-KDE的卷积长短期神经网络结合核密度估计多变量时序区间预测
      • 效果一览
      • 基本介绍
      • 程序设计
      • 参考资料

效果一览

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

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

在这里插入图片描述

基本介绍

1.CNN-LSTM-KDE多变量时间序列区间预测,基于卷积长短期记忆神经网络多变量时序区间预测,卷积长短期记忆神经网络的核密度估计下置信区间预测。
2.含点预测图、置信区间预测图、核密度估计图,区间预测(区间覆盖率PICP、区间平均宽度百分比PINAW),点预测多指标输出(R2、MAE、MAPE、MBE、 MSE),多输入单输出。
3.运行环境为Matlab2021b及以上;
4.输入多个特征,输出单个变量,考虑历史特征的影响,多变量时间序列区间预测;
5.data为数据集,main.m为主程序,运行即可,所有文件放在一个文件夹。

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

累积分布函数(CDF)
估计误差小于实际误差:估计累计误差分布的大小小于实际累计误差分布的大小。说明在误差估计方法对系统的噪声或者不确定性进行了较好的建模,并且能够对误差进行较为准确的预测。

程序设计

  • 完整程序和数据获取方式:私信博主回复Matlab实现CNN-LSTM-KDE的卷积长短期神经网络结合核密度估计多变量时序区间预测
%% 参数设置
options = trainingOptions('adam', ...     % Adam 梯度下降算法'MaxEpochs', 100,...                  % 最大训练次数'MiniBatchSize',64,...                % 批处理'InitialLearnRate', 0.001,...         % 初始学习率为0.001'L2Regularization', 0.001,...         % L2正则化参数'LearnRateSchedule', 'piecewise',...  % 学习率下降'LearnRateDropFactor', 0.1,...        % 学习率下降因子 0.1'LearnRateDropPeriod', 400,...        % 经过800次训练后 学习率为 0.001*0.1'Shuffle', 'every-epoch',...          % 每次训练打乱数据集'ValidationPatience', Inf,...         % 关闭验证'Plots', 'training-progress',...      % 画出曲线'Verbose', false);%% 训练
net = trainNetwork(p_train, t_train, lgraph, options);%% 预测
t_sim1 = predict(net, p_train); 
t_sim2 = predict(net, p_test ); %%  数据反归一化
T_sim1 = mapminmax('reverse', t_sim1, ps_output);
T_sim2 = mapminmax('reverse', t_sim2, ps_output);
T_sim1 =T_sim1';
T_sim2 =T_sim2';
%%  均方根误差
error1 = sqrt(sum((T_sim1 - T_train).^2) ./ M);
error2 = sqrt(sum((T_sim2 - T_test ).^2) ./ N);
% 可视化估计的密度函数
figure;
subplot(2,1,1); 
histfit(train_errors,100,'kernel', 'Normalization', 'probability')
legend('误差分布');
xlabel('误差');
ylabel('频数');
title('误差分布曲线');
subplot(2,1,2); xlabel('误差');
ylabel('概率密度');
legend('估计密度');
title('核密度估计曲线');% 累积分布函数(CDF)
% 估计误差小于实际误差:估计累计误差分布的大小小于实际累计误差分布的大小。
% 这种情况可能出现在误差估计方法对系统的噪声或者不确定性进行了较好的建模,并且能够对误差进行较为准确的预测。
figure;
cdfplot(train_errors);
hold on;
title('累积分布函数 (CDF) 比较');
xlabel('误差');
ylabel('累积概率');
legend('实际误差累积分布函数CDF', '估计误差累积分布函数CDF');
% 计算累积分布函数(CDF)
cdf_train = cumsum(f_train) * (x_train(2) - x_train(1));

参考资料

[1] https://blog.csdn.net/kjm13182345320/article/details/127931217
[2] https://blog.csdn.net/kjm13182345320/article/details/127418340


http://www.ppmy.cn/news/1295541.html

相关文章

kafka 偏移量的类型与提交方式

kafka checkpoint 在流处理中,“checkpoint” 通常指的是将应用程序的状态保存到可靠的存储系统中,以便在发生故障或应用程序需要重启时能够从先前的状态中恢复。这包括保存处理过的事件、中间结果以及任何其他状态信息。“Checkpointing” 可以确保系统的一致性,并提供容错…

RabbitMQ路由模式

package com.java1234.producer.config;import org.springframework.amqp.core.*; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration;Configuration public class RabbitMQConfig {/*** direct交换机名称*/p…

Android 实现动态申请各项权限

在Android应用中,如果需要使用一些敏感的权限(例如相机、位置等),需要经过用户的授权才能访问。在Android 6.0(API级别23)及以上的版本中,引入了动态权限申请机制。以下是在Android应用中实现动…

【设计模式之美】理论一:怎么才算是单一原则、如何取舍单一原则

文章目录 一. 如何判断类的职责是否足够单一?二. 类的职责是否设计得越单一越好? 开始学习一些经典的设计原则,其中包括,SOLID、KISS、YAGNI、DRY、LOD 等。 本文主要学习单一职责原则的相关内容。 单一职责原则的定义&#xff1a…

SpringBoot实用开发(十二)-- MongoDB语句的简单使用

目录 1.新增文档 2.删除文档 3.修改文档 4.查询文档 4.1 基础查询 4.2 条件

1.大数据概述

目录 概述hadoophadoop 模块hadoop 发行版apache社区版本CDP(CDHHDP)其它云产商框架选择 hadoop 安装 结束 概述 先了解几个常用的网站 apache 官网hadoop 官网hadoop githubhttps://github.com/apache/xxx [https://github.com/apache/spark (example)] hadoop hadoop 模块…

STM32_HAL Freertos按键控制LED

设置GPIO引脚 根据电路图,K0为用户按键,连接在PA0引脚,当K0按下时接地,引脚电平低电平。在CubeMX中设置PA0,将IO设置为输入,上拉(上拉外部悬空时,引脚为高电平)。 添…

什么是差值表达式

在Vue.js中,差值表达式是一种基本的数据绑定形式,用于将数据绑定到文档对象模型(DOM)上。差值表达式通常使用双大括号 {{ }} 来表示,这种语法非常直观。当Vue实例的数据发生变化时,差值表达式的内容也会相应…