- DOI:
10.13738/j.cnki.acc.qklw60536
- 专辑:
科学Ⅰ辑;信息科技
- 专题:
信息、科学;综合科技
- 分类号:
G90;N92
摘要:为提高昔阳本地年降水量预测的准确性,本文运用TimeGPT大模型对昔阳县年降水量进行以后降水量预测,运用MAE和MSE对该模型与其他模型进行评估探讨。本次对TimeGPT模型研究使用提高了气象局业务人员昔阳县年降水量预测的能力,为昔阳县气候预测准确率的提升提供了重要的手段。
关键:TimeGPT,降水量预测,大模型
0 引言
准确的年降水量预测对水资源的合理开发利用及洪涝灾害的预测和防治具有重要意义。针对传统降水预测方法信息挖掘能力不足的问题,提出了使用TimeGPT大模型利用已经大量数据训练好的模型进行降水的预测。目前对年降水量预测的主要方法主要是建立和使用数学模型,如线性回归、ARIMA、支持矢量机(SVM)、VMD-TCN、神经网络、小波分析等人工智能模型对降水量进行预测分析。其中人工神经网络一直是气候预测的一种重要手段,以前的BP神经网络在时间序列分析中,不能把未来的数据与过去的数据的相关性体现出来,而随着过去几年机器学习的兴起,近年来出现的Transformer模型能很好地把这种相关性体现出来。TimeGPT是美国Nixtla开发的用于预测任务的生成式预训练的Transformer模型,具有自我关注机制和特征的时间序列,由多层编码器-解码器结构组成,每个结构都具有残差连接和层归一化。TimeGPT模型在历史上最大的数据集上进行了训练,包含超过1000亿条的金融、天气、能源和网络数据,我们可以直接使用该模型进行降水量的预测。在降水量气象预测方面,谢劭峰[1]等人基于小波分解与GA-LSSVM的GPS可降水量短临预报进行了研究,余胜男[2]等人利用随机森林的模型对降水量长期预报中的应用进行了探讨。在气象领域可以利用TimeGPT模型可以有效地预测本地年降水量的变化趋势,为本地的农业、生态环境、政府决策等提供更优质的气象服务。
1 数据处理
模型使用的数据主要是昔阳县国家气象观测站1958-2023年历年年总降水量数据,运用Python编程语言工具库通过“天擎”系统提供的数据接口获取年降水量数据并以CSV文件的格式进行存储。获取的气温数据主要是时间、年降水量等两列数据,同时用Pandas库对对其中缺测、异常的数据进行整理,同时对时间列数据进行时间格式化处理,便于TimeGPT模型后期使用操作,保证数据使用的质量,增强模型预测的准确性,最后对获取的数据进行分割使用(70%的数据进行训练,30%的数据用于测试),生成最后的分析数据序列。
2 模型原理
TimeGPT利用基于Google和多伦多大学在2017年的开创性工作的自注意力机制的Transformer架构。该模型的输入可以包含一窗历史数据,以及外生数据,比如一次性事件或另一个时间序列。输入被馈送到模型的编码器部分。编码器内部的注意力机制从输入中学习不同的属性,然后将其馈送到解码器,解码器使用使用学到的信息生成预测序列。当达到用户设置的预测时间范围的长度时,预测序列就结束了。TimeGPT是一个预训练模型,可以在没有训练的情况下生成预测,也可以对模型进行微调以适应预测数据。TimeGPT模型支持用于预测目标的外生变量,并且可以处理多变量预测任务。最后,通过使用符合性预测,TimeGPT可以预测区间,可以反过来执行异常检测。TimeGPT在训练过程中,使用了规模最大的公开时间序列数据集,该数据集包含了高达1000亿个数据点,覆盖了金融、经济等多个领域。这个数据集的特点在于其多样性,包含了多种时间模式、季节性、周期和趋势,同时也存在噪声和异常值。我们滚动预测以估计模型预测特定目标时间序列的误差。其原理如下:
图1 TimeGPT模型原理图
3 模型使用预测
从nixtla官网上申请TimeGPT使用API的Token,我们基于Python语言使用访问TimeGPT,使用如下命令导入nixtla库文件:
pip install nixtlats
导入库之后,开始编写代码预测,代码如下:import pandas as pd
from nixtlats import TimeGPT
token = '申请的API Token'
timegpt = TimeGPT(token=token)
df = pd.DataFrame()
df = pd.read_excel('PRE_Time_0808_year.xls')
train = df[:-50]
test = pd.DataFrame()
test = df[-16:]
timegpt_preds = []
for i in range(1, 65):
timegpt_preds_df=timegpt.forecast(df=df.iloc[:3+i],time_col='Year',target_col='PRE_Time_0808', h=1)
yearL.extend(timegpt_preds_df['Year'])
timegpt_preds.extend(timegpt_preds_df['TimeGPT'])
先将数据分成两部分,前50年数据作为训练数据,后16年数据作为测试数据,以三年为一步,滑动移步预测每年的降水量,其最终预测效果图如下:

