没有合适的资源?快使用搜索试试~ 我知道了~
基于协作机器学习的多预报点实时天气预报
阵列14(2022)100153基于实时协作机器学习的多预报点Tulsi Pawan Fowdur*,Rosun Mohammad Nassir-Ud-Diin Ibn Nazir毛里求斯雷杜伊特毛里求斯大学电气和电子工程系A R T I C L EI N FO保留字:天气预报机器学习协作实时云移动A B S T R A C T天气预报是气象学的一个重要应用领域,也是世界范围内最具挑战性的科学和技术问题之一。随着气候变化的剧烈影响不断显现,高精度的局部短期天气预报变得比以往任何时候都更加重要。在本文中,提出了一种基于协作机器学习的实时天气预报系统,其中来自多个位置的数据被用来预测特定位置的天气。在这项工作中,使用了五种机器学习算法,并在毛里求斯的四个不同地点进行了测试,以预测温度、风速、风向、压力、湿度和多云等天气参数。天气数据是使用OpenWeather API从移动和桌面边缘设备收集的。数据以JSON文件的形式存储在IBM Cloudant数据库和本地MySQL数据库中。分析是在本地服务器上执行的,该服务器捕获来自边缘设备的传入数据,并通过部署在IBM云平台上的servlet执行。使用协作和非协作方法测试了五种机器学习算法,即多元线性回归(MLP),多元多项式回归(MPR),K-最近邻(KNN),多层感知器(MLP)实验结果表明,合作回归方案实现了平均绝对百分比误差(MAPE)比非合作的5%,和多元多项式回归(MLR)算法优于所有其他算法的误差范围从0.009%到9%的不同的天气参数。总的来说,结果表明,具有多个预测器位置的基于协作的天气预报可以潜在地提高机器学习算法中预测的准确性信用作者声明作者确认,所介绍的工作是他们自己的工作,从其他来源获得的所有信息都已适当引用。1. 介绍天气预报的目的是确定在给定的预测期内特定位置的大气状态。天气可以被描述为大气变量的变化,如温度、风速和风向、湿度、阳光、云量和降水量[1]。随着物联网(IoT)的出现,可以获得实时天气预报。可以低成本部署多个天气传感器,以收集不同位置的天气数据。然后可以将机器学习算法应用于收集的数据,以高精度执行预测[2]。除了IoT,商业云平台的基础设施即服务(IaaS)模型非常适合于诸如偶尔需要计算资源的天气预报之类的应用。租用高端服务器来执行需要突发计算需求的应用程序可能比购买和维护专用硬件更具成本效益。这是因为云用户只为时间付费 资源已被使用[3]。最近,一些研究集中在物联网,机器学习和云计算的应用上,以开发实时天气预报系统。下面将对其中一些方案进行概述在[4]中,David Irwin等人提出了CloudCast,这是一个提供个性化短期天气预报的移动应用程序。这项工作的目的是调查假设,即当前 的 云 平 台 连 接 性 和 多 样 性 可 以 减 轻 数 据 分 级 和 计 算 延 迟 对Nowcasting的影响该体系结构由雷达传感器网络连接的协同自适应感知* 通讯作者。电子邮件地址:p. uom.ac.mu(T. P. Fowdur),umail.uom.ac.mu(R.M. Nassir-Ud-Diin Ibn Nazir)。https://doi.org/10.1016/j.array.2022.100153接收日期:2021年10月27日;接收日期:2022年2月19日;接受日期:2022年4月1日2022年4月14日在线提供2590-0056/© 2022作者。爱思唯尔公司出版这是CC BY许可下的开放获取文章(http://creativecommons.org/licenses/by/4.0/)。可在ScienceDirect上获得目录列表阵列期刊主页:www.sciencedirect.com/journal/arrayT.P. Fowdur和R.M.纳西尔·乌丁·伊本·纳齐尔阵列14(2022)1001532气象指挥和控制中心(MC&C)负责管理雷达扫描。DiCloud用于控制对Amazon的弹性计算云(EC2)资源的访问,以跟踪与单个Nowcast请求相关的成本。一种临近预报算法被用来预测短时间间隔的高影响天气事件。作者观察到10分钟Nowcasts的准确性很高。进一步的测试显示,将15分钟的Now-casts图像传送到移动客户端有2分钟的延迟。该研究表明,商业和研究云服务可用于实时即时广播应用程序。在[5]中,Bobby D. Gerardo等人提出了一个使用带有高级警报信息的SMS的山洪警报系统。该系统的体系结构包括一个由超声波传感器、脉冲探测器、无线调制解调器、FEZ多米诺板和一个由太阳能电池板充电的6 V电池水位和速度被测量并发送到服务器。服务器应用程序和调制解调器,这是用来发出短信给用户都进行了仿真。为了测试该框架,记录了7天的水位和流速收集的数据用于训练MLR模型,以预测未来的水流。使用预测值,计算风险值,然后将其用于确定向用户发出警告的阈值一个基于云的实时天气预报系统铸造系统由S. G. Totad等人研究云和物联网如何用于天气数据收集和预测[6]。实验架构包括两个用于测量温度和湿度的DHT 11传感器以及连接到Raspberry pi的Arduino板。来自传感器的数据被发送到Arduino板,Raspberry pi获取数据并通过ThingSpeak将其存储在公共云中。为了根据收集的数据进行分析和预测,从云中提取一年的先验数据,然后进行参数的相关性分析。一个ARIMA模型被用来预测下一年的价值。结果表明,连续两年的预测结果令人满意。除此之外,预测的准确性开始下降。T.P. Fowdur等人[7]利用基于物联网的天气监测系统开发基于云的实时天气预报系统。其目的是调查不同的数据挖掘技术的准确性,并制定了三个自适应方案,以选择适当的算法时,执行预测一个给定的Nowcast 。该体系结构由一个天气监测节点、一 个Raspberry pi 3和一个数据库服务器组成。该监测系统由测量天气状况的天气传感器、连接到传感器的天气防护罩和Arduino板组成。带有WiFi模块的XBee屏蔽被堆叠到Arduino板上,允许监控模块无线连接到Raspberry pi 3。记录的数据从监控模块发送到Raspberry pi进行处理和存储。采用MLR、KNN、ARIMA等数据挖掘算法对不同的天气变量进行预测。为了测试该系统,使用前11天的数据,使用上述算法进行逐步回归,使用2小时的窗口预测下一个间隔20,40和60分钟。结果显示,随着预测间隔的增加,误差普遍增加。与非自适应算法相比,使用自适应算法的误差较低。最小误差为亮度的0.454%,最大误差为降水量的45.56%。在[8]中,作者提出使用六层卷积神经网络,强对流天气(SCW)条件预报的CNN网络。研究的目的是将CNN模型与其他机器学习算法进行比较,包括支持向量机(SVM),线性回归(LR)和随机森林分类器。为了训练模型,使用了来自国家环境预测中心(NCEP)最终分析数据的五年恶劣天气观测数据。为每种恶劣天气类型选择了大量数据样本进行训练。使用的CNN模型由使用softmax分类器的six层组成。在训练模型后,将50个未标记的NCEP数据的样本输入到网络计算SCW发生的概率。四个技能分数被用来确定网络预测的性能。当将技能得分与其他数据挖掘算法进行比较时,CNN模型显示SCW检测增加了33.2%。与其他算法相比,CNN模型的技能得分也更高。在[9]中,一个天气预报系统采用了简单的机器学习模型,如随机森林回归(RFR),岭回归(Ridge),支持向量(SVR),多层感知器(MLPR)和E X tra-Tree回归(ETR),用于预测田纳西州纳什维尔市第二天任何特定时间的温度,根据这个城市和周边几个城市当天的天气数据。发现使用不同的预测器位置来预测目标位置的温度, 从而与使用来自单个区域的数据相比具有更好的预测精度。参考文献中提出了其他有趣的基于机器学习的天气预报系统[10虽然,以前的天气预报工作是非常有前途的,有几个差距,仍然可以利用,以提高他们。例如,在Ref.[4]只考虑了云计算参数,如吞吐量和内存,但没有考虑预测算法在均方误差方面的性能参考文献[5]中的工作仅限于使用短信提醒用户,并没有提供完整的天气报告。参考文献[6]中只使用了ARIMA工作在Refs。[7,8]考虑了几种算法,但没有考虑基于多个位置数据的最后,尽管在参考文献[9]中考虑了协同预报,但没有明确描述系统的架构和所使用的协同算法的制定受先前基于云的实时天气利用机器学习预测,这项工作开发了一种用于天气预报的协作机器学习技术。本质上,来自不同地区的天气条件被组合以预测给定地区的天气参数,但与Ref.[9]在只考虑温度的情况下,在这项工作中预测了六个此外,除了使用来自不同地区的数据,如在参考。[9],通过扩展参考文献[17]中的系统,采用了具有本地和基于云的服务器以及Web和移动客户端应用程序的完整系统详细的数学公式的协作模型也提供了vided的五种不同的机器学习算法,已被使用。据观察,协作预测特别增强了多元多项式回归(MPR)和多元线性回归(MLR)算法的性能。此外,已经开发了一种系统,该系统结合了几种机器学习算法以在云上实时执行然后,分析结果从云端发送给用户还开发了一个移动、桌面这项工作的主要贡献是开发一个ubiqui-这是一个非常灵活的天气预报系统,可以在本地服务器和云上进行协作天气预报,同时在桌面、移动和Web平台上提供多个用户界面,以便无缝访问实时天气预报。与其他作品相比,本作品的新颖性如下:(i) 与大多数以前的作品[4T.P. Fowdur和R.M.纳西尔·乌丁·伊本·纳齐尔阵列14(2022)1001533Fig. 1. 系统数据流。多个预测器区域来预测目标区域的数据,以实现更好的预测精度。(ii) 据我们所知,一个完整的系统,本地和云服务器,互动移动,桌面和Web应用程序,以访问天气数据预报无缝协作天气预报,还没有提出在任何其他工作。(iii) 与Ref相比[9],这项工作提供了一个性能分析的六个不同的天气参数的协同预报与详细处理的算法和架构开发。因此,这项工作提供了一个重要的体系结构和数学框架的实时天气预报系统的状态。此外,它还研究了协同天气预报方面,这在显著改善相关地区的预报方面具有很大的潜力。建议的架构和多平台应用程序还提供了易于部署和可扩展性。本文的其余部分组织如下。第二节描述了系统模型和提出的协作机器学习算法。第3节给出了详细分析所获得的结果。第四节是论文的总结。图二. 集中式本地Java服务器应用程序。T.P. Fowdur和R.M.纳西尔·乌丁·伊本·纳齐尔阵列14(2022)10015342. 协同天气预报系统模型与算法在本节中,首先描述了由本地服务器、移动和桌面边缘设备、云托管servlet和Web应用程序组成的完整的天气预报系统模型。在此之后,必须对传统的机器学习算法进行修改,以执行协同预测。2.1. 天气数据收集和分析图1示出了详细描述整个系统中的数据流的图。该系统扩展了参考文献[17]中描述的系统,增加了一个移动客户端,该客户端具有专门为毛里求斯天气预报设计的交互式界面。此外,参考文献[17]中的集中式本地服务器被本地服务器取代,该本地服务器可以使用不同地区的天气参数来执行协作天气预报,以预测给定地区的天气这同样适用于云servlet和本地托管的servlet。该 系 统 由 边 缘 设 备 ( 移 动 和 桌 面 ) 组 成 , 这 些 设 备 将 向OpenWeather API发送请求[18],以请求给定地区的实时天气参数。这些参数被发送到本地服务器或直接发送到云。集中式本地服务器可以将值存储在本地MySQL数据库中,也可以将它们发送到IBM cloudant数据库。分析可以在本地服务器、云托管servlet或本地托管servlet上执行。还开发了一个网络应用程序,使用户能够监测天气参数和请求预测。此外,还开发了毛里求斯天气预报的专用安卓客户端,显示该国的交互式地图,其中包括从云托管的servlet获得的天气预报。关于该系统每个组成部分的更多详细信息,请参见以下小节。2.1.1. 用于协作天气预报的集中本地服务器为了实现集中的本地服务器,创建了一个用Java编写的应用程序图2示出了集中式本地服务器布局的屏幕截图。桌面应用程序具有以下功能:从边缘设备(Android桌面)接收传入的套接字连接,捕获传入的数据并将天气数据存储在本地SQL数据库和云NoSQL数据库中。&显示不同天气变量变化的实时图表。从本地或云数据库下载特定日期的数据。从本地或云数据库下载特定样本大小的最新数据。使用五种机器学习算法对特定位置进行预测。对不同算法执行时间序列交叉验证。在表格和图形中显示交叉验证的MAPE,以便于比较。为了预测给定时间间隔的天气,用户点击“预测”按钮,使用五种可能的机器学习算法进行预测。要下载数据,用户选择日期和样本量,然后点击“下载“按钮。然后将从相应的源获取所需的数据,并以CSV格式保存到本地存储中。要执行协作回归,用户必须输入响应位置并选择至少两个预测值位置。然后使用提供的文本框设置训练参数。然后,点击“协作“按钮,调用第2.2节中描述的协作回归算法。每个天气变量的预测MAPE显示在底部的输出表图三. OpenWeather查询URL。见图4。 数据收集流程图。在图2的中心示出的条形图中绘制。通过点击“监视器“按钮启动监视过程。它在端口6666上启动ServerSocket连接并监视传入从边缘设备的套接字连接。分析后端由机器学习算法和用于获取和处理数据的功能组成,已为本地服务器和Web应用程序实现。后端负责以下工作:从本地数据库或Cloudant数据库获取数据。预处理原始天气数据。训练不同的机器学习模型。预测接下来n分钟的天气使用滑动窗口回归对每个算法进行交叉验证。2.1.2. 用于天气数据采集的此块表示负责从OpenWeather API收集数据并将其发送到Cloudant数据库或本地服务器的移动和桌面应用程序。移动和桌面应用程序还可以请求从本地服务器或直接从Cloudant数据库下载数据。边缘执行以下主要功能[17]:使用REST范式从OpenWeather API收集数据。将数据发送到本地服务器应用程序以进行本地存储,或使用Cloudant API将其直接存储到相应的Cloudant数据库中。显示一个图表,该图表显示特定位置的天气状况的实时变化。• 请求Java servlet应用程序获得预测结果。···············T.P. Fowdur和R.M.纳西尔·乌丁·伊本·纳齐尔阵列14(2022)1001535图五. 移动客户端主活动屏幕。见图6。 下载数据屏幕。请求Java servlet应用程序提供特定日期或固定样本大小的天气数据OpenWeather API [18]用于每隔15分钟收集有关当前天气状况的数据并将其存储在数据库中。为了获得特定位置的当前天气状况,API调用的URL必须通过指定城市名称、响应类型、测量单位API密钥来正确地制定&,如图所示。 3.为了连接到API,使用了JSOUP类。通过使用静态JSOUP类的connect()方法打开到URL的连接,然后get()方法获取HTML数据并将其解析为Document对象。使用text()方法将Document对象转换为String。然后将响应String类型转换为JSO-NObject。从响应中提取必要的读数并封装在JSONObject中。然后,JSONObject被发送到本地服务器应用程序或Cloudant平台进行存储。参考文献[17]中给出了移动和桌面边缘设备的所有源代码的详细描述图4示出了已经实施的数据收集过程。每隔15分钟,基于所选择的位置生成遵循图3中的格式的新链接。使用JSOUP库联系OpenWeather API,该库联系生成的链接并从服务器下载JSON响应。JSON字符串中的必要数据被提取并封装在另一个JSON对象中。检查是否勾选了“云“复选框。如果是这种情况,数据将直接发送到Cloudant数据库,否则将发送到本地服务器以存储在SQL数据库中2.1.3. 移动客户端应用程序使用Android Studio IDE开发了一个移动应用程序。该应用程序具有以下功能:• 显示记录的最新天气状况。显示一个实时图表,显示不同天气变量的变化。允许用户下载特定日期或最近N次天气观测的天气信息。显示一个GoogleMap片段,用户可以从中选择一个位置,以获取接下来N分钟的预期天气状况。当启动移动客户端时,显示图5中的屏幕。屏幕上显示最新记录的天气情况。还有一个图表,实时显示特定天气状况的变化。要更改显示的变量,用户只需从第2行和第3行单击所需的变量要下载天气数据,这将启动如图6所示的屏幕。用户可以输入需要数据的日期或需要的样本数量。然后点击“下载“按钮下载数据。下载的数据也在表格中示出为了获得另一位置的预期天气状况,从图5的主屏幕,点击“MAP“按钮。这将启动“MapActivity“屏幕。屏幕显示一个地图片段,在不同的位置有几个标记。然后,用户点击需要预测的位置,如图1中的屏幕。 七是显示。如果用户想要使用集中式本地服务器执行预测,则输入服务器的IP地址并选择预测时间。然后点击“预测“按钮。然后向用户显示预测。要使用云java servlet执行预测,需要选择所需的位置并选择预测时间。然后,点击“预测“按钮,但在这种情况下没有输入IP地址,因为预测将通过查询云服务器获得。然后向用户显示预测servlet返回的结果将显示在图1底部显示的屏幕上的相应字段中。 7显示····T.P. Fowdur和R.M.纳西尔·乌丁·伊本·纳齐尔阵列14(2022)1001536见图7。 地图活动屏幕。在这种情况下,30分钟后的温度、风速、风向、压力、湿度和云量2.1.4. Web应用程序Web应用程序是当用户访问servlet链接时显示给用户的网页。该网页提供了一个图表,实时显示天气参数的变化。用户还可以下载特定日期的天气数据或仅最后N个读数。 该页面还负责联系云托管或本地托管的servlet以获取分析结果并将其显示给用户。动态Web应用程序在Eclipse IDE中编写,并部署在IBM Cloud上的BluemiX服务器Web应用程序提供了拥有网页的用户,他们可以在其中执行以下操作:在云上执行预测并在其设备上获得结果。下载特定日期的天气数据或仅下载最近N次天气观测。观察每15分钟更新一次的图表中天气参数的变化。更新间隔选择为15分钟,因为OpenWeather API中的值在相同的时间间隔内刷新。2.1.5. 云托管servlet云托管servlet的主要功能是为来自访问网页的最终用户的请求提供服务。servlet负责以下功能:见图8。 协作机器学习。更新网页上呈现给用户的实时图表。通过从Cloudant数据库获取数据,向用户提供请求的天气数据。• 执行分析并将结果返回给用户。2.1.6. 本地托管的servlet本地托管的servlet执行与云托管的servlet相同的功能,但它不是托管在IBM Cloud平台上,而是托管在本地Apache Tomcat服务器上。用户必须指定服务器的IP地址才能连接到servlet。2.1.7. MySQL数据库为了在本地存储来自移动和桌面应用程序的传入数据,使用XAMMP中的MariaDB数据库。来自本地数据库的数据用于在本地服务器上本地执行预测,而无需联系云托管的servlet。2.1.8. Cloudant数据库Cloudant数据库是IBM Cloud平台提供的一项服务。它在系统中用于将天气数据存储在云中,以便在全球范围内访问数据。要将收集的数据存储在Clou- dant数据库中,必须将新的Cloudant资源添加到IBM Cloud Resource列表中。这将设置一个Cloudant实例,允许用户根据需要创建任意数量的数据库Cloudant中的分区数据库允许通过提供称为分区键的第二个键对数据进行逻辑分区。研究了使用分区数据库的可能性,但是,每次查询的查询上限为2000个结果,超时时间为5秒。对于实时应用程序,结果大小上限导致进行多个查询,这增加了处理时间。为了解决这个问题,创建了八个数据库,将每个地点的数据如何配置此数据库的详细说明见参考文件。[17 ]第10段。2.2. 用于天气预报的协作机器学习算法本文中的协作机器学习被定义为使用来自多个位置的数据来预测特定区域的预期天气状况的过程。图8示出了协作机器学习模型的架构。虽然协作机器学习增强了预测准确性,但这种增强是以更高的复杂性为代价的,·····T.P. Fowdur和R.M.纳西尔·乌丁·伊本·纳齐尔阵列14(2022)1001537+()()()+()()()()()nn()()()n∑n表1天气变量符号。参数符号TemperatureT风速WSt风向WDt压力Pt湿度Ht浊度Ct可以在以下小节中用于协作预测的不同机器学习技术的修改后的数学模型中看到。2.2.1. 协作多元线性回归(MLR)本文采用多元线性回归方法,根据t时刻的V1和其它相关参数VX1,VX2,V1t+1=β0( w)+β(1)( w) Vx( 1)+β(2)( w) Vx( 2)+(一)其中.表2回归响应和预测关系。响应变量预测变量温度温度湿度风速风速温度风向风向温度压力压力温度湿度湿度温度云量云量湿度其中.• n表示预测器位置的数量。观察到,由等式(8)-(13)表示的协作MLR的复杂度大于传统MLR的复杂度,并且随着预测器位置的数量(即n)增加而增加2.2.2. 协作多元多项式回归(MPR)本文采用多元多项式回归,根据方程(14)[ 19 ],建立了一个方程,该方程涉及一个在时间t1预测的一般变量y,相对于先前记录的时间t的y值和其他相关参数x1t,x2t,x3t,β0w,β1w,. , β n w 是 针 对 大 小 为 w 的 训 练 窗 口 确 定 的系 数 。y(t+1)=β0+∑βP1XP1(t)+∑∑βp1p 2XP1(t)XP2(t)+ε(14)实验导出了六个气象参数的六个多元线性回归方程的组合。为了定义方程,表1中的符号用于表示每种天气参数.其中.p1=1P1=1p 2=p1MLR常规方程,即如果没有来自不同位置的协作数据,可以表示如下:Tt+1=β0(w)+β(1)(w)Tt+β(2)(w)Ht+ε(2)• 表示t+1时刻的因变量。•XP2(t)表示自变量在时间t的值。• βP1βP2表示多项式系数。• - 模型误差即,Y(t+1)估计值的变化WSt+1 =β0(w)+β(一)(w)WSt+β(二)(w)Tt+ε(3)• –二阶MPR模型的方程可以表示为WDt+1=β0(w)+β(1)(w)WDt+β(2)(w)Tt+ε(4),设Y由x1(t)表示,其他预测变量为Pt+1 =β0(w)+β(一)(w)Pt+β(二)(w)Tt+ε(5)由x2t,x3t,Ht+1=β0(w)+β(1)(w)Ht+β(二)(w)Tt+ε(6)yt+1=β0+β1x1(t)+β2x2(t)++Ct+1=β0(w)+β(1)(w)Ct+β(2)(w)Ht+ε(7)MLR协作方程表示为求和,+(十五)如下所示:为了生成天气参数的模型,变量x1(t),T βw ∑β(八)x2(t),x 3(t),t+1=0()+i=1n((i*2)-1)()t(i)+(i*2)()t(i)每个天气参数的变量如表2所示。对于没有协作数据(即来自单个位置)的二阶模型的MPR的常规方程可以表示为WSt+1=β0(w)+ β((i*2)-1)(w)WSt(i)+β(i *2)(w)Tt(i)(9)i=1如下所示T2 2WDt+1=β0(w)+∑β((i*2)-1)(w)WDt(i)+β(i*2)(w)Tt(i)(10)nT.P. Fowdur和R.M.纳西尔·乌丁·伊本·纳齐尔阵列14(2022)1001538∑∑t+1=β0+β1T1(t)+β2H1(t)+β11T1(t)+β12T1(t)H1(t)+β22H1(t)(16)i=1WS=β+βWS(t)+βT(t)+β WS2(t)+β WS(t)T(t)10 1121n2111121 1Pt+1=β0(w)+∑β((i*2)-1)(w)Pt(i)+β(i *2)(w)Tt(i)(11)+β22T1(t)(17)i=1WD2nHt+1=β0(w)+βi=1n((i*2)-1)(w)Ht(i)+β(i*2)(w)Tt(i)(十二)t+1=β0+β1WD1(t)+β2T1(t)+β11WD1(t)+β12WD1(t)T1(t)+β22T12(t)(18)Pt+1=β0+β1 P1( t)+β2 T1( t)+β11 P12( t)+β12 P1( t) T1( t)+β2 2 T12( t)Ct+1=β0(w)+β((i*2)-1)(w)Ct(i)+β(i *2)(w)Ht(i)(13)i=1(十九)T.P. Fowdur和R.M.纳西尔·乌丁·伊本·纳齐尔阵列14(2022)1001539nK()下一页nnnn我 i(i)窗口2+Ii(i)窗口2(xi-yi)2Kj= 1(()窗口+()窗口(()窗口+()窗口i=1i=1见图9。 MLP网络[23]。Ht+1=β0+β1H1(t)+β2T1(t)+β11H12(t)+β12H1(t)T1(t)+β22T12(t)∑)。(笑声)(掌声)̅)̅)Ct+1=β0+β1 C1( t)+β2 H1( t)+β11 C12( t)+β12 C1( t) H1( t)+β22 H12( t)(二十一)dC(测试数据,窗口)=∑我知道了。̅ i)(̅i)w̅ ̅i̅n̅d̅o̅w̅)̅2̅+̅i)̅.̅̅i)(̅i)̅w̅i̅n̅do̅w̅)̅2̅(二十八)传统的MPR方程的二阶模型与合作的数据,即。可以表示为等式(14)中的总和,其中自变量X1和X2其中.i=1由表中所述的预测器位置代替。同样,与使用单个预测器位置的MPR相比,等式(14)中给出的协作MPR模型将导致复杂度2.2.3. KNN协作回归KNN算法是最简单的机器学习算法之一。它基于一种惰性学习方法,其中选择最接近每个样本测试数据的前K个样本[20]。本文采用欧氏距离函数来度量测试实例与数据集之间的距离。对于回归,结果取为K最近观测值的平均值。计算欧氏距离的公式是:√̅∑̅n̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅对于每个维度,我们从另一个点的值中减去一个点这个运行总和的平方根就是我们的欧几里得距离。对于每个参数,测试数据和训练窗口中的数据之间的欧几里得距离表示为dX测试数据,窗口,可以总结如下:• n• W• 表示来自测试数据的天气参数表示来自窗口数据集中第i个预测器位置将n设置为1,返回非协作回归的方程。显然,当n> 1时,计算等式(23)预测值可以被计算为具有较小距离的k行与测试数据的平均值,如等式(29)中给出的。Y(t)=1∑Yj(29)其中.• Y(t)表示时间t时的因变量。• K是要考虑的最近邻数• 是第j个最近的邻居。2.2.4. MLP协作回归多层感知器(MLP)是一种前馈神经网络,dT测试数据窗口∑i)。̅ i ) i) 2i).̅̅i) ̅i̅)̅2(二十三)广泛用于解决多种不同问题的网络(,)=i=1()窗口+的()窗口包括回归和分类。它有一个三层架构它由输入层、隐藏层和输出层组成[21]。的dWS试验数据窗口∑i)。̅ i ) i) 2i ).̅̅i) ̅i̅)̅2i=1(二十四)输入层接收输入信号,隐藏层是大多数dWD测试数据窗口∑i)。̅ i ) i) 2i).̅̅i) ̅i̅)̅2i=1(二十五)MLP学习算法通过使用回退来优化权重,[22]这是一个非常简单的过程。网络中的隐藏层节点首先被分配随机权重,∑)。(中文)(中文)(英文)(中文)̅̅̅)̅)̅2Tween+1和-1。第一批训练被馈送到网络,dP(测试数据,窗口)=i=1我 i(i)窗口+I i(i)窗口(二十六)输出被观察到。通过计算两者之间的差异,将网络输出与实际值进行比较。误差通过网络向后传播,并重新调整权重。执行此操作,直到达到可接受的错误 图 9n·(二dH(测试数据,窗口)=(二d(x,y)=(二、)=的执行计算,并且输出层执行分类或预测。、)=的T.P. Fowdur和R.M.纳西尔·乌丁·伊本·纳齐尔阵列14(2022)10015310X-X最大值最小值见图10。 CNN网络架构。(30)已使用。X归一化=X电流-X最小值(三十)见图11。 CNN输入张量。显示了MLP网络的架构以及如何训练它在将数据馈送到神经网络之前,必须首先对数据进行归一化,以增强计算并获得更准确的结果[24]。本文给出了方程中的极小极大归一化其中,Xcurrent为当前值,Xmin为X的最小值,Xmax为X的最大值由不同时间步长的输入组成的MLP输入可以总结如下:MLP输入=[X1 t1,X2 t1. X(n)t 1,X 1 t 2,X 2 t 2,.,X(n)t 2,. X(n)tn]其中,X1,X2,.,X(n)是时间步长t(n)的预测变量。在非协作的情况下,复杂度较低,因为与具有用于n个预测器位置的n个输入层的协作MLP回归相比,仅存在一个输入层。2.2.5. CNN协作回归卷积神经网络(CNN)是一种设计用于处理二维数据的高级神经网络,尽管一维和三维数据也可以被馈送到网络。这种类型的网络自动从输入数据网格中提取特征,主要用于对象检测。CNN架构由一个输入层、几个隐藏层(卷积层、池化层和全连接层)和一个输出层组成,如图10所示[25]。CNN网络的输入如图所示。 十一岁输入张量由3D矩阵X组成,其中每行表示见图12。 滑动窗口验证。T.P. Fowdur和R.M.纳西尔·乌丁·伊本·纳齐尔阵列14(2022)10015310=++图十三. Google Maps预测变量在特定的时间步长为一个区域。对于非协作回归,预测区域的数量为1。对于协作回归,来自不同区域的数据被组合以形成模型输入张量,与传统的非协作情况相比,这导致更复杂的3D张量输入矩阵。3. 系统测试和性能分析在本节中,测试了每个天气变量的每个机器学习模型的性能,并分析了使用协同回归预测特定位置天气状况的效果。表3模拟的数据集详细信息位置详细信息位置名称海拔(m)面积[平方公里]鸠比56124瓦瓜430110.45夸特雷斯博尔内斯31325.45Moka203231数据集详细信息观察期样本每地点天气参数2021年5月1日至5月31日2976 1.温度(℃)2. 风速(ms-1)3. 风向4.压力5.湿度6.浑浊3.1. 评估模型和模拟数据集协作滑动窗口交叉验证每个算法已经在这项工作中进行。在大多数情况下,在评估机器学习模型性能时,数据被分为训练集和测试集。测试集是通过随机选择模型在训练过程中看不到的原始数据的一部分来获得的。但是,在处理时间序列或环境特征随时间变化的任何其他类型的数据时,保持读取顺序很重要。为了交叉验证时间序列,执行滑动窗口分析。在该方法中,使用固定大小w然后,窗口向前移动一个样本,接下来的w个样本用于创建另一个模型来预测t t w 1.为了评估模型,计算预测值和实际值滑动窗口工艺验证如图所示。 12个。于2021年5月1日至31日期间收集四个地区的数据,即Moka、Curepipe、Vacoas及Quatres Bornes。图13显示了GoogleMaps上的位置以及每个位置之间的距离。气象观测数据以每小时四个样本的速度收集,参数如下:1. 温度2. 风速3. 风向4. 压力5. 湿度6. 云量T.P. Fowdur和R.M.纳西尔·乌丁·伊本·纳齐尔阵列14(2022)10015311N=表4算法参数详细仿真。机器学习算法参数表6MLP网络参数优化。超参数训练MLP[1k]训练MLP [10k]KNN脊参数=0.0001模型阶次=二阶脊参数=0.0001窗口大小=36K= 3距离函数=欧氏距离表7实验结果。实验1深度学习算法参数【一万】表5实验细节。实验预测器位置响应位置预测时间夸特雷斯博尔内斯瓦科阿斯然后计算整个数据集内每个参数的实际值和预测值之间的平均绝对百分比误差(MAPE),如公式(31)所示。N实验3MAPE参数=1∑|实际(i)-预测(i)|(三十一)Ni=1|Actual(i)|[1K]【一万】其中,N表示数据集中的点的总数。然后计算公式(32)中给出的所有算法的总百分比误差。N平均误差模型=1pa∑ram=1 MAPE参数(32)从表7中可以观察到,使用多个预测器位置可以降低预测器的位置。下表33.2. 仿真算法对于模拟,使用以下五种算法进行交叉验证:• 多元线性回归• 多元多项式回归(MPR)• K-最近邻• 多层感知器(MLP)• 卷积神经网络(CNN)每个算法的参数在表4中给出。3.3. 模拟程序通过四个实验研究了协作回归对滑动窗口精度增加了两个测试用例的平均模型非协作回归的MAPE性能在0.009和16.80之间变化(以绿色突出显示),而协作回归的MAPE在0.008和16.80之间变化(以绿色突出显示)。18.82(以紫色突出显示)。验证。根据表5中给出的地理相邻性选择预测因子位置。实验1和2是基线实验,其中使用五种机器学习算法(MLR、MPR、MLP、KNN和CNN),而没有用于协作预测的参数,即只有一个预测器位置和它们的常规方程。对于MLR,常规方程在方程(2)对于MPR,常规方程是(16)、(17)、(18)、(19)、(20)和(21)。对于KNN,常规方程是(23)至(28),其中n为1。MLP和CNN的传统形式只是使用一个预测器位置。对于实验3和4,来自其他两个位置的先前数据将被组合,以使用协作回归来预测天气状况。每次实验后,将记录每个算法模型的平均误差,然后绘制成条形图进行比较。所提出的协作ML有两个主要的局限性算法名称参数集最大历元100010,000MLR窗口大小=36学习率训练样本数0.0129760.0014464MPR窗口大小=36变量MLRMPRKNNMLPMLPCNN[1K]【一万】温度0.4090.5240.9770.7520.6840.892风速1.7531.8654.1955.0394.8516.065风_方向1.1171.1901.7982.6792.0122.795实验1鸠比鸠比15分钟压力0.0090.0090.0240.0380.0380.032实验2MokaMoka15分钟湿度0.7520.7401.7641.5041.1251.836实验3鸠比鸠比15分钟云量8.7449.46316.80416.43214.98515.769夸特雷斯博尔内斯瓦瓜平均误差2.1312.2984.2604.4073.9494.565EX实验4 Moka Moka 15分钟变量MLRMPRKNNMLPMLPCNN参数名称MLP CNN变量输入大小[1,72][32,2,n_locations]激活函数Sigmoid Tanh温度MLR0.413MPR0.531KNN1.007MLP[1K]0.731MLP0.699CNN0.803最大历元1000 1000Wind_Speed1.6961.8144.1255.0564.9125.937最大误差0.0001 0.0001Wind_Direction1.1771.3051.8482.7022.1352.853动量0.9 0.9压力0.0090.0090.0240.0400.0350.032学习率0.010.01湿度0.7470.7261.7221.4530.9951.797L2正则化0.00010.0001云量8.6079.28016.16315.82914.75615.569平均误差2.1082.2784.1484.3023.9224.499实验2[1K]【一万】温度0.3700.4150.9270.7040.6801.395风速1.6671.7533.88
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 5
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于Python和Opencv的车牌识别系统实现
- 我的代码小部件库:统计、MySQL操作与树结构功能
- React初学者入门指南:快速构建并部署你的第一个应用
- Oddish:夜潜CSGO皮肤,智能爬虫技术解析
- 利用REST HaProxy实现haproxy.cfg配置的HTTP接口化
- LeetCode用例构造实践:CMake和GoogleTest的应用
- 快速搭建vulhub靶场:简化docker-compose与vulhub-master下载
- 天秤座术语表:glossariolibras项目安装与使用指南
- 从Vercel到Firebase的全栈Amazon克隆项目指南
- ANU PK大楼Studio 1的3D声效和Ambisonic技术体验
- C#实现的鼠标事件功能演示
- 掌握DP-10:LeetCode超级掉蛋与爆破气球
- C与SDL开发的游戏如何编译至WebAssembly平台
- CastorDOC开源应用程序:文档管理功能与Alfresco集成
- LeetCode用例构造与计算机科学基础:数据结构与设计模式
- 通过travis-nightly-builder实现自动化API与Rake任务构建
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功