1.一种基于分布式存储自适应OATS‑AJSA改进GRU湿度预测方法,其特征在于,包括如下步骤:步骤1,获取历史多要素气象数据,并分布式存储在MinIO数据库中;
步骤2,从MinIO数据库中提取多要素气象数据作为预测数据集,利用孤立森林方法识别预测数据集中的异常值,并采用线性插值方法对异常值进行替换,得到替换后的数据集;
步骤3,采用t分布‑随机邻近嵌入方法对经步骤2得到的替换后的数据集进行降维,得到降维后的数据集,对降维后的数据集进行归一化得到归一化数据集;
步骤4,建立OATS‑AJSA‑GRU湿度预测模型,利用OATS‑AJSA优化算法对GRU中的超参数进行寻优,得到寻优后的超参数;
步骤5,将寻优后的超参数和步骤3得到的归一化数据集放入GRU进行预测,得到湿度预测结果。
2.根据权利要求1所述的基于分布式存储自适应OATS‑AJSA改进GRU湿度预测方法,其特征在于,所述步骤1的具体过程如下:
1)使用API访问ECMWF并下载NC数据文件;
2)使用Python的xarray库解析下载的NC数据文件,得到CSV数据文件;
3)配置并连接到MinIO服务器,使用MinIO SDK将步骤2得到的CSV数据文件上传到MinIO bucket中,作为历史多要素气象数据库,多要素气象数据包括温度、湿度、风速和压强数据;
4)使用MySQL数据库存储用户信息,使用Python的Web框架创建API端点,供MySQL数据库中存储的用户调用历史多要素气象数据库中的历史多要素气象数据。
3.根据权利要求1所述的基于分布式存储自适应OATS‑AJSA改进GRU湿度预测方法,其特征在于,步骤2所述利用孤立森林方法识别预测数据集中的异常值,具体为:
1)设定预测数据集为 ,中的每个数据点 由 个气象特征组成,即 ,表示数据点 的第 个气象特征,从 中随机选择 个数据点构成子集 ,将子集 作为孤立树的根节点;
2)随机指定维度 ,且 ,在子集 中随机产生一个切割点 ,公式如下:,
其中, 表示数据点 的第 个气象特征;
3)根据切割点 创建超平面,利用超平面对子集 进行划分,即将子集 中小于 的数据点放入左子节点,将子集 中大于等于 的数据点放入右子节点;
4)重复2)和3),直至孤立树的所有叶子节点只包含一个数据点或者孤立树的高度达到预设的高度上限,即生成一颗孤立树;
5)重复1)‑4),得到孤立森林;
6)对于 中的每个数据点 ,遍历孤立森林中的每颗孤立树,得到数据点 在每颗孤立树中的高度,并取平均值,得到平均高度,对所有数据点的平均高度进行归一化;
7)利用归一化后的平均高度 计算异常值分数 ,将大于等于预设阈值的异常值分数对应的数据点作为异常值;异常值分数的计算公式如下:,
其中, , ; 表示对于数据点 ,计算在
所有孤立树中的平均高度,归一化后取指数; 表示参数函数, 表示 Euler‑Mascheroni 常数加上 的自然对数。
4.根据权利要求1所述的基于分布式存储自适应OATS‑AJSA改进GRU湿度预测方法,其特征在于,步骤2所述采用线性插值方法对异常值进行替换,具体为:
1)找到异常值的邻近数据点,即异常值前后的两个正常值;
2)利用异常值前后的两个正常值构建一条直线,即:,
其中, 表示异常值的替换值, 分别表示异常值前、后的正常值,表示异常值在 和 之间的位置比例, ;
3)根据异常值在横坐标上的位置,沿上述构建的直线找到对应的纵坐标值,即为异常值的替换值。
5.根据权利要求1所述的基于分布式存储自适应OATS‑AJSA改进GRU湿度预测方法,其特征在于,步骤3所述采用t分布‑随机邻近嵌入方法对经步骤2得到的替换后的数据集进行降维,得到降维后的数据集,具体如下:
1)设定替换后的数据集即高维数据集为 ,降维后的数据集为 ,表示高维数据集中的高维数据点, 表示降维后的数据集中的低维数据点,利用高斯分布计算高维相似度概率 ;其中,高斯分布公式如下:,
其中, 表示高维数据点 生成 的条件概率, 表示距离计算的方差参数,表示 与 的欧氏距离, 表示高维数据集中的高维数据点;
2)利用t分布计算低维相似度概率 ,其中t分布公式如下:,
其中, 表示低维数据点 生成 的条件概率, 表示降维后的数据集中的低维数据点;
3)利用KL散度衡量高维概率分布和低维概率分布之间的差异,公式如下:,
其中, 表示KL散度;
4)利用梯度下降法更新低维表示,更新规则如下:,
其中,表示学习率,表示全局参数, 是更新低维表示时用来缩放梯度的参数;
5)重复2)‑4),直至达到收敛条件,即达到预设迭代次数或当前迭代的KL散度与上一次迭代的KL散度之间的差异小于预设阈值。
6.根据权利要求1所述的基于分布式存储自适应OATS‑AJSA改进GRU湿度预测方法,其特征在于,所述步骤4的具体过程如下:步骤41,使用正交表测试法对人工水母搜索算法的参数进行初始化,人工水母搜索算法的参数包括种群数量、搜索半径和种群初始化策略;
步骤42,将GRU的超参数作为水母,每次迭代使用交叉熵损失函数计算水母的适应度值,将适应度值最高的水母位置作为当前迭代水母种群最优个体位置;适应度值的计算公式如下:,
其中, 表示交叉熵损失函数,是迭代次数,是学习率,是dropout 比例,是隐藏层神经元个数,是样本数量, 表示第 个样本的实际标签, 表示模型对第 个样本的预测概率,表示适应度;
步骤43,引入时间控制机制判断当前迭代水母进入洋流阶段或者水母群阶段,即:,
其中, 表示时间控制机制的控制函数,表示当前迭代次数, 表示0到1之间的随机数, 表示初始设定的最大迭代次数;
使用自适应调整方法动态调整最大迭代次数,公式如下:,
其中, 表示剩余迭代次数, 表示最小迭代次数;
步骤44,根据时间控制函数进行判断,若 则水母进入洋流阶段,并根据以下公式更新个体位置:,
其中, 表示第 只水母更新后的位置, 表示第 只水母当前迭代位置, 表示当前迭代水母种群中最优个体位置,是分布系数, ,表示种群中所有水母的平均位置;
若 则水母进入水母群阶段,进一步根据 是否大于等于0.5判断水母在水母群阶段是主动运动还是被动运动,若 ,表示水母在水母群阶段是被动运动,根据以下公式更新个体位置:,
其中,是运动系数, , 分别表示水母种群搜索空间的上界和下界;
若 ,表示水母在水母群阶段是主动运动,根据以下公式更新个体位置:,
其中, 表示水母的运动方向,表示水母沿运动方向移动的距离, 表示从水母种群中随机挑选的第 只水母当前迭代位置, 分别表示第 只水母在当前迭代位置的适应度值;
步骤45,根据clip函数修正水母位置:
,
其中, 表示修正后的水母位置, 分别表示位置的最小和最大允许值;
步骤46,判断当前迭代次数 与阈值常数 的大小,若当前迭代次数 小于阈值常数 ,则继续迭代,否则输出超参数的最优值。
7.根据权利要求6所述的基于分布式存储自适应OATS‑AJSA改进GRU湿度预测方法,其特征在于,所述步骤41的具体过程如下:步骤411,确定种群数量、搜索半径和种群初始化策略这三个参数的参数范围,根据参数范围选择L16正交表填写种群数量、搜索半径和种群初始化策略这三个参数的不同组合;
步骤412,对L16正交表的每种组合进行ASJA实验,选择实验结果最优时对应的组合作为种群数量、搜索半径和种群初始化策略这三个参数的最优组合,即人工水母搜索算法的最佳参数。
8.一种计算机设备,包括存储器、处理器,以及存储在所述存储器中并能够在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述的基于分布式存储自适应OATS‑AJSA改进GRU湿度预测方法的步骤。
9.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的基于分布式存储自适应OATS‑AJSA改进GRU湿度预测方法的步骤。