区间预测

2023-10-27

区间预测 | MATLAB实现QRGRU门控循环单元分位数回归时间序列区间预测

效果一览

  • 进阶版
    1
    2
    3

  • 基础版
    4

基本介绍

MATLAB实现QRGRU门控循环单元分位数回归时间序列区间预测

模型描述

分位数回归是简单的回归,就像普通的最小二乘法一样,但不是最小化平方误差的总和,而是最小化从所选分位数切点产生的绝对误差之和。如果 q=0.50(中位数),那么分位数回归会出现一个特殊情况 - 最小绝对误差(因为中位数是中心分位数)。我们可以通过调整超参数 q,选择一个适合平衡特定于需要解决问题的误报和漏报的阈值。GRU 有两个有两个门,即一个重置门(reset gate)和一个更新门(update gate)。从直观上来说,重置门决定了如何将新的输入信息与前面的记忆相结合,更新门定义了前面记忆保存到当前时间步的量。如果我们将重置门设置为 1,更新门设置为 0,那么我们将再次获得标准 RNN 模型。

程序设计

% gru
layers = [ ...
    sequenceInputLayer(inputSize,'name','input')   %输入层设置
    gruLayer(numhidden_units1,'Outputmode','sequence','name','hidden1') 
    dropoutLayer(0.3,'name','dropout_1')
    gruLayer(numhidden_units2,'Outputmode','last','name','hidden2') 
    dropoutLayer(0.3,'name','drdiopout_2')
    fullyConnectedLayer(outputSize,'name','fullconnect')   % 全连接层设置(影响输出维度)(cell层出来的输出层) %
    quanRegressionLayer('out',i)];
%-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
% 参数设定
opts = trainingOptions('adam', ...
    'MaxEpochs',10, ...
    'GradientThreshold',1,...
    'ExecutionEnvironment','cpu',...
    'InitialLearnRate',0.001, ...
    'LearnRateSchedule','piecewise', ...
    'LearnRateDropPeriod',2, ...   %2个epoch后学习率更新
    'LearnRateDropFactor',0.5, ...
    'Shuffle','once',...  % 时间序列长度
    'SequenceLength',1,...
    'MiniBatchSize',24,...
    'Verbose',0);
