1. 引言
日均气温是指一天24小时内的平均气温,是衡量气候特征的重要指标之一。日均气温的计算方法主要有三种:第一种是4个定时平均法,选取一天中的02时、08时、14时和20时4个时间点的气温,求它们的平均值;第二种是日最高最低平均法,通过当天的最高气温和最低气温相加后除以2,得到平均气温;第三种是24小时平均法,取全天24个小时的气温相加后除以24,得到平均值。日均气温在气象学、农业生产和能源消耗等多个领域具有重要的参考价值,通过其变化分析可以更好地预测气候趋势。
随着人工智能的高速发展,机器学习在气温方向的研究也越来越多,阮仕娟等人[1]在2024年分析了成都市气温与伤害120直接的关联信息、方雯等人[2]研究了夏季气温、湿度与人意外死亡之间的关联、李哲源等人[3]在2024年利用函数数据研究了日均气温对冬小麦单产的影响、陈宇[4]在2024年分析了日均气温对镇江居民寿命的影响、白梅等人[5]分析了气温对丹东市居民的心脑血管疾病的影响、王冬萌等人[6]在2024年研究了改进麻雀算法对气温的预测、邓巧玲[7]利用改进的自回归理论预测了温度的变化、武双新[8]在2021年利用LSTM模型对气温展开了预测研究。
青岛市是中国北方海滨城市,位于山东半岛东南部。青岛以其美丽的海滨风光和独特的历史文化闻名,是一座兼具现代化和传统韵味的城市。它拥有绵延的海岸线、洁净的沙滩,以及多样的自然景观,是著名的旅游胜地。青岛的气候为温带季风气候,夏季凉爽宜人,是避暑的好去处。青岛还是中国重要的港口和工业城市,工业基础雄厚,特别是啤酒制造业闻名全国,享有“啤酒之城”的美誉,每年举办的青岛国际啤酒节吸引了大量国内外游客。作为山东半岛的经济中心之一,青岛在科技、教育、交通等方面也取得了显著的发展,是一座充满活力的现代化城市。同时,青岛的旅游业也十分发达,每年旅游旺季,青岛的旅游搜索基本都在全国前十[9],足见国人对青岛的热爱,但是青岛的年平均气温约为12.7℃,气温有时会起伏不定,也会降到零下,因此对气温做好预测显得尤为重要,旅客可以根据预测出来的数据,做足攻略,准备好相应的物资,为旅行带来更好的体验。准确的气温预测可以帮助旅客在出行前合理安排行程,选择合适的穿衣搭配,特别是在冬季寒冷时节,合理选择保暖衣物,避免受到低温天气的影响。此外,气温的预测对于参加户外活动、景点游玩等也具有重要参考价值。无论是参加青岛的海滨活动,还是体验啤酒节的热闹气氛,提前了解气温变化可以帮助游客更好地适应当地气候,享受旅途的每一个细节,提升整个旅行的舒适度和安全性。因此,基于以上信息本文提供了一种高精度的ISSA-CNN-LSTM算法。
2. 方法介绍
2.1. SSA算法[10]
SSA算法(麻雀搜索算法)是一种新型的智能优化算法,受到麻雀觅食和反捕食行为的启发。算法的基本思想是将麻雀种群的觅食行为抽象为一个检测器模型,并引入侦察和警报机制来优化搜索过程。与PSO (粒子群优化)、WOA (鲸鱼优化算法)和CSA (蝴蝶优化算法)等经典优化算法相比,SSA算法具有更快的收敛速度和更强的优化能力。
该算法的基本流程如下:
1) 初始化种群,并设置迭代次数以及捕食者和参与者的比例。
2) 计算每个个体的适应度值并进行排序。
3) 通过特定的公式调整和更新个体的位置,以模拟麻雀在搜索过程中的反捕食行为和觅食策略。基本公式如下:
更新捕食者的位置,其中
为安全值,
为预警值。
4) 利用下式
更新加入者的位置,其中n是加入者的数量。
5) 利用下式
更新警戒者的位置。
6) 计算适应度值并更新麻雀位置。这里的i表示被识别为面临危险的麻雀数量。
7) 判断是否满足终止条件,若满足则退出并输出结果;反之则返回执行第二步。
2.2. 卷积神经网络(CNN)
卷积神经网络(CNN)是一种用于从一维序列数据中自动提取特征的深度学习模型,尤其适用于单变量时间序列数据(见图1)。其主要结构由以下几层组成:
1) 输入层:负责接收和预处理数据,将原始数据转换为适合网络处理的格式。
2) 卷积层:通过卷积运算提取数据中的局部特征。卷积层通过滤波器(或称卷积核)扫描输入数据,从而提取重要的局部信息,如时间序列数据中的周期性模式。
3) 池化层:通过下采样操作减小特征图的维度,减少计算量,防止过拟合,并压缩数据和参数。池化层通常位于连续卷积层之间,常见的池化方法包括最大池化和平均池化。
4) 全连接层:将卷积和池化后的局部特征转换为全局特征,通过降低维度来减少计算量,使网络更高效。在这一层中,所有神经元与前一层的神经元相连接,从而对输入数据进行全局性建模。
5) 输出层:根据网络的任务输出最终结果。例如,在分类问题中,输出层会生成类别标签;在回归问题中,输出层提供预测值。
CNN的核心优势在于其能够通过参数共享和局部连接有效减少训练时所需的参数数量,同时保持良好的模型性能。这使得CNN在处理大规模数据时既高效又能够避免过拟合。然而,由于CNN缺乏生物学背景支持,其无法具备记忆功能,并且在全连接模式下可能导致冗余和低效。此外,尽管CNN在特征提取方面表现优异,但它在特征理解上存在一定的局限性。
为了克服这些不足,研究者提出将CNN与长短时记忆网络(LSTM)结合,形成混合模型CNN-LSTM。在这种模型中,CNN负责从输入的子序列中提取局部特征,而这些提取的特征序列随后被传递到LSTM中进行进一步处理,从而提高模型对时序数据的建模能力和长时记忆效果。
Figure 1. Schematic diagram of CNN
图1. CNN示意图
2.3. LSTM模型
LSTM(长短时记忆网络)是一种改进的循环神经网络(RNN),旨在解决传统RNN在处理长序列数据时常见的梯度爆炸和梯度消失问题。LSTM通过引入细胞状态[11]和门控机制(输入门、遗忘门和输出门)来调节信息的存储与更新,从而有效捕捉长期依赖关系。输入门决定信息的更新量,遗忘门控制需要遗忘的信息,输出门决定影响输出的部分。细胞状态在整个序列中得以传递和更新,使得LSTM能够更好地保留和处理长时间依赖的信息。通过这些机制,LSTM增强了序列数据的记忆和推理能力,避免了传统RNN的缺陷(见图2)。
式中,
代表遗忘门Sigmoid层的输出向量;
代表更新记忆细胞信息的向量;
代表输入门神经网络层的输出向量;
代表输出门神经网络层的输出向量;
代表遗忘门、输出门、更新记忆细胞状态层及和输出层的偏移量;
代表4个神经网络层权重;
分别表示Sigmoid函数和双曲面正切函数;
表示记忆状态,结合输出门信息;
得到当前LSTM单元输出的隐藏状态
。
Figure 2. LSTM model diagram
图2. LSTM模型图
3. 改进麻雀搜索算法
3.1. 种群初始化改进[12]
为提高种群的多样性,避免初始种群集中在某一局部区域,采用了Cat映射进行初始化。Cat映射通过基于混沌理论的初始化扰动方法,能够生成具有良好分布性的随机种群,避免标准随机初始化可能导致的搜索空间覆盖不均匀问题。其数学本质是通过对初始种群引入高频扰动项,促使种群更快速地探索全局解空间,从而提高算法的多样性和全局收敛能力。其中Cat映射中的参数取值是通过实验优化确定的,实验过程中对参数空间进行网格搜索,找到使种群分布均匀性最优的参数组合。同时,参考混沌理论中Cat映射参数的常见取值范围为[0, 1],以确保映射结果在实际计算中具有较高的数值稳定性。
3.2. 比例系数改进
为了更好地平衡全局探索与局部开发,在本算法中引入了动态比例系数r,该系数根据当前的迭代次数进行调整。具体而言,探索者与开发者的比例会随着迭代进程动态变化。在算法的初期,比例系数较大,使得更多个体进行全局探索;而在后期,比例系数逐渐减小,转而增强局部开发。该比例系数r的计算公式如下:
其中q是比例系数的最大值,k是扰动因子,i为当前的迭代次数,
为最大迭代次数,rand为[0, 1]之间的随机数。r的值随着迭代次数的增加逐渐减小,从而实现从全局探索到局部开发的平滑过渡。
3.3. 探索者位置改进
3.3.1. 发现者(探索者)位置更新
为了增强探索能力,针对发现者的位置更新公式进行改进。位置更新时,采用了一个指数衰减的更新策略,该策略能够在初期保持较大的搜索幅度,而随着迭代的进行,逐渐减小搜索幅度,从而更精细地探索解空间。公式如下:
3.3.2. 加入者位置更新
对于加入者的更新,采用了随机扰动和基于局部最优解的修正策略。加入者在探索时,会根据当前个体的位置与最优解的位置差异,做出一定的调整,增强局部优化能力。公式如下:
其中
为标准正态分布随机数,用于增加扰动,
当前最优解位置。该更新策略使得加入者能够快速聚集到局部最优区域,进行精细化搜索。
3.4. 扰动方法改进:柯西变异和Tent扰动
Cat映射和Tent扰动的结合能够在算法的不同阶段发挥协同作用,在初始阶段,Cat映射通过高频扰动帮助算法快速覆盖解空间。随后的中后期阶段Tent扰动增强对局部解的搜索精度。这种协同作用通过减少种群的收敛时间,同时提高解的准确度,显著增强了SSA算法的全局搜索和局部优化能力[13]。其中Tent扰动参数的选取通过模拟实验进行优化,同时结合文献中对混沌映射的相关研究[14]。在实验中,选择参数范围为[0, 1],并通过灵敏度分析确定最佳扰动幅度。
3.4.1. 柯西变异[15]
柯西变异通过引入长尾分布的随机数进行扰动,能够在较大的范围内跳跃,从而增加搜索空间的探索性,因此柯西变异能够有效地避免个体陷入局部最优解具体的变异,公式如下:
3.4.2. Tent扰动[16]
Tent扰动是一种基于混沌映射的非线性扰动方法,它通过在解空间中产生不规则的跳跃,进一步增加搜索的多样性。其更新公式如下:
其中,
为[0, 1]之间的随机数,
为根据Tent映射生成的扰动。
4. ISSA-CNN-LSTM模型
选用基于改进的麻雀算法优化卷积神经网络-长短期记忆网络的模型来进行回归预测。通过ISSA算法对CNN-LSTM模型的参数进行优化,主要是为了改善传统SSA算法的缺点,提高模型的准确度。采用的组合模型结构见图3。
Figure 3. ISSA-CNN-LSTM model
图3. ISSA-CNN-LSTM模型图
5. 实验结果与分析
5.1. 数据来源
青岛市气象逐日数据来源于中国气象数据网,其中包括相对湿度、平均海平面压强、最高温度、降水量、平均温度、最低温度、平均露点,时间节点为2014年1月1日到2024年1月14日。
5.2. 数据预处理
为了保证实验数据的质量并提高算法的准确性,本研究对数据进行了系统的预处理。首先对于数据中存在的缺失值,采用均值填补方法进行处理。即,对于每个变量的缺失值,用该变量的均值进行替代,从而确保数据完整性,避免因缺失值导致的计算错误。此外,对于极少量的异常值,根据其上下文信息,采用线性插值法进行修正。同时对所有变量进行了Z-score标准化处理。
5.3. 评价指标
使x用平均绝对误差MAE、决定系数R2、和均方误差MSE三种评估指标来对模型的预测效果进行评估。其公式如下:
其中n为数据长度,
和
为第i次的实际值,
为真实值的平均值。
5.4. 实验比较
将处理后的数据按7:3的比例划分为训练集和测试集,并对ISSA-CNN-LSTM模型进行训练,见图4。图像显示,无论是训练集还是测试集,预测曲线与真实值波动趋势基本一致,平均温度指数的预测值与真实值非常接近,表明该模型具有较小的预测误差和较高的精度。为了验证ISSA-CNN-LSTM模型在平均温度指数预测中的优势,进行了对比实验,比较了ISSA-CNN-LSTM与SSA-CNN-LSTM和WOA-LSTM模型。所有模型的隐藏层激活函数均使用Tanh函数。见图5和图6,图像显示SSA-CNN-LSTM和WOA-LSTM模型的预测精度均低于ISSA-CNN-LSTM模型,进一步证明了ISSA-CNN-LSTM在该任务中的优越性能。
表1分别记录了三种模型的MAE、R2和MSE指标。
从表1中可以看出,ISSA-CNN-LSTM模型在所有评价指标上表现最好,其MAE (1.3102)、MSE (3.7483)和R2 (0.9942)均优于SSA-CNN-LSTM和WOA-LSTM模型。这表明ISSA-CNN-LSTM模型在降低预测误差和提高拟合精度方面具有显著优势,特别是在MSE方面,显著低于其他两种模型,表明其对极值误差的处理能力更强。此外,所有模型的R2值均接近1,说明它们都具有较高的拟合精度,但ISSA-CNN-LSTM的性能依然最优,适合作为最终预测模型。
Figure 4. Prediction effect of ISA-CNN-LSTM model
图4. ISSA-CNN-LSTM模型预测效果图
Figure 5. Prediction effect of SSA-CNN-LSTM model
图5. SSA-CNN-LSTM模型预测效果图
Figure 6. Prediction effect of WOA-LSTM model
图6. WOA-LSTM模型预测效果图
Table 1. Model evaluation indexes
表1. 模型评价指标
评价指标 |
ISSA-CNN-LSTM |
SSA-CNN-LSTM |
WOA-LSTM |
MAE |
1.3102 |
1.7143 |
1.5955 |
MSE |
3.7483 |
4.8214 |
4.4337 |
R2 |
0.9924 |
0.9870 |
0.9826 |
6. 结语
通过对青岛市数据的仿真实验,得出了以下结论:
1) 在对平均温度指数进行预测时,传统的长短期记忆网络(LSTM)需要根据经验调整参数,这一过程耗时较长且精度不尽理想。
2) 改进的麻雀搜索算法(ISSA)不仅弥补了传统麻雀搜索算法的不足,提升了时效性,还能够有效捕捉LSTM模型可能遗漏的信息,从而最大限度地提高预测结果的精度。
3) 提出的ISSA-CNN-LSTM模型与其他两种对比模型(SSA-CNN-LSTM和WOA-LSTM)进行比较后,结果显示,ISSA-CNN-LSTM模型的评价指标值均表现最佳,证明了其在平均温度指数预测中的优越性。综上所述,ISSA-CNN-LSTM模型能够提供更为精确的预测结果,为实际应用中的温度指数预测提供了可靠的模型支持。