搜档网
当前位置:搜档网 › 基于RBF神经网络的股票预测理论探讨

基于RBF神经网络的股票预测理论探讨

基于RBF神经网络的股票预测理论探讨

-130-

基于RBF 神经网络的股票预测理论探讨

孙伟

郭金华

夏冰

(哈尔滨金融高等专科学校,黑龙江哈尔滨150030)

股票是当今世界上家喻户晓的一种有价证券。

股票市场最初产生于西方国家,九十年代初,我国先后建成了上海和深圳两大证券交易所,股票作为一种资本积累手段,它在一定程度上反映着一个国家的经济实力,为我国的经济发展发挥着重要的作用。

股市是金融市场的一个重要方面,股票市场是金融分析领域中重要而困难的问题。随着我国股票市场的发展,越来越多的人们在关注着股票的情况,也有越来越多的人们进入了股

票交易市场。

投资股票离不开股票的分析预测,早期发展的技术分析理论是股票预测的最初代表,如道氏理论、平均线理论等。随着股市的发展,人们对于股市规律认识的加深,不断的产生各种各样的股市预测方法。这些预测方法都在一定程度上揭示了股市的运行规律。但是股价系统内部结构的复杂性、外部因素的多变性决定了股市预测的艰巨性。从它出现的那天起,人们就试图分析股市的发展趋势。希望获得有效

的预测。

而有效的预测,关键在于发现规律。从数学的角度看,就是建立某种映射关系(函数),并进行函数的拟合,而神经网络是解决这一问题的最佳工具之一。

近年来,随着神经网络理论的发展成熟,神经网络理论在信号处理、模式识别和控制等许多领域都获得了广泛应用。股票市场是个复杂且难以预测的系统,主要是因为影响股价变动的因素非常多,并且它是一个典型非结构性及非线性的系统。由于神经网络具有很强的非

线性逼近能力和自学习、

自适应等特性。因此,将RBF 神经网络应用于股市中,预测和分析股市,为投资者优化组合投资,降低投资风险,有着十分重要的意义。

1股市预测分析现状,

股市预测是经济预测的一个分支,它对股票市场所反映的各种资讯进行收集、整理、综合等工作,从股市的历史、现状和规律性出发,运用科学的方法,对股市未来发展前景进行测定。

在1900年至1902年期间,Charles Dow 写了一系列的评论来阐述他的市场观。Sam Nelson 收集了他的评论并将他的观点发展为市场行为原则,这就是成为技术分析基础的道氏理论。Richard Schabacker 第一个将通用图表形

态分类,研究出

“缺口”理论,被称作技术分析科学之父。瑞夫·N ·艾略特通过研究市场波动和

循环的形态,提出了

“波浪理论”。W ·D ·Gann 研究了时间要素的重要性,提出了“价格时间等价”的概念。随后,又出现了各种分析方法,包括K 线图分析法、柱状图分析法、趋势分析法等。这些分析方法主要依赖于图表,图表信息具有明显的直观化优点,但图表的分析与指标的选

择却要依靠主观的判断。由于股票交易的模式和相关信息的复杂性,这样一种非常依靠经验的方法,其可靠性是受到质疑的。从20世纪60年代开始,人们尝试使用各种时间序列分析方

法来预测股市。

在时间序列分析中,线性模型的研究比较成熟。Schekman 通过建立自回归模型对法兰克福股市进行预测,取得了比较满意的

结果。

但是股市是一个非线性系统,用线性模型逼近容易丢失有用信息。为了更确切描述实际系统特性,又发展了阈值自回归模型、多项式自回归模型和指数自回归模型等,用这些方法对股市进行建模和预测也取得了比较好的结果。但是由于股市的复杂性,模型的辨识非常困难。

近年来,随着人工智能理论的发展成熟,神经网络开始在经济、金融等领域广泛应用。人工神经网络模型众多,针对实际应用背景,选择或构建适合股票价格预测的人工神经网络模型和实现技术非常重要;同时,高效而稳定的神经网络学习算法是股票价格预测及时性和可靠性的重要保证。神经网络具有可逼近任意非线性连续函数的学习能力和对杂乱信息的综合能力,而这些能力正是其它方法所不具有的。目前,基于BP 神经网络的股票预测方法在国际上正在兴起,然而BP 网络在训练过程中需要对网络的所有权值和阈值进行修正,把它称之为全局逼近神经网络。BP 网络用于函数逼近时,权值的调整采用的是负梯度下降法,这种调节权值的方法具有它的局限性,即存在收敛速度慢和局部极小等缺点。所以在一些实时性较

强的场合其应用受到限制。而目前,

将RBF 神经网络用于股票预测,却还不多见,因此尝试应用RBF 神经网络对股票预测进行理论性的探讨与实证研究。

2基于RBF 神经网络预测股票的基本原理

1985年,Powell 提出了多变量插值的径向基函数(Radial -Basis Function ,RBF )方法。1988年,Broomhead 和Lowe 首先将RBF 应用于神经网络设计,构成了径向基函数神经网络,

即RBF 神经网络。

RBF 神经网络是一种具有单隐层的三层前馈网络。径向基函数网络是借鉴生物局部调节和交叠接受区域知识的基础上提出一种采用局部接受域来执行函数映射的人工神经网络。

RBF 最基本的构成包括三层,第一层是输入层,由一些感知单元组成,它们将外界环境层与网络连接起来。第二层是网络中仅有的一个隐层,它的作用是由输入空间到隐层空间进行非线性交换。当输入信号靠近基函数中央范围时隐层节点将产生较大的输出。因此,RBF 神经网络具有局部逼近能力。输出层是线性的,它