%-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
%
% 网络训练
%-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
y = Test.demand;
x = Test{:,3:end};
%-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
% 归一化
[xnorm,xopt] = mapminmax(x',0,1);
xnorm = mat2cell(xnorm,size(xnorm,1),ones(1,size(xnorm,2)));
[ynorm,yopt] = mapminmax(y',0,1);
ynorm = ynorm';
        % 平滑层
        flattenLayer('Name','flatten')
        % GRU特征学习
        gruLayer(50,'Name','gru1','RecurrentWeightsInitializer','He','InputWeightsInitializer','He')
        % GRU输出
        gruLayer(NumOfUnits,'OutputMode',"last",'Name','bil4','RecurrentWeightsInitializer','He','InputWeightsInitializer','He')
        dropoutLayer(0.25,'Name','drop3')
        % 全连接层
        fullyConnectedLayer(numResponses,'Name','fc')
        regressionLayer('Name','output')    ];

    layers = layerGraph(layers);
    layers = connectLayers(layers,'fold/miniBatchSize','unfold/miniBatchSize');
————————————————
版权声明:本文为CSDN博主「机器学习之心」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/kjm13182345320/article/details/130447132

参考资料

[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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

区间预测 的相关文章

  • 5款主流开源数据库的比较

    开源数据库使得信息处理的成本降低 强有力的数据库解决方案进入更多的企业 特别是中小型企业 同时 随着开源数据库在功能上的日益强大和完善 以及人们对其了解的深入 开源数据库在中小型企业中将会有更广泛地应用 下面 笔者为大家介绍5款主流开源数据
  • 【笔记】OpenCV3 人脸识别

    人脸识别就是一个程序能识别给定图像或视频中的人脸 OpenCV是用一系列分类好的图像来训练程序 并基于这些图像来进行识别 它的每个识别 都有置信评分 在实际应用中通过对其设置阈值来进行筛选 为了简单实现人脸识别的功能 写了几个函数从文件夹的

随机推荐

  • shell之单行和多行注释方法

    shell注释有单行和多行 单行注释以 开头至行尾结束 如下代码部分 echo 这行是单行注释 多行注释 1 可以在需要注释的内容前面增加 lt
  • 软考考点之Mccabe度量计算及路径覆盖

    McCabell 主要是度量程序的复杂度 环形复杂度 度量程序的逻辑复杂度 描绘程序控制流的流图之后 可以用下述3种方法中的任何一种来计算环形复杂度 1 流图中的区域数等于环形复杂度 2 流图G的环形复杂度V G E N 2 其中 E是流图
  • win7+python3.7离线安装selenium4.0.0

    selenium下载地址 将selenium 4 0 0 py3 none any whl放到Python37 Lib site packages目录下 使用pkginfo工具查看whl依赖包 C Users lvliang Downloa
  • 从用户家里采集IPTV码流

    具体的方法是通过在机顶盒和电视信号接口ONU之间增加一个镜像路由器 截取数据 再通过Wireshark软件或者自行开发的软件分析数据 WireShark抓取数据包 分析结果 机顶盒 机顶盒实质上是一个网页浏览器 每次开机之后会访问固定的网页
  • pytorch 神经网络构造

    call 在python中 类的 call 方法可以使得类对象具有类似函数的功能 这一点在pytorch经常有应用 理解这一点才能理解pytorch中forward函数等的作用 call 方法的使用示例 class A def call s
  • C语言malloc与calloc区别

    C语言malloc与calloc区别 区别 开门见山 malloc与calloc在内存分配时 前者分配一整块 后者分配n块 并且后者在分配时会将内存置为0 前者不会内存里是垃圾数据 另外它们参数不同 malloc参数只有一个无符号整型的nu
  • C语言如何自定义头文件——一看就废!!!

    为什么要自定义头文件 如果在一个文件中 写上成百上千行的代码 那么这些代码让人阅读起来是真的烦 因此 我们可以引入头文件 把自己写的函数放入头文件中 然后直接调用到主程序中 这样在主程序中看起来就比较清晰 那如何自定义头文件呢 第一步 我们
  • 开源堡垒机jumpserver的搭建与使用

    目录 一 准备 Python3 和 Python 虚拟环境 二 安装 Jumpserver 三 安装 SSH Server 和 WebSocket Server Coco 四 安装 Web Terminal 前端 Luna 五 安装 Win
  • 2080Ti NVIDIA显卡安装教程记录

    1 硬件安装 找到卡槽 顺位安装 找到电源插头 配套孔位即可 2 软件安装 搞个NVIDIA控制面板 此外 安装CUDA和cuDNN win10下CUDA和CUDNN的安装 超详细 亲测有效 u011473714的专栏 CSDN博客
  • Centos6.5下搭建nagios详解

    一 LAMP环境部署 1 安装php 1 安装yum源 rpm Uvh http download fedoraproject org pub epel 6 x86 64 epel release 6 8 noarch rpm rpm Uv
  • 用于灵敏性分析的方法模型(Matlab代码实现)

    目录 1 概述 2 运行结果 3 参考文献 4 Matlab代码 1 概述 本代码用于灵敏性分析的方法模型 2 运行结果 3 参考文献 1 姚宏亮 苌健 王浩 李俊照 灵敏性分析下的因果网络参数的扰动学习研究 J 计算机科学与探索 2012
  • MySQL之面试真题详解

    目录 1 前言 1 1InnDB存储引擎与MyISAM存储引擎的区别 1 2关系型数据库常用的三个操作 1 3行转列 2 面试题详解 2 1建立数据表 2 1 1要求 2 1 2代码 2 2试题讲解与展示 1 前言 1 1InnDB存储引擎
  • 前端实习面试总结

    文章目录 HTML CSS 1 如何理解HTML语义化 2 哪些HTML是块级元素 内联元素 行内元素 行内块元素 3 盒模型的宽度和高度如何计算 4 margin纵向重叠的问题 5 margin负值的问题 6 BFC的理解与应用 7 fl
  • 【深度学习】空洞卷积(扩张卷积)和一般卷积的区别 Dilated Convolution

    文章目录 前言 一 感受野 二 空洞卷积 三 补充 padding 前言 目前来说有一个想法 距离寒假还有一个月 想在放寒假之前把深度学习这半年来的基础知识都补充回归一下 以写成博客的形式进行汇总 今天回顾的主要是理论方面的 空洞卷积 一
  • Python第三章 程序控制结构

    Python第三章 程序控制结构 if 选择语句 while 循环语句 for 循环语句 循环嵌套 跳转语句 if 选择语句 基础语法 if 表达式1 语句块1 elif 表达式2 语句块2 elif 表达式3 语句块3 else 语句块n
  • 周期性线程池newScheduledThreadPool详解

    线程池支持定时以及周期性执行任务 创建一个corePoolSize为传入参数 最大线程数为整形的最大数的线程池 public static ScheduledExecutorService newScheduledThreadPool in
  • 【计算机网络】实验六 综合设计实验

    实验六 综合设计实验 一 实验目的 规划设计中小型园区网络系统设计方案 给出需求分析 设计规划 设备选型等 二 实验属性 设计性实验 三 实验仪器设备及器材 Cisco2950交换机 Cisco 3560交换机 Cisco 2621 Cis
  • 记录一次在centos 8 下docker 安装reids 一直报错无法启动问题

    目录 1 首先翻看了网上大部分启动失败原因总结如下 可以使用docker logs reids查看启动失败原因 1 1启动挂载目录失败 通常是没有创建目录 1 2启动闪退 通常为配置文件 daemonize yes 没有改成 no 导致 1
  • 【RASA】KafkaEventBroker性能优化

    项目背景 实际项目中 对话数据需要存储到数据库中 就先使用rasa自带的KafkaEventBroker 用于对话消息生产 再用flink对对话数据进行消费 不过在使用的过程中会遇到性能的瓶颈 具体如下 先贴一下KafkaEventBrok
  • 区间预测

    区间预测 MATLAB实现QRGRU门控循环单元分位数回归时间序列区间预测 目录 区间预测 MATLAB实现QRGRU门控循环单元分位数回归时间序列区间预测 效果一览 基本介绍 模型描述 程序设计 参考资料 效果一览 进阶版 基础版 基本介