高斯过程回归GPR和多任务高斯过程MTGP原理
文章目录
- 高斯过程回归
- 多任务高斯过程
- 文献阅读
- 文献[1]
- 文献[2]
- 文献[3]
- 文献[4]
- 文献[5]
- 文献[6]
- 编程实现
- 参考文献和资料
本文介绍了高斯过程回归GPR以及多任务高斯过程MTGP的原理,并且对几篇使用相关方法的论文进行了简述,最后附上对两种方法的编程实现。
所有内容的是从我自己的总结文档中截取的
不足之处,欢迎指正。
高斯过程回归
高斯过程以概率分布来表示函数输出的先验知识,并在泛函空间建立模型,基于数据间的相关性,构造协方差函数,通过Bayesian推理进行计算,与点秀的神经网络、支持向量机相比,高斯过程模型的优点是可调整参数少得多,能够把先验知识和观测数据结合的完美无缺,还能预先估计一些统计分布,获得模型预测输出的方差估计,从而很好地解释模型的置信水平,这也是优于神经网络和模糊系统建模的特色之处。类似于支持向量机使用的“核函数”技巧,GP模型的协方差函数可称之为核函数,它就是一种通用概率核学习机,对模型提供了实用性、原理性的解释。
多任务高斯过程
MTGP是GPR模型的一个扩展,它被描述为标准GPR的一个特例,来处理GPR模型有多个输出的情况。MTGP最初在文献[7]中被提出,文献[8]证明了MTGP在多变量心理时间序列分析中的优越性。最近的另一项关于使用MTGP进行电池容量预测的研究[9]也提出了改进的结果。
文献阅读
文献[1]
建筑能源利用的预测是智能建筑运行的基础,通过控制和低能耗策略优化建筑性能。为了降低计算复杂度和提高计算精度,本文对不同类型建筑物的在线电力数据预测进行了比较研究。本文的主要方法原理图如下:
可以看出,本文的预测模型是直接使用GPR进行预测,方法原理较好理解,在此不在赘述。本文施行的预测都是单步预测,但是不同的数据集的时间间隔有所不同。
文献[2]
风能由于清洁可再生,已成为一种有前途的能源。随着风能的大规模发展,出现了一些挑战,如有限的可调度性、有限的可预测性、高变异性和不可存储性的。风速的间歇性和随机特性增加了运行成本,降低了电力系统的可靠性和稳定性。为了减轻风电一体化的不利影响,准确的风速和电力预报是重要和迫切需要的。风贯水平高时,短期风预测对运行规划至关重要。
文献[3]
风速的测量点往往不是风机的部署点,为了让风速的预测结果更加合理,本文提出了一种利用测量点的预测数据和风机的测量数据对预测数据进行增强,使其更加合理。本文研究了应用多任务高斯过程(MTGP)回归模型来增强风速的数值预测。在该方法中,首先利用一个支持向量回归器(SVR)来融合来自数值天气预测器(NWP)的预测。该回归器的目的是将粗糙地理节点上的数值预测映射到所需的风机位置。
文献[4]
随着风能的快速开发和利用,风电装机容量正在大幅上升,全球风电工业近年来正在蓬勃发展。然而,由于风能的间歇性和随机性质,风能集成到传统电网系统给风能行业带来了许多挑战,包括能源发电规划和涡轮机维护调度,和电网系统运行,包括管理风力发电的变异性和互连标准。为了减轻上述由风能融入发电系统而造成的问题,用可靠的方法和模型进行准确的动态风速预测正变得越来越重要和迫切需要。短期风速预测是获取准确信息的一种重要、有代表性、有效的方法,有助于规划经济负荷调度和对大量风电管理的负荷增减决策。现有文献提出了许多方法和方法,提出的模型可分为风速点预测和区间预测。
本文提出了一种混合模型,该模型由EWT(经验小波变换)、PACE(部分自相关函数)和GPR(高斯过程回归)方法组成,用于短期风速预测。
在本文的方法中,利用EWT通过设计合适的小波滤波器组从风速序列中提取有意义的信息,具体的方法类似于选择能量大的若干子层而舍弃能量低的子层,这种方法其实就是类似于低通滤波。GPR则用PACF识别的输入模拟风速时间序列的内部不确定性和动态特征,也就是用PACF来确定GPR模型中自相关的阶数,然后用GPR来预测。本文还对原始时间序列做了一个均值滤波,说是为了适应风速的时变特性。本文的GPR模型只用了一种核函数作为协方差函数,使用的是平方指数核函数,因为其是平稳协方差函数。
本文的方法原理图如下:
其中,a是均值滤波,b是低通滤波对数据进行重构,c是模型训练,d是模型测试。
文献[5]
随着传感器的激增和公民连接性的增加,许多全球城市正在越来越多地采用智能城市的举措。这些举措提供了实时监测能力,而有效的建模技术可以预测一个城市的未来状态。例如,可以利用城市电力智能电表数据来预测未来的需求,以促进容量规划。然而,这种远见的准确性往往被现实系统中的低质量和缺失的传感器数据所破坏。在这项工作中,我们关注通过减轻缺失数据对预测精度的影响来解决可靠预测的问题。
为了减轻数据缺失的影响,本文开发了一个多任务学习方案来共同学习高相关传感器之间的高斯过程回归模型。核心思想是用多个高度相关的传感器数据来训练一个多任务的GP。本文实现了多步预测,并且比较结果,实现多步预测的策略是迭代策略,用前一次迭代的预测均值来作为新的输入来预测下一个迭代的均值和方差。
文献[6]
模糊多建模是一种分析和黑箱建模相结合的方法。另一方面,用高斯过程建模是一种概率和非参数的方法,它允许预测模型的不确定性。这是对有噪声时间序列和干扰闭环控制系统提前一步甚至多步预测的优势。多步提前预测假设要知道先前的输出值和控制值以及未来的控制值。一个“幼稚的”的多步提前预测是一个连续的前一步预测,而每个连续一步的输出被视为下一步预测的输入。通常对于闭环控制系统,标称输出轨迹是预先已知的。然而,由于控制回路中的不确定性和干扰,所产生的控制轨迹只在目前的时间步长之前才知道,但在未来的步长中却不知道。为了获得多步提前预测的未来控制输入,系统用多TS模糊模型建模,该模型预先训练,为给定的标称输出轨迹生成闭环中的标称控制轨迹。对内置不确定性的非线性系统的仿真表明,将TS模糊模型与高斯过程模型相结合,实现多步预测的预测性能良好。
编程实现
本节介绍如何在python环境下编程实现GPR和MTGPR:
在sklearn包种定义了GPR类:
关键参数:
方法:
案例:
详情见相关文档:
https://scikit-learn.org/stable/modules/generated/sklearn.gaussian_process.GaussianProcessRegressor.html
多任务GP过程的编程实现参考:
https://github.com/pmorenoz/ContinualGP
参考文献和资料
[1]Zeng, A. , H. Ho , and Y Yu. “Prediction of building electricity usage using Gaussian Process Regression.” Journal of Building Engineering 28(2019):101054.
[2]Zhang, Chi, et al. “A Gaussian process regression based hybrid approach for short-term wind speed prediction.” Energy conversion and management 126 (2016): 1084-1092.
[3]Cai, Haoshu, et al. “Gaussian Process Regression for numerical wind speed prediction enhancement.” Renewable Energy 146 (2020): 2112-2123.
[4]Hu, Jianming, and Jianzhou Wang. “Short-term wind speed prediction using empirical wavelet transform and Gaussian process regression.” Energy 93 (2015): 1456-1466.
[5]Karunaratne, Pasan, et al. “Multi-step prediction with missing smart sensor data using multi-task Gaussian processes.” 2017 IEEE International Conference on Big Data (Big Data). IEEE, 2017.
[6]Palm, Rainer. “Multi-step-ahead prediction with Gaussian Processes and TS-Fuzzy Models.” The 14th IEEE International Conference on Fuzzy Systems, 2005. FUZZ’05… IEEE, 2005.
[7]E.V. Bonilla, K.M. Chai, C. Williams, Multi-task Gaussian process prediction, in: Advances in Neural Information Processing Systems, 2008, pp. 153e160.
[8]R. Dürichen, M.A. Pimentel, L. Clifton, A. Schweikard, D.A. Clifton, Multitask Gaussian processes for multivariate physiological time-series analysis, IEEE (Inst. Electr. Electron. Eng.) Trans. Biomed. Eng. 62 (2015) 314e322.
[9]R.R. Richardson, M.A. Osborne, D.A. Howey, Gaussian process regression for forecasting battery state of health, J. Power Sources 357 (2017) 209e219.
高斯过程回归GPR和多任务高斯过程MTGP原理相关推荐
- GPR(高斯过程回归)
写在前面: 本文为科研理论笔记的第三篇,其余笔记目录传送门: 理论笔记专栏目录 介绍结束下面开始进入正题: 1 高斯分布 一元高斯分布的概率密度函数为: p(x)=1σ2πexp(− ...
- 趋势预测方法(四)高斯过程回归_时序概率性预测
高斯过程回归(GPR) a基本原理: 利用高斯过程回归将可能的数据趋势曲线都保存下来(每条趋势曲线都有自己的置信度,在区间内呈高斯分布),最后在一张图中显示出来,再判断总体的趋势情况. b算法原理: ...
- Gaussian Processes Regression(GPR) 高斯过程回归 Matlab 实现
高斯过程回归(GPR)的matlab 实现, Matlab 为实现高斯过程回归提供了接口函数 fitrgp, 详细参考fitrgp官方文档 非常详细[4] 语法: gprMdl = fitrgp(tb ...
- 转载:说说高斯过程回归
原文链接: 说说高斯过程回归 – 我爱计算机 http://www.52cs.org/?p=509&_360safeparam=1929050203 高斯过程回归 来自于 我爱计算机 WWW. ...
- python 高斯烟羽模型_GPR(高斯过程回归)详细推导
GPR(高斯过程回归)详细推导 一.综述 GPR来源于线性模型,有两种方式可以推导出GPR,一种是weight space view,另外一种是function space view.两者考察方式假设 ...
- 高斯过程回归python_scikit-learn中的多输出高斯过程回归
好吧,你无意中碰上了冰山...... 作为前奏,让我们明确指出方差和标准差的概念仅适用于标量变量;对于矢量变量(比如你自己的3d输出),方差的概念不再有意义,而是使用协方差矩阵(Wikipedia,W ...
- 高斯过程回归 | Matlab实现高斯过程回归多输入单输出预测(Gaussian Process Regression)
文章目录 效果一览 文章概述 研究内容 程序设计 参考资料 效果一览 文章概述 高斯过程回归 | Matlab实现高斯过程回归多输入单输出预测(Gaussian Process Regression) ...
- 高斯过程分类 matlab,matlab 高斯过程回归模型 matlab Gaussian process regression model
[实例简介] 高斯过程回归及分类的代码,内容全,有实例,注释清晰.包括分类系列和预测回归系列,值得感兴趣的同学学习借鉴.里面有对应的数据和demo程序,程序可运行,MATLAB2014a下测试通过,其 ...
- 高斯过程回归的权空间观点推导及代码实现
文章目录 1.高斯过程简介 1.1定义 2.部分基础知识(已具备的直接跳至第3节) 2.1 部分矩阵计算基础 2.1.1 分块矩阵求逆 2.1.2 矩阵求逆引理 2.2 多元高斯分布 2.2.1 联合 ...
- 高斯过程回归python_sklearn文档 — 1.7. 高斯过程
原文章为scikit-learn中"用户指南"-->"监督学习的第七节:Gaussian Processes"###### 高斯过程(GP)是一种被设计来 ...
最新文章
- python中的模块如何学习_在python中学习队列模块(如何运行它)
- phpadmin试用
- php函数substr_replace中文乱码的替代解决方法
- java dataconvert_Java DateConverter类代码示例
- java 短信猫发送短信的方法
- Codeforces Round #739 (Div. 3)(AK实况)
- 如何搭建lamp(CentOS7+Apache+MySQL+PHP)环境 [转]
- NS2相关学习——在ns中模拟无线场景
- Perl中的替换(七)
- 解决新安装的Ubuntu18.04没有网络连接的问题
- Android Sensor Framework(狠详)
- Wcf使用Net.Tcp做回调操作
- cat /proc/cpuinfo命令详解
- Nao机器人语音对话
- UVM实战 卷I学习笔记14——OVM到UVM的迁移
- 如何修改计算机ip 地址子网掩码,如何查看和修改主机的ip地址和子网掩码
- no more duplicates will be shown
- KSO-sqlserver汉字取首字母拼音
- [java] 汇率换算器实现-插曲1-正则表达式(1)
- Python打包exe程序(pyinstaller)以及打包文件太大的解决方法
热门文章
- 【转】SourceInsight4.0的使用--一遍很详细介绍source insight4使用的文章
- colmak键盘_萌神进化 IKBC 新POKER2机械键盘体验
- 协方差的计算公式例子_协方差公式_协方差的计算公式例子
- js中继承的几种方式
- hysys动态模拟教程_泄压过程的HYSYS动态模拟.pdf
- emmagee测试汇总
- 域名是如何变成IP的
- 经纬度换算数值_经纬度换算
- 数据结构:图结构的实现
- 【专题5: 硬件设计】 之 【62.案例四:简易空气净化器,完整原理图】