为作用于输入层的激活模式提供响应。

RBF 神经网络的基本原理,从函数逼近的方面看,若把网络看成是对未知函数的逼近,则任何函数都可以表示成一组基函数的加权和。相当于选择隐含层神经传输函数使之构成一组基函数逼近未知函数。从模式识别的角度看就是在低维空间非线性的问题总可以映射到高维空间,使其在高维空间线性可分。

3基于RBF 神经网络的股票预测可行性分析

RBF 神经网络的基本思想是:用径向基函数(RBF )作为隐单元的“基”,构成隐含层空间,隐含层对输入矢量进行变换,将低维的模式输入数据变换到高维空间内,使得在低维空间内的线性不可分问题在高维空间内线性可分。股票市场是个复杂且难以预测的系统,主要是因为影响股价变动的因素非常多,并且它是一个典型非结构性及非线性的系统。由于RBF 神经网络是一种局部逼近网络,具有很强的非线性

逼近能力和自学习、

自适应等特性。对于每个训练样本,它只需要对少量的权值和阈值进行修正,而且,结构简单、训练简洁且学习收敛速度快,能够逼近任意非线性函数。因此,将基于RBF 的神经网络进行股票预测是可行的。

4基于RBF 神经网络的股票预测具体过程

基于RBF 神经网络的股票预测模型的建立是实现股票预测关键之处。它的信度与效度

将受到实践的检验。

针对实际应用背景,股票的历史数据,构建适合股票价格预测的RBF 神经网络模型和实现技术。研究具有较高学习效率和稳定性的人工神经网络学习算法。通过对某股票价格的预测结果与实际值的比较,说明应用RBF 神经网络进行股票预测的有效性和在实际中的应用价值。

参考文献

[1]侯媛彬等.神经网络[M].西安:电子科技大学出版社,2007,8.

[2]李红梅.股票分析和预测系统[D].长春:

吉林大学硕士学位论文,2004,5.

[3]张玉瑞,陈剑波.基于RBF 神经网络的时间序列预测[J].计算机工程与应用,2005.11:74-76[4]王学萌,罗建军.灰色系统预测决策建模程序

集[M].北京:

科学普及出版社,1986.8注:文章系黑龙江省教育厅2008年度高职高专院校科学技术研究项目,基于RBF 神经网络的股票预测理论与实证研究的阶段性成果,课题编号:11535003。

摘要:股票市场是个复杂且难以预测的系统,主要是因为影响股价变动的因素非常多,并且它是一个典型非结构性及非线性的系统。径向基

函数(RBF)是一种具有单隐层的三层前馈网络。是借鉴生物局部调节和交叠接受区域知识的基础上,采用局部接受域来执行函数映射的人工神经网络。具有很强的局部非线性逼近能力和自学习、自适应等特性。对于每个训练样本,它只需要对少量的权值和阈值进行修正,结构简单、训练简洁且学习收敛速度快,能够逼近任意非线性函数。因此,将RBF 神经网络应用于股市中,进行尝试预测和分析股市。

关键词:RBF 神经网络;股票预测;可行性分析经济科苑

BP神经网络预测的matlab代码

BP神经网络预测的matlab代码附录5: BP神经网络预测的matlab代码: P=[ 0 0.1386 0.2197 0.2773 0.3219 0.3584 0.3892 0.4159 0.4394 0.4605 0.4796 0.4970 0.5278 0.5545 0.5991 0.6089 0.6182 0.6271 0.6356 0.6438 0.6516

0.6592 0.6664 0.6735 0.7222 0.7275 0.7327 0.7378 0.7427 0.7475 0.7522 0.7568 0.7613 0.7657 0.7700] T=[0.4455 0.323 0.4116 0.3255 0.4486 0.2999 0.4926 0.2249 0.4893 0.2357 0.4866 0.2249 0.4819 0.2217 0.4997 0.2269 0.5027 0.217 0.5155 0.1918 0.5058 0.2395 0.4541 0.2408 0.4054 0.2701 0.3942 0.3316 0.2197 0.2963 0.5576 0.1061 0.4956 0.267 0.5126 0.2238 0.5314 0.2083 0.5191 0.208 0.5133 0.1848 0.5089 0.242 0.4812 0.2129 0.4927 0.287 0.4832 0.2742 0.5969 0.2403 0.5056 0.2173 0.5364 0.1994 0.5278 0.2015 0.5164 0.2239 0.4489 0.2404 0.4869 0.2963 0.4898 0.1987 0.5075 0.2917 0.4943 0.2902 ] threshold=[0 1] net=newff(threshold,[11,2],{'tansig','logsig'},'trainlm');

基于Bp神经网络的股票预测

基于B p神经网络的股 票预测 IMB standardization office【IMB 5AB- IMBK 08- IMB 2C】

