概要
随着对气象各项数据的观测手段、技术上的提升,对于各项或取得数据种类,精度上都有着更好的超越,而对于气象温度进行预测是目前预测数据中最重要的需要解决的问题之一。
针对如何选择预测一个月内的天气情况,本次利用神经网络方法来解决这个难题,因为这股方法在处理非线性难题上有着极强的适应性,完全适合天气这种拥有极大不确定性的数据研究。首先利用MATLAB软件搭建天气指数模型,其中最主要用到了神经网络工具箱来实现大部分操作,然后再使用BP和RBF算法来提高它的预测精度,这两种不同的算法在神经网络中的运用证明了这项方法是非常有效的,而基于神经网络展开的天气预测对于社会来说,能够起到很好的空气污染和局部精确监测的作用,并给世界气象的检测一个全新的解决方法。
在整个模型的构建和参数设计中,不断对未来一个月的气象温度如何监测的问题展开分析,不仅在文中对深度学习和气象预测的理论进行整理优化,还通过实验结果证明了深度学习方法比传统的浅度神经和向量机的方式来的更加准确。随后将传统所泛用的向量机模型融入到神经网络方法中加以改进,因此大大提高了算法的效率。
关键词: 深度学习 天气预测 神经网络
一、概述
1.1本课题的研究背景
随着我国计算机与互联网技术的不断发展,我国各大行业智能化的进程得以不断的加快,特别是在进入2019年以后,我国气象监测行业的发展正在逐渐向外国的最好的产品靠拢,使得我国各个行业中的测量技术得到了不错的改进。计算机软件技术与网络技术的发展使得,越来越多基于计算机技术与网络技术的软件系统得以被应用到我们的日常生活和工作中去。可以说在信息化如此发展的今天,气象监测已经对我们的日常生活带来了不可思议的变化,同时它对机械的生产,工厂的测量的进程起到了不可磨灭的作用,人们在经历了气象监测所带来的优质生产和生活后,想再次回到过去糟糕的测量模式下是不可能的。软件信息管理系统被应用到各行各业中,不仅因为它有着各项专业化的测量方法,同时它基于较高计算精度与速率的硬件设备,可以满足更高的计算要求[1]。在有关技术的强大支撑下,我国数据管理模式逐步从人工向信息化管理迭代发展,借助计算机软件系统不仅可以实现对数据的检测、统计、计算、维护等操作,还能够通过诸多的可视化界面对信息数据有更加直观的感受。进入2020年,我们应更好的利用计算机技术为我们的生产生活所服务,设计出更多优质、高效、全面的气象监测,让科技改善人们的生活质量。伴随着当代的大数据,让测量的方式会更加的方便,其安全性也较之人力更加的高,比如工厂的生产系统,时刻检测每一个零件的精确尺寸,让使用者通过手机、遥控器、路由器来控制,发出对应指令来完成复杂的事情,中间的具体操作封装,所以操作十分简单,大部分人都能够很快理解上手,并且家具产生的隐患都能够精确反映给人们,将人们从人力管理的方式中解放出来,这是目前人们非常需要的。
从1984年气象监测的概念出现以来,世界各国都认可这一理念能带来巨大的财富,而一个完整的气象监测系统需要网络通讯、嵌入式、计算机编程这些技术,而我国落后于世界很多年,所以在1990年后才引入气象监测这个先进的概念,中国企业发现了商机,开始涉猎气象监测行业。虽然中国研发气象监测的起步时间晚,但是在互联网的兴起过程中迎来爆发式的进步,国家政策也对气象监测系统优待很多,目前其已经在国际市场有了一席之地 [2]。
气象监测中负责电力的系统内部有着专门的区域负责存储,而其中气象监测便是参与整个存储过程的重要部件之一,它不仅负责连接储存能源的设备,还可以连接直流电路的所有线路,除了可以连接设备和母钱之外,这款气象监测所能做的可以将存储起来的电能给释放到其他线路上,在需要的时候将获得的能源给储存在内部。所以这款负责这么多项功能的气象监测与微电网的运行情况是成正比例关系的,也就是说气象监测的输出能力越厉害,那么微电网的整体效率也会因此大大的提高,而一个无法承受长期电力辐射的转换器将会因为这种环节缩短工作寿命,并且还会影响到气象监测的工作能力,最终导致微电网不再能够稳定的运行,最终破坏了微电网的经济收益。所以面对传统的气象监测所具有的低效率和短寿命的现象和功率输出密度不一致的缺点,本次所设计出来的气象监测不仅抗老化,还有着更高的输出和输入能力,这代表着整体的转换速度大幅度上升,最终给老板带来的便是巨大的经济效益。
而经过长时间整理的资料,我们不难发现过去的气象监测缺少了一套完整而系统的理论,所以本次的刘俊文将对专门应用于微电网的气象监测进行条理清晰的论述:本文先从工作的模式来比较气象监测模式和交错并联的优缺点,再在通过它们不同的控制手段来证明气象监测才是更合适微电网的首选之择;然后将从信号采用怎样的采集模式,以及数字调控等方面进行设计,然后对输出输入的控制电路进行检测优化,当然还有重要的通信方面需要控制;在第一环节分析了两者之间的控制手段不同之后,选择了气象监测,并根据所分析的数据设计一台功率在10kW以上的机器,并在此基础上配置好一个类似微电网的电路,然后在这样的电路上测试这台10kW的样机,多次测试后发现结果都是远远高于本次的设计要求的,因此本次的实验能够确认任务书所描述的理论是基本无误的。
1.2 本课题的研究意义
气象监测作为负责存储的核心元件之一,其最主要的作用便是保证电压的稳定,而电压会因为实际情况而被不同的因素所影响,并不是每时每刻都能够有着恒定而较高的功率的,比如说大量的风力发电都会因为风力的强弱而改变,发电机的实际输出功率随着风力的减弱而下降,随着风力的增强而上升;而我们日常生活中常用的光伏发电也是一样的情况,会因为乌云等障碍物的飘过或遮挡而降低发电总量,因为环境因素影响到了工作效率,而如今所提倡的新能源发电总是会因为各种各样的因素而无法满足大部分用户的需求,而新能源的形式千姿百态,除了基本的光照,风力这些以外,还有沼气等新能源并入到了电网体系,目前我们将新能源替换煤炭等旧能源的过程中,不可避免的带来了一些不稳定的结果,这些不稳定的因素长期下极大的破坏了以往稳定的电网,并且这样的结果违背了新能源高效替换的本质。所以气象监测作为其两者之间的介质,即便这些新能源供能的时间和强度并不是统一而稳定的,但是只要新能源产生了电力,那么气象监测就能够将这些能源给暂时的存储起来,提供满足用户日常生活所需的电量并把额外剩下的电量作为后方以防万一的储备,这样的设定即便面对用户需求突然增加或者停电等特殊情况也能做到游刃有余的地步。
气象监测如此卓越的性能使它不仅在微电网中担当重任,还对大部分的燃料电池设备起到了很好的保护作用,因为燃料电池是目前推出的绿色无污染的新来源,相对来说因为其复杂的结构而导致研发和建造成本直线上升,如此昂贵的设备必须用更加合适的交换器才可以保证稳定工作,所以气象监测在此时便起到了良好的保护效果,它比一般的交换器能更好的保护燃料电池,即便电流在某一时刻变大也能保证膜电极不会因为过低的电压而被破坏,所以电池内的气体也不会泄露出来,目前的燃料电池因为气象监测而极大的延长了工作寿命。
而气象监测目前还被应用到我们常见的产品中,最常见的便是我们的电动汽车这一块,在倡导绿色无污染的现代理念中,如何减少石油使用的需求让电动汽车这一种类型诞生了,因为电动汽车顾名思义就是通过电池驱动的汽车,所以并不会需要石油,也就不会产生大量的尾气,虽然想法颇为现金,但是电池上面的问题一直没有被完全解决,目前市场上的品牌电瓶汽车依旧无法匹敌传统汽车的行驶速度和距离,而气象监测的利用就能够在一定程度上提高电池的利用率。除了电瓶汽车这些日常品以外,制造业和大量加工业的昂贵设备其实也需要UPS系统,而UPS的核心其实也使用了气象监测这种稳定的设定。
二、神经网络算法相关理论介绍
2.1神经网络相关理论介绍
2.1.1神经网络结构
从本质上来讲,BP 神经网络也是一种前馈神经网络。最简单的前馈神经网络就是感知器。感知器的结构设计来自生物学中的神经元,神经元如图 2-1 所示:
图2-1 神经元
BP 神经网络是一个多层感知器,只不过更加关注方向参数的调整。BP 神经网络除输入与输出层外的中间层成为隐含层。 单个感知器无法解决非线性问题。BP 神经网络解决非线性问题的方法是采用激活函数[9]。激活函数在0 到 1 之间,满足这些条件的函数有很多,常见的如 Sigmoid 函数、tanh 函数、Re LU 函数等。
下图是拥有两个隐含层的 BP 神经网络结构图,如图 2-1 所示:
图 2-2 BP 神经网络结构图
神经元的功能可简单总结为以下几个方面:
(1)自适应性。
(2)时空整合功能。
(3)神经元具有两种不同的状态。
(4)电位与脉冲转换。
(5)突触的延时和不应期。
2.1.2隐藏层包含单元数设计
如果隐藏层节点数目过少,那么该浅层神经网络的表达能力会很差,或者出现网络不强壮的情况,得到的模型容错性比较低,不鲁棒,但如果隐藏层的节点数目太多又很可能导致网络训练所需要的时间成本变高[10],下面就介绍本文参照的以下几个经验公式:
以上公式中,P表示样本数量,H表示隐藏层的节点数,I表示输入层的节点数,J表示输出层的节点数,k是一个1-10之间的整常数。
2.1.3初始权值的选择
对于一个浅层神经网络而言,网络最初的权值的选择对于网络训练能否收敛有着极大的影响,在本文对浅层神经网络的实验中利用公式:
用以更新权值。上式中的η是学习率,为动态向量参数。从上式可以看出,较大的η值可能会有一个较为快速的训练的过程,但也有可能造成训练精度的上下波动,结果错过最优解。
通常情况下使用 BP 神经网络算法时,往往一次迭代采用多组数据,也就是批量训练方式,一次采用数据的组数是根据计算机能承载的负载量来定。一般采用 2 的 n 次幂。 采用批量训练方式带来的好处就是容易实现并行化,所以能大大提高学习速度。但是,批量训练方式需要较高的机器性能,因此对于小规模的数据集时常采用串行训练方式。
2.2 BP网络相关函数详解
随着人工智能与大数据的兴起,很多的编程工具以及其他相关语言的工具箱也在不断地更新之中[11]。
表 2-1 与 BP 网络有关的函数
三、数据预处理
3.1 主流推荐算法介绍
3.1数据清洗
对于数据清理,可以使用以下的几种方法:当遇到特殊情况时,比如说,如果数据里有例如多云,阴之类,文字类的数据时,可以将其转换成数字的数据格式,而当遇上一个极端数值,比如温度超过50度或者低于零下30度时,可以把它换成它之前或之后的两个值的平均值或者是某一时间区间的平均值;。在这个毕业项目中,数据清理是用Python完成的。
如图3-1所示,部分原始消息中的某些天气数据已经过代码转换,格式处理和其他清理过程。右图是处理后的信息摘要。可以看出,所有属性元素的所有数据类型都是相对干净的,最大值和最小值在正常值范围内。特别是在本文中测量了某些值,例如,温度值300表示30°C,风速30表示3m / s风。
图 3-1 部分气象数据资料转换清洗后的统计信息
3.2数据标准化
为了解决诸如由于数据量过多引起的计算效率之类的问题,有必要对数据进行一定的统一处理。如果在训练过程中未对数据进行预处理,则必须对原始数据进行规范化处理,否则将导致例如计算失败,计算机系统负载增加或模型不收敛的问题。标准化通常与权重的初始化相互作用,以允许在每种算法的开始和结束时执行压缩行为,从而生成非标准化的数据格式以获得所需的结果。
所以,数据标准化可以提高存储能力,同时提高计算性能。同样数据还受维度影响。 作为非线性导数的函数的梯度将始终为非零。
接下来是本次毕业设计中所用到的数据标准化的处理和算法实现的步骤
(1)最小最大值标准化
最小最大值标准化(Min-Max 标准化)也称离差标准化,将数据处理成0到一之间的合理范畴内。 转换函数定义为:
其中:
MIN(X)——为序列数据样本里的最小值;
在实际应用中,对 MIN-MAX 函数算法实现如下(见表3-1):
表3-1 MIN-MAX 算法实现
一般来说,在数据是离散的,而且数据的最大最小值偏离常态的情况中,Min-Max 标准化的应用比较广泛,处理后的数据将遵循(0,1)标准正态分布。 通常来说我们会给出以下定义:
其中:𝑦̅是所有元素的平均值
𝜎是所有元素的标准差。
表3-2 Z-score 标准化函数实现
四、数值模拟实验
4.1 模型建立
基于RBF神经网络的天气预测模型的具体预测流程如图4-1所示:
图4-1 神经网络预测流程
4.2数据处理
表4-1 某地2021年天气数据(部分)
如表4-1,是利用python软件搜集的某地2021年的部分天气数据,混杂的原始数据包括不同的数字,字符串等,不利于进行计算,所以需要对这些数据进行清洗,标准化。
其中, 是里第 i 个值,是样本数据第 i 个值,xmin、xmax 分别是样本数据的最小值和最大值。
由于天气不是每天固定的,可能一天出现多种天气,以及一种主要天气,如小雨,附带有另一种天气,如雨夹雪,这会给数据使用带来极大的不便,所以为了方便,现将天气状态简化,如表4-2
表4-2 天气状态标准表
由于雾霭天气样本太少无法拟合,加入会造成误差,故舍弃
经过数据清洗后的部分数据如表4-3所示:
表4-3 天气数据经过处理后的部分
4.3BP神经网络设计
本预测系统需要定义好迭代次数、学习率以及隐含层数等。 BP 神经网络在训练时,输入样本的维度高会影响网络的训练速度,增加训练时间。为尽量减少训练误差,选取模型的迭代次数为 10000,学习率为 0.5,隐含层数选取为 1 层。
首先开启训练,最开始设定总体误差为 0,并对迭代次数计数,并将隐含层、输出层、输出层各神经元误差、隐含层各神经元误差分别进行保存,然后将90%的数据错位训练样本进行训练,训练过程中必须遍历每个隐含单元的结果。
最后使用剩余的10%的数据,对训练后的模型进行测试,如图4-2,4-3,得到测试数据的输出,然后定义隐含层的个数,并保持暂时不变,确定输出个数就等于测试数据的的输入个数,然后就开始测试。保证测试前先训练,就返回空值,并对隐含层个数计数,隐含层的数量由权值和测试数据之积决定。
图4-2 某月26日预测天气数据与实际天气数据对比图
图4-3 某月27日预测天气数据与实际天气数据对比图
4.4天气预测功能
部分预测结果如表4-4所示:
表4-4 天气预报功能
五、 总结
气象预测方面随着国内各个方面相关技术的发展而促进,尤其是计算机方面的技术的推进促使了系统如何提高整体工作效率。而传统的辨识模式也摆脱了单一低效的窘境,在自动化控制的基础上与其他科学技术加以整合,向着更好的方面进行研究。
本文所要设计系统是为了能够在高效的测量的功能上,将它与MATLAB相结合,形成更加完美的测量管理系统,因为MATLAB作为各大行业应用最多的平台,是经受过各种考验的。自开发技术发展以来,良好的可视化编程就受到一致的追捧。经过测试后,与GPIB设备、VXI总线、串行口设备等硬件的连接都是很稳定快速的;在传输数据的途中,如果需要采集数据的话,只需要探针点击界面;MATLAB不同于其他平台,无论是Windows,还是Linux,都支持使用。综上所述种种优点,它能够成为使用率最高的产品是实至名归的。并且MATLAB如今被应用到了制造业等需要实时监控设备的行业,所以它是一个成熟的编程平台,非常适合本次的测量设计,而这款数据采集软件本身设计出来就是为了支持大部分的硬件,它还集成了RS-485等通信协议,而它图形化的用户界面更是保证了用户交互的良好性。
本次设计使用MATLAB对直流电机的输入和输出电压进行辨识,随后再对整个过程的转速参数进行研究,最终多次测试和改进后得到了相对合适的数据,能够完成本次的目的——气象预测。在后续的进展中,将对如何保证每一个时间周期内都能够精准控制进行调整,并在这样的基础上进行研究更加合适的辨识方式,也就是在线辨识。对于这个辨识方式的研究,自然需要之前对直流电机的电压辨识数据,随后根据测量结果对它的速度在整个流程中进行管理控制。
六、 目录
目 录
引 言 1
1.1 本课题的研究背景 1
1.2 本课题的研究意义 2
1.3 国内研究现状 3
1.4 研究主要内容 3
第二章 神经网络算法相关理论介绍 5
2.1神经网络相关理论介绍 5
2.1.1神经网络结构 5
2.1.2隐藏层包含单元数设计 6
2.1.3初始权值的选择 6
2.2 BP网络相关函数详解 7
第三章 数据预处理 8
3.1数据清洗 8
3.2数据标准化 8
第四章 数值模拟实验 11
4.1 实验环境 11
4.2 模型建立 11
4.3 数据处理 12
4.4 BP神经网络设计 13
4.5天气预测功能 15
第五章 总结与展望 16
5.1总结 16
5.2展望 16
参考文献: 18
致 谢 20
附 录 21