区间预测 | MATLAB实现QRDNN深度神经网络分位数回归时间序列区间预测

server/2024/12/24 1:14:50/

QRDNN_0">区间预测 | MATLAB实现QRDNN深度神经网络分位数回归时间序列区间预测

目录

    • 区间预测 | MATLAB实现QRDNN深度神经网络分位数回归时间序列区间预测
      • 效果一览
      • 基本介绍
      • 模型描述
      • 程序设计
      • 参考资料

效果一览

2
1

3

基本介绍

MATLAB实现QRDNN深度神经网络分位数回归时间序列区间预测。QRDNN模型是一种用于时间序列预测的深度神经网络模型,它通过结合深度神经网络和分位数回归的方法,可以实现对时间序列区间预测的能力,具有一定的优势和应用前景

模型描述

  • QRDNN(Quantile Regression Deep Neural Network)是一种用于时间序列预测的深度神经网络模型。它通过结合深度神经网络和分位数回归的方法,实现对时间序列区间预测的能力。

  • QRDNN模型中,首先使用卷积神经网络(CNN)或循环神经网络(RNN)等方法对时间序列数据进行特征提取和表示学习。然后,将提取出的特征输入到分位数回归层中,通过多个分位数输出来实现对不同置信水平的区间预测。

  • 具体来说,QRDNN模型可以表示为以下数学公式:

y τ = f τ ( x ; θ ) y_\tau = f_\tau(x;\theta) yτ=fτ(x;θ)

  • 其中, y τ y_\tau yτ表示在置信水平为 τ \tau τ时的预测值, x x x表示输入的时间序列数据, θ \theta θ表示模型参数。 f τ f_\tau fτ是分位数回归层,它可以通过训练得到。

  • QRDNN模型的优点在于,它可以提供对不同置信水平的区间预测,因此可以更好地反映预测结果的不确定性。此外,由于使用了深度神经网络进行特征提取和表示学习,QRDNN模型可以更好地处理复杂的时间序列数据。

程序设计

  • 完整程序和数据获取方式:私信博主。

1.Matlab实现基于QRDNN分位数回归深度神经网络的时间序列区间预测模型;
2.多图输出、多指标输出(MAE、RMSE、MSE、R2),多输入单输出,含不同置信区间图、概率密度图;
3.data为数据集,功率数据集,用过去一段时间的变量,预测目标,目标为最后一列,也可适用于负荷预测、风速预测;MainQRDNNTS为主程序,其余为函数文件,无需运行

%% DNN网络训练
tic
DNNnet = trainNetwork(inputn_train,outputn_train,layers,opts);
toc;
analyzeNetwork(layers)
%% DNN测试数据
function [DNN, state] = TrainRecovery(n)
%% 恢复之前的结果,接着进行训练;或者加载现有神经网络.
% n:各层神经元个数,其中按顺序第一个元素为输入层神经元的个数,
% 最后一个元素为输出层神经元的个数,其余元素为隐藏层的神经元个数.
% DNN: cell数组,依次存放A1, A2, A3, ...和 E, Loss.
% state: 若返回值>0则表示DNN已训练完毕,返回精度.DNN = LoadNN();if isempty(DNN)% 从头开始训练.h = length(n); % 网络层数DNN = cell(1, h+1);for i = 1:h-1% 第一列为偏置项.DNN{i} = rand(n(i+1), n(i) + 1) - 0.5;end% 倒数第2个元素为零列和单位阵的组合.DNN{h} = [zeros(n(h), 1), eye(n(h))];
enddisp('DNN infomation:'); disp(DNN);for i = 1:length(n)fprintf('第[%g]层神经元个数: %g.\n', i, n(i));
end%% 检测此神经网络是否已训练完成.
state = 0;
if isempty(DNN{end})return
end
EarlyStopping = 3; %DNN早停条件
loss = DNN{end}(3, 1:end-EarlyStopping);
best = max(loss);
count = 0;
for i = max(length(loss)+1, 1):length(DNN{end})if 0 <= DNN{end}(3,i) && DNN{end}(3,i) <= bestcount = count + 1;if count == EarlyStoppingstate = best;endelsebreakend
endend
————————————————
版权声明:本文为CSDN博主「机器学习之心」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/kjm13182345320/article/details/129066749

参考资料

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


http://www.ppmy.cn/server/152626.html

相关文章

FPGA上板项目(五)——UART测试,串口发送

目录 实验内容串口发送模块模块框图时序波形仿真结果 顶层模块设计时序波形仿真结果上板验证 实验内容 每隔1s&#xff0c;串口发送一次 “HELLO!” UART 相关的原理 野火FPGA跟练&#xff08;四&#xff09;——串口RS232、亚稳态、串口RS485 中做过阐述&#xff0c;本篇文章…

基于 iAP2 协议 的指令协议,用于对安防设备的 MCU 进行操作

协议设计目标 1. 安全性&#xff1a;通过 iAP2 协议与 MCU 设备进行安全通信。 2. 通用性&#xff1a;支持对安防设备的常见功能进行操作&#xff0c;如状态查询、设备控制、参数配置等。 3. 高效性&#xff1a;数据结构简洁清晰&#xff0c;易于解析和扩展。 4. 扩展性&#x…

CSS系列(20)-- 自定义属性详解

前端技术探索系列&#xff1a;CSS 自定义属性详解 &#x1f3a8; 致读者&#xff1a;探索 CSS 变量的魅力 &#x1f44b; 前端开发者们&#xff0c; 今天我们将深入探讨 CSS 自定义属性&#xff08;CSS Variables&#xff09;&#xff0c;学习如何利用它们创建更灵活的样式系…

el-date-picker筛选时间日期选择范围

el-date-picker 选择时间日期范围-> 昨天 近7天 30天<template><div class"main"><div class"header"><el-form :model"form" label-width"auto"><el-button plain click"setTimeToYesterday&q…

高创新模型BiLSTM-KAN网络的轴承寿命预测,Python代码

概要 继前期几篇轴承寿命预测&#xff0c;本期再推出一篇有关寿命预测的模型。 往期有关轴承寿命预测的文章如下&#xff1a; 基于堆叠去噪自编码器(SDAE)的轴承寿命预测&#xff0c;MATLAB代码 Transformer-LSTM网络的轴承寿命预测&#xff0c;保姆级教程&#xff01; 以上两篇…

MYSQL 利用concat函数 生成更新或者插入SQL

有时候需要批量运维一批数据&#xff0c;一条一条写SQL比较麻烦&#xff0c;可以使用下面的方法批量生成select sales_order_number,a.sog_line_id,actual_price,sales_goods_unit_price,b.id,concat(update your_table set actual_price, sales_goods_unit_price, where id,b…

211-基于FMC的1路1.5G ADC 1路 2.5G DAC子卡

一、板卡概述 FMC-1AD-1DA-1SYNC是我司自主研发的一款1路1G AD采集、1路2.5G DA回放的FMC、1路AD同步信号子卡。板卡采用标准FMC子卡架构&#xff0c;可方便地与其他FMC板卡实现高速互联&#xff0c;可广泛用于高频模拟信号采集等领域。 二、功能介绍 2.1 原理框图 2.2 硬件…

【Python】*args和**kwargs

【Python】*args和**kwargs 一、*args: 接收不定数量的位置参数示例1&#xff1a;简单的加法计算器示例2&#xff1a;转发参数给另一个函数 二、**kwargs: 接收不定数量的关键字参数示例3&#xff1a;创建用户配置文件示例4&#xff1a;合并多个字典 三、组合使用*args和**kwar…