基于神经网络的股票预测 【摘要】: 股票分析和预测是一个复杂的研究领域,本论文将股票技术分析理论与人工神经网络相结合,针对股票市场这一非线性系统,运用BP神经网络,研究基于历史数据分析的股票预测模型,同时,对单只股票短期收盘价格的预测进行深入的理论分析和实证研究。本文探讨了BP神经网络的模型与结构、BP算法的学习规则、权值和阈值等,构建了基于BP神经网络的股票短期预测模型,研究了神经网络的模式、泛化能力等问题。并且,利用搭建起的BP神经网络预测模型,采用多输入单输出、单隐含层的系统,用前五天的价格来预测第六天的价格。对于网络的训练,选用学习率可变的动量BP算法,同时,对网络结构进行了隐含层节点的优化,多次尝试,确定最为合理、可行的隐含层节点数,从而有效地解决了神经网络隐含层节点的选取问题。 【abstract] ,,makingin-depththeoreticalanalysisandempiricalstudiesontheshort-termclosingpriceforecastsofsinglestock. Secondly,makingresearchonthemodelandstructureofBPneuralnetwork, learningrules,weightsofBPalgorithmandsoon,buildingastockshort-termforecastingmodelbasedontheBPneuralnetwork,,usingsystemofmultiple-inputsingle-outputandsinglehiddenlayer,,. 【关键词】BP神经网络股票预测分析 1.引言 股票市场是一个不稳定的非线性动态变化的复杂系统,股价的变动受众多因素的影响。影响股价的因素可简单地分为两类,一类是公司基本面的因素,另一类是股票技术面的因

基于BP神经网络预测模型指南

基于BP神经网络的国际黄金价格预测模型 公文易文秘资源网顾孟钧张志和陈友2009-1-2 13:35:26我要投稿添加到百度搜藏 [摘要] 为了寻找国际黄金价格与道琼斯工业指数、美国消费者指数,国际黄金储备等因素之间的内在关系,本文对1972年~2006年间的各项数据首先进行归一化处理,利用MATLAB神经网络工具箱进行模拟训练,建立了基于BP神经网络的国际黄金价格预测模型 [摘要] 为了寻找国际黄金价格与道琼斯工业指数、美国消费者指数,国际黄金储备等因素之间的内在关系,本文对1972年~2006年间的各项数据首先进行归一化处理,利用MATLAB神经网络工具箱进行模拟训练,建立了基于BP神经网络的国际黄金价格预测模型。 [关键词] MATLAB BP神经网络预测模型数据归一化 一、引言 自20世纪70年代初以来的30多年里,世界黄金价格出现了令人瞠目的剧烈变动。20 世纪70年代初,每盎司黄金价格仅为30多美元。80年代初,黄金暴涨到每盎司近700美元。本世纪初,黄金价格处于每盎司270美元左右,此后逐年攀升,到2006年5月12日达到了26年高点,每盎司730美元,此后又暴跌,仅一个月时间内就下跌了约160美元,跌幅高达21.9%。最近两年,黄金价格一度冲高到每盎司900多美元。黄金价格起伏如此之大,本文根据国际黄金价格的影响因素,通过BP神经网络预测模型来预测长期黄金价格。 二、影响因素 刘曙光和胡再勇证实将观察期延长为1972年~2006年时,则影响黄金价格的主要因素扩展至包含道琼斯指数、美国消费者价格指数、美元名义有效汇率、美国联邦基金利率和世界黄金储备5个因素。本文利用此观点,根据1972年~2006年各因素的值来建立神经网络预测模型。 三、模型构建

BP神经网络,预测

BP 神经网络 模型六的建立 神经网络结构图为: 图2 神经网络结构图 BP 神经网络的工作过程主要分为两个阶段:第一个阶段是学习期,此时各计算单元状态不变,各连线上的权值可通过学习来修改;第二阶段是工作期,此 [6] 图3 BP 神经网络流程图 设置各权重和阈值的初始值), (1) 0](0[],0[)()( L l w l j l ji =θ为小随机数,输入训练样本),(q q d I ,对每个样本进行一下几个步骤: 1Step :计算各网络层的实际输出 )()()()1()()()(l l l l l x w f s f x θ+==- (30) 输入层 隐藏层 输出层

2Step :计算训练误差 )()()( )()(l j l j qj l j s f x d '-=τ,输出层 ∑+=++'=1 1 )1( )1()()()(l n k l kj l l j l j w s f ττ,隐含层和输入层 3Step :修正权值和阈值 ]1[][][]1[)()()1()()()1(--++=+-+k w k w x k w k w l ji l ji l i l j l ji l ji ημτ (31) ]1[][][]1[)()()()()1(--++=++k k k k l j l j l j l j l j θηθμτθθ (32) 当样本集中的所有样本都经历了3,2,1Step 后, 即完成一个训练周期,计算性能指标∑==Q q q E E 1,其中∑=-=m j qj qj q x d E 1)(21。如果性能指标满足精度要求,即ε

BP神经网络实验 Matlab

计算智能实验报告 实验名称:BP神经网络算法实验 班级名称: 2010级软工三班 专业:软件工程 姓名:李XX 学号: XXXXXX2010090

一、实验目的 1)编程实现BP神经网络算法; 2)探究BP算法中学习因子算法收敛趋势、收敛速度之间的关系; 3)修改训练后BP神经网络部分连接权值,分析连接权值修改前和修改后对相同测试样本测试结果,理解神经网络分布存储等特点。 二、实验要求 按照下面的要求操作,然后分析不同操作后网络输出结果。 1)可修改学习因子 2)可任意指定隐单元层数 3)可任意指定输入层、隐含层、输出层的单元数 4)可指定最大允许误差ε 5)可输入学习样本(增加样本) 6)可存储训练后的网络各神经元之间的连接权值矩阵; 7)修改训练后的BP神经网络部分连接权值,分析连接权值修改前和修改后对相同测试样本测试结果。 三、实验原理 1 明确BP神经网络算法的基本思想如下: 在BPNN中,后向传播是一种学习算法,体现为BPNN的训练过程,该过程是需要教师指导的;前馈型网络是一种结构,体现为BPNN的网络构架 反向传播算法通过迭代处理的方式,不断地调整连接神经元的网络权重,使得最终输出结果和预期结果的误差最小 BPNN是一种典型的神经网络,广泛应用于各种分类系统,它也包括了训练和使用两个阶段。由于训练阶段是BPNN能够投入使用的基础和前提,而使用阶段本身是一个非常简单的过程,也就是给出输入,BPNN会根据已经训练好的参数进行运算,得到输出结果 2 明确BP神经网络算法步骤和流程如下: 1初始化网络权值 2由给定的输入输出模式对计算隐层、输出层各单元输出 3计算新的连接权及阀值, 4选取下一个输入模式对返回第2步反复训练直到网络设输出误差达到要求结束训练。

