论文部分内容阅读
摘要:本文在介绍了Matlab神经网络工具箱的基础上,主要对时间序列预测工具箱的使用作了说明,并用实例仿真说明如何进行时间序列预测的调用实现,通过不断的调整参数,最后使训练的模型比较理想,满足实际的需求,表明了直接使用时间序列预测的有效性,并为Matlab神经网络工具箱的使用提供了新的方法。
关键词:Matlab;神经网络;时间序列;预测
中图分类号:TP391.41 文献识别码:A
引言
时间序列是根据时间顺序得到跟时间相关的变量或者参数的观测数据[1]。对时间序列的研究主要是挖掘其中有价值的信息,找到其中变化的内在规律[2]。时间序列预测是时间序列分析研究的主要内容,是指根据现有的和历史的时间序列的数据,建立能反映时间序列中所包含的动态依存关系的数学模型[3],从而能对序列未来的趋势做出合理的预测。简单的说,时间序列预测就是用已有的数据预测下一个时间段的值。目前,时间序列预测已经广泛应用在自然界、经济、化学、科学工程等各个领域。
随着Matlab版本的不断更新,神经网络工具箱不断的完善,使得仿真的实现日益简单,R2010b后的版本对时间序列预测的实现不需要手动写代码,网络训练完毕,从Simple Script可看到网络代码,并可对代码进行编辑、改编,因此,只要调用就可应用在各个领域。本文结合时间序列预测的特点,将Matlab神经网络工具箱中的时间序列预测应用到温度预测的实例中,通过快速的仿真及不断的调整参数,从而形成较理想的数学模型,为后期进行温度的预测奠定了基础。
1Matlab神经网络工具箱简介
神经网络分为静态和动态两类。静态神经网络是无反馈、无记忆的,输出仅依赖于当前的输入,例如BP神经网络和RBF神经网络。动态神经网络是有记忆的神经网络,其输出依赖于当前和以前的输入。动态神经网络又分为有反馈和无反馈,有反馈指输出依赖于当前输入和前一个输入输出,无反馈指输出依赖于当前和之前的输入。因此,动态神经网络比静态神经网络功能强,本文选择动态神经网络进行时间序列预测。
Matlab神经网络工具箱提供了一系列用于模型训练的工具,包括曲线拟合工具箱、模式识别工具箱、聚类工具箱和时间序列工具箱,利用这些工具箱可进行快速的调整参数,通过仿真得到直观的结果。另外,Matlab神经网络工具箱还提供人机交互界面,可根据提示一步一步的完成模型的训练,并对仿真的结果进行分析,直到满足要求为止。
选择时间序列工具箱或者直接在命令窗口中输入ntstool,可打开时间序列预测工具箱界面,根据数据选择符合哪种情况,根据人机交互界面的提示,将数据分成训练数据、验证数据、测试数据三类,选择神经元的个数进行训练预测,最后根据Plot Error Autocorrelation和Plot Input-Error Correlation判断误差是否在规定的界限内,如果满足要求则训练结束,否则通过重新训练Train Again、调整参数Adjust Network Size或者改变输入数据Import Larger Data Set来重新进行训练,直到训练误差满足要求为止。
2仿真实例
假设有一组随时间和加上风扇影响的温度的数据,存放time_series_data.xls中,训练步骤如下:
(1)导入数据:输入rawData=xlsread(’time_series_data.xls’,’sheet1’,’数据的位置’);输出y_t=rawData(:,3);输入x_t=rawData(:,2);
(2)调用时间序列预测工具箱:输入nnstart调用出神经网络总窗口,选择其中的Rime Series Tool或直接输入ntstool命令,打开时间序列预测工具箱界面,选择其中的NARX模型;
(3)设置参数: Inputs列选择x_t,Targets列选择(y_t),Time step列选择Matrix row,将进行训练、验证和测试的数据分别设置为70%、15%和15%,Number of Hidden Neurons列设置隐含层神经元的个数,Number of delays d列设置依赖于几个时间的输入输出。需要注意的是:三种数据的比例、神经元的个数和依赖的时间都是可以改变的,因此需根据需要不断的调整这些参数。
(4)仿真训练:参数设置好之后,点击Train训练,训练完成后,通过Plot Error Autocorrelation和Plot Input-Error Correlation检查误差是否满足要求,若满足要求,则训练完成;若误差不满足要求,则进行重新训练。
从上图可看出,通过不断的训练后Plot Error Autocorrelation中的误差都在95%误差界限内,满足要求,而Input-Error Correlation中仍有超出误差区间的点,还需进一步进行训练,但总体满足了要求。
3结语
通过直接调用时间序列预测工具箱,简单快速,节省了手写代码的时间,通过对参数不断的调整,最终形成理想的模型,满足实际的需要,为后期进行时间序列预测工具箱的广泛使用奠定了基础,同时也为其他工具箱的使用提供了依据。
参考文献
[1]田铮.时间序列的理论与方法.北京:高等教育出版社,2001.
[2]E. KEOGH.Data mining and machine learning in time series database[C]//Proc of the 5th Industrial Conference on Data Mining(ICDM), Leipzig. 2005.
[3]刘大同.基于Online SVR的在线时间序列预测方法及其应用研究[D].哈尔滨工业大学.2010: 1~3.
关键词:Matlab;神经网络;时间序列;预测
中图分类号:TP391.41 文献识别码:A
引言
时间序列是根据时间顺序得到跟时间相关的变量或者参数的观测数据[1]。对时间序列的研究主要是挖掘其中有价值的信息,找到其中变化的内在规律[2]。时间序列预测是时间序列分析研究的主要内容,是指根据现有的和历史的时间序列的数据,建立能反映时间序列中所包含的动态依存关系的数学模型[3],从而能对序列未来的趋势做出合理的预测。简单的说,时间序列预测就是用已有的数据预测下一个时间段的值。目前,时间序列预测已经广泛应用在自然界、经济、化学、科学工程等各个领域。
随着Matlab版本的不断更新,神经网络工具箱不断的完善,使得仿真的实现日益简单,R2010b后的版本对时间序列预测的实现不需要手动写代码,网络训练完毕,从Simple Script可看到网络代码,并可对代码进行编辑、改编,因此,只要调用就可应用在各个领域。本文结合时间序列预测的特点,将Matlab神经网络工具箱中的时间序列预测应用到温度预测的实例中,通过快速的仿真及不断的调整参数,从而形成较理想的数学模型,为后期进行温度的预测奠定了基础。
1Matlab神经网络工具箱简介
神经网络分为静态和动态两类。静态神经网络是无反馈、无记忆的,输出仅依赖于当前的输入,例如BP神经网络和RBF神经网络。动态神经网络是有记忆的神经网络,其输出依赖于当前和以前的输入。动态神经网络又分为有反馈和无反馈,有反馈指输出依赖于当前输入和前一个输入输出,无反馈指输出依赖于当前和之前的输入。因此,动态神经网络比静态神经网络功能强,本文选择动态神经网络进行时间序列预测。
Matlab神经网络工具箱提供了一系列用于模型训练的工具,包括曲线拟合工具箱、模式识别工具箱、聚类工具箱和时间序列工具箱,利用这些工具箱可进行快速的调整参数,通过仿真得到直观的结果。另外,Matlab神经网络工具箱还提供人机交互界面,可根据提示一步一步的完成模型的训练,并对仿真的结果进行分析,直到满足要求为止。
选择时间序列工具箱或者直接在命令窗口中输入ntstool,可打开时间序列预测工具箱界面,根据数据选择符合哪种情况,根据人机交互界面的提示,将数据分成训练数据、验证数据、测试数据三类,选择神经元的个数进行训练预测,最后根据Plot Error Autocorrelation和Plot Input-Error Correlation判断误差是否在规定的界限内,如果满足要求则训练结束,否则通过重新训练Train Again、调整参数Adjust Network Size或者改变输入数据Import Larger Data Set来重新进行训练,直到训练误差满足要求为止。
2仿真实例
假设有一组随时间和加上风扇影响的温度的数据,存放time_series_data.xls中,训练步骤如下:
(1)导入数据:输入rawData=xlsread(’time_series_data.xls’,’sheet1’,’数据的位置’);输出y_t=rawData(:,3);输入x_t=rawData(:,2);
(2)调用时间序列预测工具箱:输入nnstart调用出神经网络总窗口,选择其中的Rime Series Tool或直接输入ntstool命令,打开时间序列预测工具箱界面,选择其中的NARX模型;
(3)设置参数: Inputs列选择x_t,Targets列选择(y_t),Time step列选择Matrix row,将进行训练、验证和测试的数据分别设置为70%、15%和15%,Number of Hidden Neurons列设置隐含层神经元的个数,Number of delays d列设置依赖于几个时间的输入输出。需要注意的是:三种数据的比例、神经元的个数和依赖的时间都是可以改变的,因此需根据需要不断的调整这些参数。
(4)仿真训练:参数设置好之后,点击Train训练,训练完成后,通过Plot Error Autocorrelation和Plot Input-Error Correlation检查误差是否满足要求,若满足要求,则训练完成;若误差不满足要求,则进行重新训练。
从上图可看出,通过不断的训练后Plot Error Autocorrelation中的误差都在95%误差界限内,满足要求,而Input-Error Correlation中仍有超出误差区间的点,还需进一步进行训练,但总体满足了要求。
3结语
通过直接调用时间序列预测工具箱,简单快速,节省了手写代码的时间,通过对参数不断的调整,最终形成理想的模型,满足实际的需要,为后期进行时间序列预测工具箱的广泛使用奠定了基础,同时也为其他工具箱的使用提供了依据。
参考文献
[1]田铮.时间序列的理论与方法.北京:高等教育出版社,2001.
[2]E. KEOGH.Data mining and machine learning in time series database[C]//Proc of the 5th Industrial Conference on Data Mining(ICDM), Leipzig. 2005.
[3]刘大同.基于Online SVR的在线时间序列预测方法及其应用研究[D].哈尔滨工业大学.2010: 1~3.