几个小创新模型,KAN组合网络(LSTM、GRU、Transformer)时间序列预测,python预测全家桶...

news2024/11/24 20:28:33

截止到本期,一共发了8篇关于机器学习预测全家桶Python代码的文章。参考往期文章如下:

1.终于来了!python机器学习预测全家桶

2.机器学习预测全家桶-Python,一次性搞定多/单特征输入,多/单步预测!最强模板!

3.机器学习预测全家桶-Python,新增CEEMDAN结合代码,大大提升预测精度!

4.机器学习预测全家桶-Python,新增VMD结合代码,大大提升预测精度!

5.Python机器学习预测+回归全家桶,再添数十种回归模型!这次千万别再错过了!

6.Python机器学习预测+回归全家桶,新增TCN,BiTCN,TCN-GRU,BiTCN-BiGRU等组合模型预测

7.调用最新mealpy库,实现215个优化算法优化CNN-BiLSTM-Attention,电力负荷预测

8.Transformer实现风电功率预测,python预测全家桶


今天再更新一期关于与KAN网络结合的时间序列预测代码。

一、KAN网络模型概述

KAN网络属于近期非常热门的一个模型,与传统的MLP架构截然不同,KAN网络能用更少的参数在数学、物理问题上取得更高精度。KAN其灵感来源于 Kolmogorov-Arnold 定理,这个定理的含义就是任意一个多变量连续函数都可以表现为一些单变量函数的组合。

KAN的核心特点是在网络的边缘(即权重)上拥有可学习的激活函数,而不是像传统的MLPs那样在节点(即神经元)上使用固定的激活函数。并且KAN的准确性和可解释性要比MLP好很多。

5c68281125292749b553c961729d3ba1.png

KAN的优点:

  • 1. KAN可以避免大模型的灾难性遗忘问题

  • 2. 在函数拟合、偏微分方程求解方面,KAN比MLP更准确

  • 3. KAN可以直观地可视化。KAN 提供MLP无法提供的可解释性和交互性

KAN的缺点:

  • 1.训练速度慢:因为训练一个激活函数,需要无限多的循环进行验证

  • 2. 对于更深层结构可解释性是否还存在,论文中给出的实验只是浅层的

  • 3.KAN网络在求解非线性函数等工程问题时更精确,但在时间序列预测方面,训练起来就非常慢。但是将其作为网络的一个小的改进点,还是可以的。

二、KAN网络组合模型

本期带来几个KAN网络的组合模型:LSTM-KAN、GRU-KAN、Transformer-KAN、BiLSTM-KAN

老规矩,依旧以《风电场功率预测.xlsx》为例进行介绍。数据格式如下:

afb238a9ad490050270b8a7ac0120730.png

设置网络为多特征输入,多步预测。采用前10个历史时刻的特征值预测未来2天的功率值。(当然你也可以改为其他任何你想改的,比如单特征、单步预测等,不会改的参考这篇文章:一次性搞定多/单特征输入,多/单步预测!最强模板!)

三、结果展示:

设置了不同的实验进行展示。

实验一:设置网络为多特征输入,单步预测。采用前5个历史时刻的特征值预测未来1个时刻的功率值。设置训练集测试集比例为7:3,并采用BiLSTM-KAN组合模型预测。

BiLSTM-KAN预测结果:

6ca046425a1eecdfaaf8a7facbe6b023.png

8e37a4053fcc0af86dbc972be46731c3.png

实验二设置网络为多特征输入,多步预测。采用前5个历史时刻的特征值预测未来2个时刻的功率值。设置训练集测试集比例为9:1,并采用GRU-KAN组合模型预测。

GRU-KAN预测结果:

第一步预测结果:

509e1bed70ddc11ab42cc18a55fb48c6.png

第二步预测结果:

196a18f7b9ad6307eef5390b514eb9a9.png

指标打印结果:

7e5c78f3cac325ce8cc7a67b038ba74b.png

实验三设置网络为单特征输入,单步预测。采用前5个历史时刻的特征值预测未来1个时刻的功率值。设置训练集测试集比例为7:3,并采用LSTM-KAN组合模型预测。

LSTM-KAN预测结果:

6b9cf051affbb119871eeb2c9ec353af.png

ced75c39de36643c1811365da11bfde5.png

实验四设置网络为多特征输入,多步预测。采用前10个历史时刻的特征值预测未来2个时刻的功率值。设置训练集测试集比例为7:3,并采用

Transformer -KAN 组合模型预测。