基于神经网络的股票价格走势预测及其MATLAB实现——论文

基于神经网络的股票价格走势预测及其MATLAB实现 摘要 伴随着我国经济的高速发展和广大投资者日益旺盛的需求,股票投资已经成为一种常见的投资手段,而股票价格预测也逐渐成为广大投资者关心和研究的重点问题。股票价格的波动是一个高度复杂化的非线性动态系统,其本身具有诸如大规模数据、噪声、模糊非线性等特点。针对这些特点本文在深入分析股票市场实际预测中所面临的关键问题和比较各种已有的股票预测方法的基础上,探讨运用神经网络这一人工智能工具,研究基于历史数据分析的股票预测模型。 神经网络是建立在对大规模的股票历史数据的学习仿真的基础上,运用黑盒预测方式找出股市波动的内在规律,并通过将其存储在网络的权值、阈值中,以此来预测未来短期或是中长期的价格走势。 关键字:神经网络,股票,预测,MATLAB工具箱 ABSTRACT Along with the economy growth and increasingly strong demand of many investors in our country, stock has become a common means of investment, and stock price forecast has greatly been one of the focuses of study topic. The change of stock price is a highly complicated nonlinear dynamic system, itself has many characteristics such as massive data, noise, fuzzy and nonlinear. This article analyses the key issues being existent in the real stock market prediction and compares various existing stock forecasting methods. We will try to research on stock price prediction model based on a neural network with huge historical data. Neural network is based on studying massive historical data, uses the black box of forecasting ways to find the internal disciplinarian of stock market, and stores them in the weights and valves values of the neural network for predicting the short-term or long-term trend in the future. KEYWORD:Neural networks, Stock, prediction, MATLAB toolbox

BP神经网络预测模型

BP神经网络模型 基本原理 (1)神经网络的定义简介 神经网络是由多个神经元组成的广泛互连的神经网络,能够模拟生物神经系统真实世界及物体之间所做出的交互反应.人工神经网络处理信息是通过信息样本对神经网络的训练,使其具有人的大脑的记忆,辨识能力,完成名种信息处理功能.它不需要任何先验公式,就能从已有数据中自动地归纳规则,获得这些数据的内在规律,具有良好的自学习,自适应,联想记忆,并行处理 和非线性形转换的能力,特别适合于因果关系复杂的非确定性推理,判断,识别和分类等问题.对于任意一组随机的,正态的数据,都可以利用人工神经网络算法进行统计分析,做出拟合和预测. 基于误差反向传播(Backpropagation)算法的多层前馈网络(Multiple-layerfeedforwardnetwork,简记为BP网络),是目前应用最成功和广泛的人工神经网 络. (2)BP模型的基本原理[3] 学习过程中由信号的正向传播与误差的逆向传播两个过程组成.正向传播 时,模式作用于输入层,经隐层处理后,传入误差的逆向传播阶段,将输出误差按某种子形式,通过隐层向输入层逐层返回,并“分摊”给各层的所有单元,从而获得各层单元的参考误差或称误差信号,以作为修改各单元权值的依据.权值不断修改的过程,也就是网络学习过程.此过程一直进行到网络输出的误差准逐渐减少到可接受的程度或达到设定的学习次数为止.BP网络模型包括其输入输出模型,作用函数模型,误差计算模型和自学习模型. BP网络由输入层,输出层以及一个或多个隐层节点互连而成的一种多层网, 这种结构使多层前馈网络可在输入和输出间建立合适的线性或非线性关系,又不致使网络输出 限制在-1和1之间.见图(1). O1O2O i O m 输出层,, ,, 隐含层 (大于等于一层)W(1)?W(L) 输入层,, P1 P2 P3 Pn X 图1 BP网络模型 (3)BP神经网络的训练 BP算法通过“训练”这一事件来得到这种输入,输出间合适的线性或非线性关系.“训练”的过程可以分为向前传输和向后传输两个阶段:

用matlab编BP神经网络预测程序加一个优秀程序

求用matlab编BP神经网络预测程序 求一用matlab编的程序 P=[。。。];输入T=[。。。];输出 % 创建一个新的前向神经网络 net_1=newff(minmax(P),[10,1],{'tansig','purelin'},'traingdm') % 当前输入层权值和阈值 inputWeights=net_1.IW{1,1} inputbias=net_1.b{1} % 当前网络层权值和阈值 layerWeights=net_1.LW{2,1} layerbias=net_1.b{2} % 设置训练参数 net_1.trainParam.show = 50; net_1.trainParam.lr = 0.05; net_1.trainParam.mc = 0.9; net_1.trainParam.epochs = 10000; net_1.trainParam.goal = 1e-3; % 调用TRAINGDM 算法训练BP 网络 [net_1,tr]=train(net_1,P,T); % 对BP 网络进行仿真 A = sim(net_1,P); % 计算仿真误差 E = T - A; MSE=mse(E) x=[。。。]';%测试 sim(net_1,x) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 不可能啊我2009 28对初学神经网络者的小提示

