买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!
申请/专利权人:复旦大学
摘要:本发明属于人工智能时间序列预测技术领域,具体为一种提升时间序列预测系统预测时间序列效果的方法。本发明基于时间序列预测损失上的理论分析,设计新的时间序列预测算法,该算法建模历史数据模式与未来数据模式上的差异,提出两步走的训练方式,一方面保证模型对历史数据的记忆不会轻易消失,另一方面保证在未来数据上有较好的预测效果。理论分析与实验验证表明,在时间序列预测任务中,本发明预测方法相比于其他方法,可以有效缓解由于数据随时间的变化即概念漂移而导致的模型老化问题;可以进一步提升模型的预测准确率。本发明能够广泛应用于各类基于实数值的时间序列预测任务,提升任务在未来数据点上的预测准确度。
主权项:1.一种提升时间序列预测系统预测时间序列效果的方法,是基于概念漂移建模技术的;其中,所述时间序列预测系统包括:若干个架构相同的时间序列预测模型,一个用于时间序列数据相似度评估的时间序列分类模型,以及若干条长度相同的时间序列数据;这里,所述时间序列数据是一组按照发生时间先后顺序进行排列的数据点序列,其中每个数据点表示为一个实数;该时间序列预测系统预测的基本流程为:时间序列预测模型以一组长度固定的时间序列作为输入,输出接下来一个时间点或几个时间点的数据点预测值;其中,作为输入的固定长度时间序列称为过去数据;在接下来一个时间点或几个时间点的真实值称为未来数据;时间序列预测系统基于过去数据输出的接下来一个时间或几个时间点的数据点称为预测结果;时间序列预测系统的目标为使得预测结果与未来数据的差距尽可能地小;其中,所述若干个架构相同的时间序列预测模型用于属于不同类的时间序列的概念漂移建模以及未来数据预测;所述时间序列分类模型为一个循环神经网络模型,该循环神经网络的最后一个时间节点的输出用于计算某条时间序列属于某一个类的概率,用于对时间序列预测系统中所有的时间序列进行分类;所述若干条长度相同的时间序列用于分类,然后在同一个类的时间序列数据上使用时间序列预测模型拟合历史数据并建模概念漂移;利用基于REINFORCE规则的端到端训练框架学习所有时间序列预测模型和时间序列分类模型;所述方法具体包括:1首先,作为时间序列模型输入的过去数据与未来数据之间存在差异,定义这种差异为概念漂移;将每条时间序列的过去数据划分为历史数据和新数据;其中历史数据和新数据的总长度和过去数据的总长度相同;并将每条时间序列数据的过去数据输入给时间序列分类模型,得到该时间序列的类标签;2然后,标签属于同一类的时间序列数据共享同一个时间序列预测模型,并用该时间序列预测模型在属于该类的所有历史数据上进行数据拟合,并通过拟合误差计算得到各个中间时间序列预测模型参数;这里,拟合误差也为历史数据损失函数;3使用中间时间序列预测模型参数对相应类中的时间序列数据的新数据进行拟合,计算拟合误差,将其记为新数据损失函数;若拟合误差较大,则说明历史数据和新数据之间发生了概念漂移;4使用历史数据损失函数和新数据损失函数共同更新相应的时间序列预测模型参数;5最后,用每条时间序列的历史数据损失函数和新数据损失函数的类概率加权总和来更新时间序列预测模型;对时间序列预测模型和分类模型的训练是一个端到端的训练过程,即该过程无需分阶段进行;在所有时间序列预测模型和分类模型都收敛后,系统中的每一个条时间序列可使用相应的时间序列预测模型进行预测;鉴于分类模型和预测模型在训练之后才能使用,于是所述方法的具体操作步骤分为:系统训练步骤和系统测试步骤;其中,系统训练步骤为学习时间序列预测系统中所有参数;系统测试步骤为具体使用时间序列预测系统来输出持续输出未来数据;一系统训练:步骤一、划分训练数据集:将训练集中的时间序列数据沿时间轴按照历史数据和新数据进行划分;设时间序列预测系统中共有N条时间序列,对于任意一条时间序列数据x1,x2,…,xt,其中,tT,选定参数T与K,其中,序列的前T个数据构成的子序列为历史数据,T+1到T+K个数据构成的子序列为新数据,记为xT+1,x2,…,xT+K;选定所有时间序列数据的类别总数为C;步骤二、初始化模型:在系统训练开始之前,初始化预测模型与分类模型:2.1初始化预测模型:选定C个预测模型,每个时间序列预测模型定义为其中,c∈{1,…,C},φc表示第c个预测模型的待求解参数;在每个时间点t,该模型的输入为输出为其中,该输出表示模型基于t个时间点对第t+1时间点数据的预测;使用高斯随机值来初始化φc中的所有待求解参数;2.2初始化分类模型:选定的时间序列分类模型由两个部分组成:循环神经网络模型和单层全连接网络;其中,所述循环神经网络模型,其计算单元为以Relu函数为激活函数的多层全连接神经网络;在每个时间点t,该循环神经网络的输入层维度为其输出维度为向量该输出向量表示循环神经网络对于前t个时间点数据信息的压缩;所述以Relu函数为激活函数的单层全连接神经网络,其输入为循环神经网络在第T个时间点的输出向量输出向量维度该向量的每一维数值表示当前时间序列属于该维代表的类c的概率;由这两个模块组成的时间分类模型记为gθ,其中θ为以上两个模块中的所有待求解参数,其最终输出记为:gθx1:T;使用高斯随机值来初始化θ中的所有待求解参数;步骤三、拟合历史数据:3.1获取每条时间序列的分类信息:将训练数据集中的每条时间序列的历史数据x1,x2,…,xT输入到时间序列分类模型gθ中,获得分类模型的输出gθx1:T,并取概率值最大的维度c作为该时间序列的类别,即,c=argmax1,..,ChC,3.2拟合每条时间序列历史数据:根据3.1中得到的每条时间序列类别c,选择第c个类别对应的预测模型φc为该条时间序列的预测模型,将每条时间序列的历史数据x1,x2,…,xT输入到该预测模型中,得到预测结果o1,o2,…,oT;步骤四、识别是否发生概念漂移,具体使用新旧模型参数在新数据上的损失函数差距来识别是否可能发生了概念漂移:4.1获取中间模型参数:根据步骤三拟合得到的历史数据,计算所有训练数据集中时间序列的历史数据拟合误差,也称为历史数据损失函数,记为 其中,yt=xt+1;根据拟合损失函数使用梯度下降方法更新所有的预测模型φc,记为: 其中,α为更新参数时学习率,为人工提前设定;定义φc′为历史拟合模型;4.2基于模型中间参数在新数据上的拟合效果来识别是否发生了概念漂移:基于概念漂移的定义,概念漂移通过模型在新数据上的拟合效果来反映;如果在历史数据上拟合好的模型在新数据上拟合的误差很大,则认为出现了概念漂移;给定新数据xT+1,x2,…,xT+K,使用历史拟合模型φc′的拟合,记拟合损失函数为也称为新数据损失函数: 其中,若的值很大,说明发生概念漂移,那么在历史数据上拟合得到的模型将不适用于新数据的预测;步骤五、根据拟合历史数据的损失和概念漂移,更新时间序列预测系统的所有参数:5.1鉴于建立概念漂移的目的是为了最小化模型在新数据上的拟合损失函数,所以提出最小化拟合新数据的损失函数;另外,为了不使得预测模型遗忘对历史数据的拟合,所以同时也最小化拟合历史数据的损失函数;最终,使用两种损失函数来更新预测模型参数;5.2更新预测模型参数:使用拟合历史数据的损失函数和历史拟合模型在新数据上的损失函数来更新相应的预测模型参数φc,更新方式为梯度下降,记为: 其中,β为更新参数时的学习率,为人工提前设置;5.3更新分类模型参数:由于在训练数据集中并没有时间序列属于那个类的真实标签,为了能更新分类模型参数,通过REINFORCE规则来为分类模型计算目标函数,该目标函数用于计算更新分类模型参数的梯度;基于REINFORCE规则计算的目标函数为: 其中,为训练集中第i条时间序列;更新分类模型参数θ的方式为梯度下降,记为: 其中,β为更新参数时的学习率,为人工提前设置;步骤六、在完成以上步骤中所有参数的更新后,继续执行步骤三~步骤五一共E轮次,训练轮次为人工提前设置,或当所有预测模型的参数几乎不发生变化的时候,结束训练步骤;结束训练步骤时时记录下训练集中所有时间序列的分类模型的分类结果,记为ci;二系统测试:给定训练集中的任意1条或N条时间序列,预测1个或K个未来其未来数据;步骤一:根据系统训练步骤的步骤六中得到的标签ci,选择相应的预测模型步骤二:给定时间序列数据将其依次输入给预测模型2.1若仅需要t+1时间点的预测结果,则取出预测模型的第t时刻的输出;2.2若需要t+2至t+K时间点的预测结果,则将t+1再作为输入,输入给得到下一时刻的预测结果。
全文数据:
权利要求:
百度查询: 复旦大学 一种提升时间序列预测系统预测时间序列效果的方法
免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。