Transformer-KAN预测结果:

第一步预测结果:

88a2bccae96cd30b2fd596fe18ae067f.png

第二步预测结果:

a6b715e473d69571f1ae6f52e110333f.png

b04f3dd4aa2ed2f57d7466f94f8abd7c.png

已将本文代码更新至python预测全家桶。

后续会继续更新一些其他模型……敬请期待!

机器学习python全家桶代码获取

https://mbd.pub/o/bread/ZZqXmpty

识别此二维码也可跳转全家桶

后续有更新直接进入此链接,即可下载最新的!

cac42cc5bce062cc6afe2208ea801430.png

或点击下方阅读原文获取此全家桶。



全家桶pip包推荐版如下:

tensorflow~=2.15.0
pandas~=2.2.0
openpyxl~=3.1.2
matplotlib~=3.8.2
numpy~=1.26.3
keras~=2.15.0
mplcyberpunk~=0.7.1
scikit-learn~=1.4.0
scipy~=1.12.0
qbstyles~=0.1.4
prettytable~=3.9.0
vmdpy~=0.2
xgboost~=2.0.3
mealpy~=3.0.1
torch~=2.3.1

获取更多代码:

08131ff4975f7e4febbb47339e1c0c26.png

或者复制链接跳转:
https://docs.qq.com/sheet/DU3NjYkF5TWdFUnpu

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1827916.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

GStreamer 源码编译,在 Clion 下搭建调试环境

前言 最近在学习 GStreamer,官方提供了一些教程,本人希望能够断点调试,以便学习代码逻辑。本文记录如何在 Clion 搭建 GStreamer 源码编译、调试环境 步骤 下载源码 git clone https://gitlab.freedesktop.org/gstreamer/gstreamer.gitCl…

Android中的Audio系统框架分析(一)

概述 Audio系统是Android 平台重要的组成部分,我们将从以下几个方面来讲解: 一Audio基础知识讲解 二、Android系统中Audio框架 Audio基础知识讲解 我们大家知道声音是由物体振动产生的声波。是通过介质(空气或固体、液体)传播并…

【JKI SMO】框架讲解(一)

JKI State Machine是一款易于使用且功能强大的状态机模板,可以作为界面或者仪器工作流程的基础框架,但是他不能处理复杂系统的多任务并发机制,因为他是只能处理单个进程。 随之,JKI推出了基于面向对象封装的SMO框架,是…

hugo 博客写作流程 (二)

写作工具 推荐两款软件,本人都使用过: typora和obsidian typora: https://github.com/woniu336/typora-007 新建文章 在博客目录找到shell/quickstart.sh双击打开即可 发布到Github 前提: 魔法上网在Github新建一个仓库 找到shell/quickstart.sh双击打开,选择7.SSH 管理…

Linux系统安装Ruby语言

Ruby是一种面向对象的脚本语言,由日本的计算机科学家松本行弘设计并开发,Ruby的设计哲学强调程序员的幸福感,致力于简化编程的复杂性,并提供一种既强大又易于使用的工具。其语法简洁优雅,易于阅读和书写,使…

今日早报 每日精选15条新闻简报 每天一分钟 知晓天下事 6月16日,星期日

每天一分钟,知晓天下事! 2024年6月16日 星期日 农历五月十一 1、 国家网信办:将涉网络暴力违法情形记入用户信用记录。 2、 卫健委:超三成3岁以下婴幼儿家庭有入托需求,托育服务关注度持续上升。 3、 大陆对台134项关…

单片机与DHT11温湿度检测设计

本次设计是采用STC89C54单片机加上低成本的温湿度模块DHT11构成的温湿度检测系统。设计主要由硬件与软件两部分设计构成。硬件方面包括单片机STC89C54、温湿度模块DHT11、显示模块LCD1602、电池电源、I2C存储器以及控制按键等5个部分。此系统完全基于单片机最小系统并进行一定的…

英伟达与斯坦福携手,打造未来全息XR眼镜:头带时代的终结

在XR(扩展现实)技术的演进过程中,一个显著的挑战在于如何平衡设备的便携性与视觉体验。传统的XR设备由于需要厚重的头带固定光学器件和显示器,不仅增加了体积,还为用户带来了社交上的不便。然而,随着英伟达与斯坦福大学戈登韦茨斯坦教授领导的研究团队的合作,这一难题似…

极致深耕,打造核心竞争壁垒——探寻蓝思科技穿越周期的密码