第二步:掌握如下算法: 2.最小均方误差,这个原理是下面提到的神经网络学习算法的理论核心,入门者要先看《高等数学》(高等教育出版社,同济大学版)第8章的第十节:“最小二乘法”。 3.在第2步的基础上看Hebb学习算法、SOM和K-近邻算法,上述算法都是在最小均方误差基础上的改进算法,参考书籍是《神经网络原理》(机械工业出版社,Simon Haykin著,中英文都有)、《人工神经网络与模拟进化计算》(清华大学出版社,阎平凡,张长水著)、《模式分类》(机械工业出版社,Richard O. Duda等著,中英文都有)、《神经网络设计》(机械工业出版社,Martin T. Hargan等著,中英文都有)。 4.ART(自适应谐振理论),该算法的最通俗易懂的读物就是《神经网络设计》(机械工业出版社,Martin T. Hargan等著,中英文都有)的第15和16章。若看理论分析较费劲可直接编程实现一下16.2.7节的ART1算法小节中的算法. 4.BP算法,初学者若对误差反传的分析过程理解吃力可先跳过理论分析和证明的内容,直接利用最后的学习规则编个小程序并测试,建议看《机器学习》(机械工业出版社,Tom M. Mitchell著,中英文都有)的第4章和《神经网络设计》(机械工业出版社,Martin T. Hargan等著,中英文都有)的第11章。 BP神经网络Matlab实例(1) 分类:Matlab实例 采用Matlab工具箱函数建立神经网络,对一些基本的神经网络参数进行了说明,深入了解参考Matlab帮助文档。 % 例1 采用动量梯度下降算法训练BP 网络。 % 训练样本定义如下: % 输入矢量为 % p =[-1 -2 3 1 % -1 1 5 -3] % 目标矢量为t = [-1 -1 1 1] close all clear clc % --------------------------------------------------------------- % NEWFF——生成一个新的前向神经网络,函数格式: % net = newff(PR,[S1 S2...SNl],{TF1 TF2...TFNl},BTF,BLF,PF) takes, % PR -- R x 2 matrix of min and max values for R input elements % (对于R维输入,PR是一个R x 2 的矩阵,每一行是相应输入的

BP神经网络matlab源程序代码

close all clear echo on clc % NEWFF——生成一个新的前向神经网络 % TRAIN——对 BP 神经网络进行训练 % SIM——对 BP 神经网络进行仿真 % 定义训练样本 % P为输入矢量 P=[0.7317 0.6790 0.5710 0.5673 0.5948;0.6790 0.5710 0.5673 0.5948 0.6292; ... 0.5710 0.5673 0.5948 0.6292 0.6488;0.5673 0.5948 0.6292 0.6488 0.6130; ... 0.5948 0.6292 0.6488 0.6130 0.5654; 0.6292 0.6488 0.6130 0.5654 0.5567; ... 0.6488 0.6130 0.5654 0.5567 0.5673;0.6130 0.5654 0.5567 0.5673 0.5976; ... 0.5654 0.5567 0.5673 0.5976 0.6269;0.5567 0.5673 0.5976 0.6269 0.6274; ... 0.5673 0.5976 0.6269 0.6274 0.6301;0.5976 0.6269 0.6274 0.6301 0.5803; ... 0.6269 0.6274 0.6301 0.5803 0.6668;0.6274 0.6301 0.5803 0.6668 0.6896; ... 0.6301 0.5803 0.6668 0.6896 0.7497]; % T为目标矢量 T=[0.6292 0.6488 0.6130 0.5654 0.5567 0.5673 0.5976 ... 0.6269 0.6274 0.6301 0.5803 0.6668 0.6896 0.7497 0.8094]; % Ptest为测试输入矢量 Ptest=[0.5803 0.6668 0.6896 0.7497 0.8094;0.6668 0.6896 0.7497 0.8094 0.8722; ... 0.6896 0.7497 0.8094 0.8722 0.9096]; % Ttest为测试目标矢量 Ttest=[0.8722 0.9096 1.0000]; % 创建一个新的前向神经网络 net=newff(minmax(P'),[12,1],{'logsig','purelin'},'traingdm'); % 设置训练参数 net.trainParam.show = 50; net.trainParam.lr = 0.05; net.trainParam.mc = 0.9; net.trainParam.epochs = 5000; net.trainParam.goal = 0.001; % 调用TRAINGDM算法训练 BP 网络 [net,tr]=train(net,P',T); % 对BP网络进行仿真 A=sim(net,P'); figure; plot((1993:2007),T,'-*',(1993:2007),A,'-o'); title('网络的实际输出和仿真输出结果,*为真实值,o为预测值'); xlabel('年份'); ylabel('客运量'); % 对BP网络进行测试 A1=sim(net,Ptest');

bp神经网络预测销售额

一,说明 对销售额进行bp神经网络预测,销售额如表1 其中前17月数据用作训练样本,来预测第18个月的数据,然后利用前18个月的数据来预测第19个月的数据,以此来预测全部月份的数据,并最终给出真实值与预测值之间的误差 二,程序 程序包括两部分,main.m为主程序,NNetwork.m为训练及预测程序,NNetwork输入为真实数据,输出为预测数据。程序如下 main程序 clear all %清除变量空间 clc %清除命令窗口所有数据 close all %关闭所有figure窗口 % 数据,前17组为训练数据 t=[124.2 117.1 108.4 102.8 99.2 98.6 100.4 100. 99.4 101.2 103.9 101.8 101.5 104.8 105.9 99.3 103.3 113.2 116.5 117.1 116.9 115.8]; %%原始数据(数据的观测值) n=1; %每次预测个数 for i=17:21 s=t(1:i); [a, anew]=NNetwork(s,n); %调用神经网络预测程序 disp(['预测的第',num2str(i+1),'个值为']); anew %预测值 pred=a(1,:) ; pred(end+1)=anew; %加上预测值新数据 end %画图部分 figure xx=1:i+1; plot(xx,pred,'r-*',xx,t,'k--+'); legend('预测值','实际值'); xlabel('点数'); ylabel('数据');

figure s=abs(pred-t)./t*100; plot(xx,s,'b-*'); xlabel('点数'); ylabel('误差比例(%)'); disp('实际值的标准差为') std(t) %求标准差 disp('预测值的标准差为') std(pred) NNetwork程序如下 function [a, anew]=NNetwork(x,n) % x为神经网络训练数组 % n为预测数据的个数 p=1:length(x); %%数据的个数 warning off %数据归一化 [pn,minp,maxp,tn,mint,maxt]=premnmx(p,x); %BP网络训练 net=newff([-1,1],[5,1],{'tansig','tansig','purelin'},'traingdx'); net.trainParam.show=1000; %每1000轮回显示一次结果net.trainParam.Lr=0.05; %学习速率为0.05 net.trainParam.epochs=5000; %循环5000次 net.trainParam.goal=1e-6; %均方误差 net=train(net,pn,tn); %训练 an=sim(net,pn); %神经网络仿真 a=postmnmx(an,mint,maxt); %还原仿真得到的数据,反归一化%对新数据进行预测 xx=1:length(x); pnew=[length(xx):length(xx)+n];%预测数据 pnewn=tramnmx(pnew,minp,maxp);%新数据归一化 anewn=sim(net,pnewn); anew=postmnmx(anewn,mint,maxt);%还原得到预测值 anew=anew(2); 三,程序运行截图 运行main.m文件,结果如图

基于Bp神经网络的股票预测

基于神经网络的股票预测 【摘要】: 股票分析和预测是一个复杂的研究领域,本论文将股票技术分析理论与人工神经网络相结合,针对股票市场这一非线性系统,运用BP神经网络,研究基于历史数据分析的股票预测模型,同时,对单只股票短期收盘价格的预测进行深入的理论分析和实证研究。本文探讨了BP神经网络的模型与结构、BP算法的学习规则、权值和阈值等,构建了基于BP神经网络的股票短期预测模型,研究了神经网络的模式、泛化能力等问题。并且,利用搭建起的BP神经网络预测模型,采用多输入单输出、单隐含层的系统,用前五天的价格来预测第六天的价格。对于网络的训练,选用学习率可变的动量BP算法,同时,对网络结构进行了隐含层节点的优化,多次尝试,确定最为合理、可行的隐含层节点数,从而有效地解决了神经网络隐含层节点的选取问题。 【abstract] Stock analysis and forecasting is a complex field of study. The paper will make research on stock prediction model based on the analysis of historical data, using BP neural network and technical analysis theory. At the same time, making in-depth theoretical analysis and empirical studies on the short-term closing price forecasts of single stock. Secondly, making research on the model and structure of BP neural network, learning rules, weights of BP algorithm and so on, building a stock short-term forecasting model based on the BP neural network, related with the model of neural network and the ability of generalization. Moreover, using system of multiple-input single-output and single hidden layer, to forecast the sixth day price by BP neural network forecasting model structured. The network of training is chosen BP algorithm of traingdx, while making optimization on the node numbers of the hidden layer by several attempts. Thereby resolve effectively the problem of it. 【关键词】BP神经网络股票预测分析 1.引言 股票市场是一个不稳定的非线性动态变化的复杂系统,股价的变动受众多因素的影响。影响股价的因素可简单地分为两类,一类是公司基本面的因素,另一类是股票技术面的因素,虽然股票的价值是公司未来现金流的折现,由公司的基本面所决定,但是由于公司基本面的数据更新时间慢,且很多时候并不能客观反映公司的实际状况,采用适当数学模型就能在一定

BP神经网络预测模型及应用

B P神经网络预测模型及 应用 IMB standardization office【IMB 5AB- IMBK 08- IMB 2C】

B P神经网络预测模型及应用 摘要采用BP神经网络的原理,建立神经网络的预测模型,并利用建立的人工神经网络训练并预测车辆的销售量,最后得出合理的评价和预测结果。 【关键词】神经网络模型预测应用 1 BP神经网络预测模型 BP神经网络基本理论 人工神经网络是基于模仿生物大脑的结构和功能而构成的一种信息处理系统。该网络由许多神经元组成,每个神经元可以有多个输入,但只有一个输出,各神经元之间不同的连接方式构成了不同的神经网络模型,BP网为其中之一,它又被称为多层前馈神经网络。 BP神经网络预测模型 (1)初始化,给各连接权值(wij,vi)及阐值(θi)赋予随机值,确定网络结构,即输入单元、中间层单元以及输出层单元的个数;通过计算机仿真确定各系数。 在进行BP网络设计前,一般应从网络的层数、每层中的神经元个数、初始值以及学习方法等方面进行考虑,BP网络由输入层、隐含层和输出层组成。隐含层神经元个数由以下经验公式计算: (1)

式中:s为隐层节点数,m为输入层节点数,n为输出层节点数,h为正整数,一般取3―7. BP网络采用了有一定阈值特性的、连续可微的sigmoid函数作为神经元的激发函数。采用的s 型函数为: (2) 式中:s为隐层节点数,m为输入层节点数,n为输出层节点数,h为正整数,一般取3―7.计算值需经四舍五入取整。 (2)当网络的结构和训练数据确定后,误差函数主要受激励函数的影响,尽管从理论分析中得到比的收敛速度快,但是也存在着不足之处。当网络收敛到一定程度或者是已经收敛而条件又有变化的时候,过于灵敏的反映会使得系统产生震荡,难于收敛。因此,对激励函数进行进一步改进,当权值wij (k)的修正值Δwij(k) Δwij(k+1)<0时,,其中a为大于零小于1的常数。这样做降低了系统进入最小点时的灵敏度,减少震荡。 2 应用 车辆销售量神经网络预测模型 本文以某汽车制造企业同比价格差、广告费用、服务水平、车辆销售量作为学习训练样本数据。如表1。 表1 产品的广告费、服务水平、价格差、销售量 月份广告费 (百万元)服务水平价格差

BP神经网络的库存需求预测

·126· 图 1 原纸用量趋势图 2009年 1 月 总第 450 期 第 2 期 经 济 论 坛 E c ono m i c F o r um Jan. 2009 G e n.450 N o .2 基于 B P 神经网络的库存需求预测应用 文 / 刘 洋 李 真 【摘 要】 本文应用 B P 神经网络模型,并加入影响因子,用于库存需求量的预测,同时采用了传统的 预测方法,通过各种方法预测结果的对比,说明文中所建立的加入影响因素的 B P 网络模型预测效果较好。 【关 键 词 】神经网络;B P 算法;A R M A 模型;库存需求;预测 【作者简介】刘洋,女,南京大学工程管理学院硕士研究生,研究方向:系统工程、数据分析与数据挖掘; 李真,女,南京大学工程管理学院硕士研究生,研究方向:复杂系统理论。 各行业领域的企业都很重视库存管理,即库存 数量的有效控制,但如何确定和预测库存需求,是亟 待研究解决的问题。本文采用 B P 网络模型对库存 的需求量进行预测,以期提高库存需求预测的精度。 一、库存需求预测 文章采用某纸箱生产企业 1998~2003 年原纸 用量的月数据,并假设每个月的原纸用量均能被库 存所满足,那么该数据就可正确反映企业每月的库 存需求水平。分别应用 A R M A 模型、B P 模型以及加 入影响因素的 B P 模型,以 1998~2002 年的数据预 测 2003 年的原纸用量,通过三种模型预测结果的比 较,选择一种预测精度较高的方法,更好地帮助企业 确定库存需求。 (一)传统库存需求预测方法 1. 数据预处理。A R M A 模型是比较成熟且常 用的时间序列预测模型,适于处理复杂时间序列的 预测,短期预测时精度较高,故本文拟用 A R M A 模 型来预测原纸使用量。原始数据的趋势如图 1 所示。 该组数据存在一定的指数趋势,为非平稳序列, 而 A R M A 模型建模要求序列为平稳序列,因此先对 原始序列进行平稳化处理。在 EV i e w s 软件中进行二 阶对数差分后,通过观察序列的自相关系数及偏自 相关系数分析图及差分后的序列趋势,并检查差分 后的均值约为零,可得出序列已基本平稳,因此可用 于预测。 2.模型定阶与预测。通过对数据自相关系数和 偏自相关系数的观测,可以选择多个模型对数据进 行拟合。经比较各个模型的 R 2 值、A IC 值以及 S C 值,选择了 A R M A (1,1)模型来预测 2003 年 12 个月 的原纸用量,并通过对残差进行白噪声检验,可证明 残差基本为随机序列。 (二)神经网络方法 1.数据准备及归一化处理。网络的训练样本由 输入、输出两部分组成,在两个模型中,均采用 1998~2002 年数据作为训练样本,预测 2003 年 12 个月的原纸用量。为增加网络权重对输入数值变化 的灵敏度,还需将各项指标数据进行归一化。 (1)B P 网络。网络输入为 3 维,为前一年 3 个 月的原纸用量,输出也为 3 维,为下一年相对应 3 个 月的原纸用量。 (2)加入影响因素的 B P 网络。销售决定生产 规模,故在模型中加入市场因素,而该市场存在淡季 和旺季两种情况,因此加入季节因子。网络输入为 4 维,在 B P 网络基础上加入一个季节因子,分为淡季 (用 0 表示)与旺季(用 1 表示),输出为 3 维。 2.网络拓扑结构的确定。K o l m ogo ro v 定理证明 了任意一个连续函数或映射关系可以精确地用一个

基于Bp神经网络的股票预测

深圳大学 神经网络原理课程实验 题目:基于BP神经网络的股票预测姓名: 专业: 学院: 信息工程学院 指导教师: 职称: 2014年5月17日

基于神经网络的股票预测 【摘要】: 股票分析和预测是一个复杂的研究领域,本论文将股票技术分析理论与人工神经网络相结合,针对股票市场这一非线性系统,运用BP神经网络,研究基于历史数据分析的股票预测模型,同时,对单只股票短期收盘价格的预测进行深入的理论分析和实证研究。本文探讨了BP神经网络的模型与结构、BP算法的学习规则、权值和阈值等,构建了基于BP神经网络的股票短期预测模型,研究了神经网络的模式、泛化能力等问题。并且,利用搭建起的BP神经网络预测模型,采用多输入单输出、单隐含层的系统,用前五天的价格来预测第六天的价格。对于网络的训练,选用学习率可变的动量BP算法,同时,对网络结构进行了隐含层节点的优化,多次尝试,确定最为合理、可行的隐含层节点数,从而有效地解决了神经网络隐含层节点的选取问题。 【abstract] Stock analysis and forecasting is a complex field of study. The paper will make research on stock prediction model based on the analysis of historical data, using BP neural network and technical analysis theory. At the same time, making in-depth theoretical analysis and empirical studies on the short-term closing price forecasts of single stock. Secondly, making research on the model and structure of BP neural network, learning rules, weights of BP algorithm and so on, building a stock short-term forecasting model based on the BP neural network, related with the model of neural network and the ability of generalization. Moreover, using system of multiple-input single-output and single hidden layer, to forecast the sixth day price by BP neural network forecasting model structured. The network of training is chosen BP algorithm of traingdx, while making optimization on the node numbers of the hidden layer by several attempts. Thereby resolve effectively the problem of it. 【关键词】BP神经网络股票预测分析 1.引言 股票市场是一个不稳定的非线性动态变化的复杂系统,股价的变动受众多因素的影响。影响股价的因素可简单地分为两类,一类是公司基本面的因素,另一类是股票技术面的因素,虽然股票的价值是公司未来现金流的折现,由公司的基本面所决定,但是由于公司基本面的数据更新时间慢,且很多时候并不能客观反映公司的实际状况,采用适当数学模型就能在一定

