基于ANN的时序预测模型及其在统计中的应用,本文主要内容关键词为:时序论文,模型论文,ANN论文,此文献不代表本站观点,内容供学术参考,文章仅供参考阅读下载。
中图分类号:TP18文献标识码:A
前言
统计分析是数据挖掘的内容之一。数据挖掘(DM,Data Mining)是从大量的、不完全的、有噪声的、模糊的、随机的数据中,提取隐含在其中的、人们事先不知道的、但又是潜在的有用信息和知识的过程[1,2]。数据挖掘涉及的学科领域和方法很多,根据挖掘任务,可分为预测模型发现、数据总结、聚类、关联规则发现、序列模式发现、依赖关系或依赖模型发现、异常和趋势发现等[3]。时序数据挖掘就是挖掘时序数据中潜在的有用的知识或信息,或者说,在一定的知识经验的指导下,从历史时序数据中寻找内在规律并建立模型,据此预测未来的趋势,以提供决策支持。
时间序列是指按时间顺序取得的一系列观测值。从经济到工程技术,从天文到地理,几乎在各个领域都会遇到时序数据。统计部门收集的统计数据就是典型的时序数据。面对这些数据,我们想找到行之有效的方法或技术来揭示这些数据内部所隐藏的知识或信息。从事国民经济预测与发展的科研人员,想从日积月累的统计数据中寻找有用的信息,为政府决策提供可靠的依据;股票经纪人想从某一种股票每日收盘价的历史记录中发现其变化规律,以预测该股票未来行情走势等等。研究、探索新技术和新方法,把历史时序数据转化为对人类有用的知识和信息,已经越来越受到人们的关注。本文探讨关于时间序列的建模技术和方法。
人工神经网络(ANN)具有并行分布的信息处理结构,通过对非线性函数的复合来逼近输入和输出之间的映射关系。它不需要设计任何数学模型,只靠过去的经验来学习,主要基于所测量的数据对系统进行建模。这种基于数据-驱动方法(data-driven approach)对于数据产生过程中没有具体的理论指导的统计数据来说是比较适合的。关于神经网络在预测上的应用研究方面,Wedding[5]提出使用径向基函数网络与Box-Jenkins模结合,Peliken[4]则提出联合使用多个前馈神经网络,可以提高关于时间序列预测的精度。本文提出基于人工神经网络(ANN)的时序预测模型。
一、基于ANN的时序模型
只有一个隐藏层的BP神经网络在时序建模和时序预测上有着广泛的应用前景。神经网络的特点是不需要设计任何数学模型,只靠过去的经验来学习,基于观测数据进行建模、估计和逼近。本研究选用只有一个隐藏层(如图1(图略,见原文)所示,拓扑结构为(n,p,l))的三层BP网络作为ANN时序预测模型建模网络,其中,输入层有n个结点,隐藏层有p个结点,输出层只有1个结点。
模型(1)确定的网络结构虽然简单,但只要隐藏层的结点足够大,就可以拟合任意给定的函数[6],关键是如何确定输入层结点数和隐藏层结点数,即如何设计神经网络拓扑结构(n,p,l),以及对网络进行训练和测试。网络结点数对网络的泛化能力有很大的影响,结点数太多,它倾向于记住所有的训练数据,包括噪声的影响,反而降低了泛化能力;而结点数据太少,它又不能拟合样本数据,因而也谈不上有较好的泛化能力。选择结点数的原则是:选择尽量少的结点数以实现尽量好的泛化能力。其次是对网络进行训练和测试。训练的目的在于找出蕴含在样本数据中的输入和输出之间的本质联系,从而对于未经训练的输入也能给出合适的输出,避免“对训练样本拟合程度高而对样本之外不具备泛化能力”的情况发生,使训练后的网络具备较好的泛化功能。因为网络的性能不是用对训练数据的拟合程度来衡量,而是用它的泛化能力来衡量。这需要用一组独立的数据来加以测试和检验的。
本文,我们以拓扑结构为(6,4,1)的BP神经网络构建时序预测模型,即n=6,p=4。
二、模型的构建及测试
本研究以南宁市人口自然增长率时序数据为例子,具体构建了基于ANN预测模型,并对模型的性能加以检验。具体操作方法:选取表1中1963年至1993年共31个数据用于训练ANN预测模型,选取表1中1994年至2002年共9个数据用于测试、检验ANN预测模型的性能,即检验模型的预测精度。
表1 南宁市人口自然增长率及预测模型性能表
年份 自然增长率(‰) 模型输出值(‰) 预测误差
196334.45
196427.98
196529.33
196627.86
196723.88
196824.52
196927.7927.8539-0.0639
197024.5424.42040.1196
197124.4024.4255-0.0255
197223.0422.96480.0752
197323.2823.3319-0.0519
197422.2822.23820.0418
197519.9620.4465-0.4865
197618.4418.5079-0.0679
197717.3117.17050.1395
197816.3616.31820.0418
197916.2816.15680.1232
198016.6416.6595-0.0195
198118.5718.05840.5116
198215.4515.42730.0227
198313.3013.3315-0.0315
198416.2016.2185-0.0185
198514.0414.1014-0.0614
198614.2214.5008-0.2808
198712.2412.21720.0228
19888.88 8.8487 0.0313
198913.2513.18560.0644
19908.19 8.3061-0.1161
19916.57 6.6657-0.0957
19927.58 7.6143-0.0343
19936.14.
5.95500.1850
19944.94 4.77480.1652
19955.37 5.7137-0.3437
19964.92 5.6514-0.7314
19974.66 4.57500.0850
19986.04 5.63530.4047
19995.79 5.62600.1640
20005.625.6250-0.0060
20014.635.6259-0.9959
20024.995.6172-0.6272
根据南宁市人口自然增长率时序数据,我们构建的模型为:
测试、检验模型性能的具体情况如表1所列。从1994年至2002年9个测试数据上可以看出:模型对这9年人口自然增长率进行预测的误差绝对值最小为0.0060,最大为0.9959。从1994年至2000年的7年当中,预测误差绝对值大于0.5的只有1996年,这说明了模型预测的精度还是相当高的,模型的性能良好。另一方面,模型对2001和2002年这两年的预测误差绝对值均大于0.5,这也说明了模型的预测年限不宜太长。
三、结论
建立时序预测模型是数据挖掘的任务之一,而统计分析也是数据挖掘的内容之一。本文作者利用ANN可逼近任意非线性映射关系的特点,提出了基于ANN的时序预测模型。以南宁市人口自然增长率时序数据为例构建了预测模型,并对模型进行了测试和检验。测试结果表明:基于ANN的时序预测模型对时间序列具有较好的预测性能,在统计预测方面有着广泛的应用前景。