作者 | 曾响铃 文 | 响铃说 一家企业,如何才能在时代变幻的风云中不计较一时得失,长期稳健发展,穿越周期?本期主题就来探寻一家在湖南的国际化企业的发展密码。 穿越周期的企业,都在坚持一个驱动发展的“原点” 细…

【新课程】PICO VR 交互开发指南

从PICO开始,迈向XR跨平台开发 Unity XR Interaction Toolkit (简称XRI)是一套跨平台的 XR 交互开发工具包,随着版本的更新与完善,逐渐获得了开发者的青睐。各 XR 平台逐步推荐开发者采用 XRI 作为首选的交互开发工具为…

【FreeRTOS】ARM架构汇编实例

目录 ARM架构简明教程1. ARM架构电脑的组成1.2 RISC1.2 提出问题1.3 CPU内部寄存器1.4 汇编指令 2. C函数的反汇编 学习视频 【FreeRTOS入门与工程实践 --由浅入深带你学习FreeRTOS(FreeRTOS教程 基于STM32,以实际项目为导向)】 https://www.…

每日一练——用队列实现栈

225. 用队列实现栈 - 力扣&#xff08;LeetCode&#xff09; Queue.h #pragma once #include<stdlib.h> #include<assert.h> #include<stdbool.h>typedef int QDataType;typedef struct QNode {QDataType data;struct QNode* next; } QNode;typedef struct …

【RabbitMQ】异步消息及Rabbitmq安装

https://blog.csdn.net/weixin_73077810/article/details/133836287 https://www.bilibili.com/video/BV1mN4y1Z7t9/ 同步调用和异步调用 如果我们的业务需要实时得到服务提供方的响应&#xff0c;则应该选择同步通讯&#xff08;同步调用&#xff09;。 如果我们追求更高的效…

【MySQL】在CentOS环境下安装MySQL

目录 一、卸载残留环境 二、获取官方yum源 三、安装yum源 四、安装MySQL 五、启动MySQL 一、卸载残留环境 输入 ps axj | grep mysql 查看是否存在正在运行的MySQL服务 如果有&#xff0c;则先输入 systemctl stop mysqld 来关闭服务 然后输入 rpm -qa | grep mysql 查看…

搭建k8s集群报错unknown command “\u00a0“ for “kubeadm init“

搭建k8s报错unknown command “\u00a0” for “kubeadm init” 网上搜了一下&#xff0c;是因为复制过来的命令前面包含了空格&#xff0c;将复制的命令放到idea可以清楚看到几个命令前面有空格&#xff0c;删除掉就好了&#xff0c;记录一下

达梦基于什么数据库?

达梦数据库&#xff08;DM Database&#xff09;是中国自主研发的高性能关系型数据库管理系统。它并不是基于其他现有的数据库系统&#xff0c;而是完全自主开发的。这种独立开发使其具有很多独特的特点和优势&#xff0c;特别是在安全性、性能优化、适应中国本地化需求等方面。…

【Linux】软硬连接

目录 一.现象 二.硬链接 用处 三.软链接 用处 ​编辑 hello&#xff0c;大家好&#xff0c;今天&#xff0c;我们要学习的内容是软硬链接的。我们将从软连接的作用&#xff0c;硬链接的作用 和软硬链接的区别等方面学习。那我们就开始啦&#xff01; 在看本篇博客之前&a…

leetcode第709题:转换成小写字母

注意字符不仅有26个英文字母&#xff0c;还有特殊字符。特殊字符的话&#xff0c;原样输出。 public class Solution {public char toLowChar(char c){if(c>a&&c<z){return c;}else if(c>A&&c<Z){int n(int)c32;return (char)n;}return c;}publi…

华为机考入门python3--(36)牛客36-字符串加密

分类&#xff1a;字符串 知识点&#xff1a; 判断一个元素是否在集合中 if char not in key_set 计算字母差 index ord(char) - ord(a) 题目来自【牛客】 # 生成加密表 def generate_cipher_table(key):key_set set()cipher_table ""# 去重for char in k…

红队攻防渗透技术实战流程:中间件安全:JettyJenkinsWeblogicWPS

红队攻防渗透实战 1. 中间件安全1.1 中间件-Jetty-CVE&信息泄漏1.2 中间件-Jenkins-CVE&RCE执行1.2.1 cve_2017_1000353 JDK-1.8.0_291 其他版本失效1.2.2 CVE-2018-10008611.2.3 cve_2019_100300 需要用户帐号密码1.3 中间件-Weblogic-CVE&反序列化&RCE1.4 应…