BP神经网络matlab实例

神经网络Matlab p=p1';t=t1'; [pn,minp,maxp,tn,mint,maxt]=premnmx(p,t); %原始数据归一化net=newff(minmax(pn),[5,1],{'tansig','purelin'},'traingdx');%设置网络,建立相应的BP网络 net.trainParam.show=2000; % 训练网络 net.trainParam.lr=0.01; net.trainParam.epochs=100000; net.trainParam.goal=1e-5; [net,tr]=train(net ,pn,tn); %调用TRAINGDM算法训练BP网络 pnew=pnew1'; pnewn=tramnmx(pnew,minp,maxp); anewn=sim(net,pnewn); %对BP网络进行仿真 anew=postmnmx(anewn,mint,maxt); %还原数据 y=anew'; 1、BP网络构建 (1)生成BP网络 = net newff PR S S SNl TF TF TFNl BTF BLF PF (,[1 2...],{ 1 2...},,,) R?维矩阵。 PR:由R维的输入样本最小最大值构成的2

S S SNl:各层的神经元个数。 [1 2...] TF TF TFNl:各层的神经元传递函数。 { 1 2...} BTF:训练用函数的名称。 (2)网络训练 = [,,,,,] (,,,,,,) net tr Y E Pf Af train net P T Pi Ai VV TV (3)网络仿真 = [,,,,] (,,,,) Y Pf Af E perf sim net P Pi Ai T {'tansig','purelin'},'trainrp' BP网络的训练函数 训练方法训练函数 梯度下降法traingd 有动量的梯度下降法traingdm 自适应lr梯度下降法traingda 自适应lr动量梯度下降法traingdx 弹性梯度下降法trainrp Fletcher-Reeves共轭梯度法traincgf Ploak-Ribiere共轭梯度法traincgp Powell-Beale共轭梯度法traincgb 量化共轭梯度法trainscg 拟牛顿算法trainbfg 一步正割算法trainoss Levenberg-Marquardt trainlm