图2 预测结果折线图
4、模型对比分析
在相同的输入-输出设置下,与NHITS、NBEATS、PatchTST等模型对比 ,其运行误差对比结果如下
误差 模型 | MAE | MSE |
NHITS | 0.26 | 53.46 |
NBEATS | 0.31 | 54.37 |
PatchTST | 0.28 | 53.91 |
TimeGPT | 0.24 | 51.57 |
表1 模型运行对比图
从对比表可以看出TimeGPT模型的MAE、MSE整体的误差系数是小于其他模型的,取得了较好的效果,所以TimeGPT模型与其他模型相比,在降水量预报上有较大的优势。
5.结论与讨论
(1)基于TimeGPT模型使用年降水量数据进行预测,与其他深度学习模型相比,误差率较低,运行效率高,该模型的使用极大地丰富了基层气候预测的手段,非常具有实用性,在将来可以将数值预报与TimeGPT模型预报相对比结合使用,提高基层台站的 年预报准确率。
(2)与深度学习模型对比来看,TimeGPT模型有准确率较高,但降水量的预测受外部物理因素、天气动力等影响较大,模型缺少内在的大气动力、气象学等理论基础支撑,将来可以考虑把气压、日照、变压、变温等多物理要素因子加入到模型中进行降水量预测,进一步提高模型预报的准确率。
(3)在模型训练中只使用1958年至今的年降水数据进行预测,今后将加入其他区域的气象数据资料加入到模型中进行训练从而提高模型的预报准确率,充分提高基层预报员的预报分析能力。
(4)TimeGPT是用于时间序列预测的第一个基础模型。它利用Transformer架构,经过预训练,使用来自1000亿数据点的零样本推理能力。该模型结合了符合预测技术,该模型可以生成预测区间,并在没有对特定数据集进行训练的情况下执行异常检测。由于我们不知道TimeGPT模型使用了那些数据,我们无法验证这些指标。在模型是如何训练的以及如何适应处理时间序列数据方面,缺乏透明性。
参考文献:
[1] 谢劭峰,苏永柠,刘春丽,刘立龙等.基于小波分解与GA-LSSVM的GPS可降水量短临预报[J].大地测量与地球动力学,2019(39):487-491
[2] 余胜男,陈元芳,顾圣华,康有,贺冉冉等.随机森林在降水量长期预报中的应用[J].南水北调与水利科技,2016(14):78-83
[3] 何慧,金龙,覃志年,袁丽军等.基于BP神经网络模型的广西月降水量降尺度预报[J].热带气象学报,2007(1):72-77
[4] 徐冬梅,王亚琴,王文川等.基于VMD-TCN的月降水量预测模型[J].水文,2022,42(02):13-18
[5] 孙俊奎,王将,康道俊.基于BP神经网络-SARIMA组合模型对气象要素预测与天气多因子期权的估值.投资研究,2018,5:82-97
[6] 余胜男,陈元芳,顾圣华,康有,贺冉冉等.随机森林在降水量长期预报中的应用.南水北调与水利科技,2016,14(01):78-83
[7] 陈欣影,丛源,钱池.基于随机森林原理的郑州汛期降水量预报.农业灾害研究,2022,12(09):151-153
[8] 刘洪笑,向勉,周丙涛等.基于Informer的长序列时间序列电力负荷预测.湖北民族大学学报(自然科学版),2021,39(03):326-331
作者简介:乔显栋(1984.09)男,汉,山西昔阳人,本科学历,工程师,从事研究方向或职业:地面气象观测
相关文献推荐
- 节点文献
- 读者推荐
- 相关基金文献
- 关联作者
- 相关视频
- 批量下載