BP神经网络预测模型

BP 神经网络模型 基本原理 ( 1) 神经网络的定义简介 神经网络是由多个神经元组成的广泛互连的神经网络, 能够模拟生物神经 系统真实世界及物体之间所做出的交互反应. 人工神经网络处理信息是通过信息样本对神经网络的训练, 使其具有人的大脑的记忆, 辨识能力, 完成名种信息处理功能. 它不需要任何先验公式, 就能从已有数据中自动地归纳规则, 获得这些数据的内在规律, 具有良好的自学习, 自适应, 联想记忆, 并行处理和非线性形转换的能力, 特别适合于因果关系复杂的非确定性推理, 判断, 识别和分类等问题. 对于任意一组随机的, 正态的数据, 都可以利用人工神经网络算法进行统计分析, 做出拟合和预测. 基于误差反向传播(Back propagation)算法的多层前馈网络 (Multiple-layer feedforward network, 简记为BP 网络), 是目前应用最成功和广泛的人工神经网络. ( 2) BP 模型的基本原理[3] 学习过程中由信号的正向传播与误差的逆向传播两个过程组成. 正向传播时, 模式作用于输入层, 经隐层处理后, 传入误差的逆向传播阶段, 将输出误差按某种子形式, 通过隐层向输入层逐层返回, 并“分摊”给各层的所有单元, 从而获得各层单元的参考误差或称误差信号, 以作为修改各单元权值的依据. 权值不断修改的过程, 也就是网络学习过程. 此过程一直进行到网络输出的误差准逐渐减少到可接受的程度或达到设定的学习次数为止. BP 网络模型包括其输入输出模型, 作用函数模型, 误差计算模型和自学习模型. BP 网络由输入层, 输出层以及一个或多个隐层节点互连而成的一种多层网, 这种结构使多层前馈网络可在输入和输出间建立合适的线性或非线性关系, 又不致使网络输出限制在-1和1之间. 见图( 1) . O 1 O 2 O i O m 输入层 输出层 隐含层 …… …… ……

相关主题