1、大律理工玄修数据挖掘技术课 程报告数据挖掘在股票预测中的应用学院:计算机与通信工程专业:计算机技术姓名:郑春园学号:153131314不完全的、有噪声的、模糊的、随机的实际应用数据中发现隐含的、规律性的、 人们事先未知的,但是又是潜在有用的并且最终可理解的信息和知识的非平凡过 程。事先未知的信息是指该信息是预先未预料到的,或称新颖性。新颖性要求发 现的模式应该是从前未知的,该信息是预先未曾预料到的。数据挖掘就是要发现 那些不能靠直觉发现的信息或知识,甚至是违背直觉的信息或知识。数据挖掘是一门交叉学科,融合了数据库、人工智能、机器学习、统计学等 多个领域的理论和技术O数据挖掘利用各种分析工具在海
2、量数据中发现模型 和数据问关系的过程,使用这些模型和关系可以进行预测,它帮助决策者寻找数 据潜在的关联,发现被忽略的因素,因而被认为是解决当今时代所面临的数据爆 炸而信息贫乏问题的一种有效方法。2. 1. 2数据挖掘分类数据挖掘涉及多个学科,主要包括数据库、统计学和机器学习三大主要技术。 可以按照数据库类型、挖掘对象、挖掘任务、挖掘方法和技术,以及应用等几方 面进行分类。1. 按数据库类型分类数据库主要是在关系数据库中挖掘知识。随数据库类型的不断增加,逐步出 现了不同数据库的数据挖掘。现有关系数据库挖掘、模糊数据挖掘、历史数据挖 掘、空问数据挖掘等多种不同数据库的数据挖掘类型。2. 按数据挖掘
3、对象分类数据挖掘除了对数据库这个主要对象进行挖掘外,还有文本数据挖掘、多媒 体数据挖掘、Web数据,这些均是非结构化数据。3. 按数据挖掘任务分类数据挖掘的任务有关联分析、时序模式、聚类、分类,偏差检测、预测等。 按任务分类有:美联规则挖掘、序列模式挖掘、聚类数据挖掘、分类数据挖掘、 偏差分析挖掘和预测数据挖掘等类型。4. 按数据挖掘方法和技术分类归纳学习类:该类又分为基于信息论方法挖掘类和基于集合论方法挖掘 类。基于信息论方法是在数据库中寻找信息量大的属性来建立属性的决策树。基 于集合论方法是对数据库中各属性的元组集合之间关系来建立属性间的规则。各 类中又包括多种方法,主要用于分类问题。(2
4、) 仿生物技术类:该类又分为神经网络方法类和遗传算法类。神经网络方法 是在模拟人脑神经元而建立的肝数学模型和Hcbb学习规则基础上,提出了系 列的算法模型,用于识别、预测、联想、优化、聚类等实际问题。遗传算法是模 拟生物遗传过程,对选择、交叉、变异过程建立了数学算子。主要用于问题的优 化和规则的生成。(3) 公式发现类:在科学实验与工程数据库中,用人工智能方法寻找和发现连 续属性之闻的关系,建立变量之间的公式,已引起人们的关注,该类中有多种数 据挖掘方法,如BACON和FDD等。(4) 统计分析类:统计分析是门独立学科,由于能对数据库中数据求出各种不 同的统计信息和知识,故也构成了数据挖掘中大
5、类方法。(5) 模糊数据类:模糊数据类是反映人们思维的一种方式。将模糊数学应用于 数据挖掘各项任务中,形成了模糊数据挖掘类,如模糊聚类、模糊分类、模糊关 联规则等。2. 1. 3数据挖掘处理过程模型数据挖掘是一个需要经过反复的多次处理过程。如同软件工程在软件开发中 的作用,数据挖掘的处理过程模型为数据挖掘提供了宏观指导和工程方法。合理 的处理过程模型能将各个处理阶段有机地结合在一起,指导人们更好地开发及使 用数据挖掘系统。从数据挖掘进入应用领域起,就有人对数据挖掘的过程进行归 纳和总结,提出了不同的数据挖掘处理过程模型。其中UsalnaM. FayadGergorrPiatetsky-Shap
6、iro等人给出的多处理阶段模型是一*种通用 模型,也是最广为接受的一种处理模型。1996年,Brachman和Anand通过了解很 多数据挖掘用户在实际工作中遇到的问题,发现用户的很大一部分工作量是在数 据库的交互上,他们从用户的角度对数据挖掘处理过程进行了分析,认为数据挖 掘应该更着重于对用户进行知识发现的整个过程的支持,而不是仅仅限于在数据 挖掘的一个阶段上,进而提出了以用户为中心的处理过程模型。该模型特别注重 对用户与数据库交互的支持,用户根据数据库中的数据,提出一种假设模型,然 后选择有关数据进行知识的挖掘,并不断对模型的数据进行调整优化。Brachman 和Anand在他们开发的数据
7、挖掘系统IIdACS(Interactive MarketingAnalysis And Classification System)中采用了这种以用户为中心的处理过程模型。1997年斯坦福大学的GeorgeH. John在其博士论文中给出另外一种数据挖掘 处理过程模型。该模型强调由数据挖掘人员和领域专家共同参与数据挖掘的全过 程。领域专家对该领域内需要解决的问题非常清楚,在问题的定义阶段由领域专 家向数据挖掘人员解释,数据挖掘人员将数据挖掘所用的技术及能解决问题的种 类介绍给领域专家。双方经过互相了解,对要解决的问题有一致的处理意见,包 括问题的定义及数据的处理方式。1999年中国科学院计算
8、研究所的朱延绍博士认为前述模型对知识发现过程 中的反复学习和多目标学习支持不够,即针对某种知识发现算法确定一批相关数 据,使用其他算法时,这批数据即告无效,必须重新进行数据的提取和预处理。 为此在他的博士论文中提出支持多数据集多学习目标的数据挖掘处理模型,将数 据和学习算法尽量分离,以使得数据挖掘更适合实际工作的需要并使得最终用户 和数据挖掘人员之间的影响尽埴小,以提高学习效率。为了实现数据与学习算法 分离的目的,该模型使用了数据集的概念。数据集是指为了完成某项学习任务而 从数据库中提取出的数据。在数据集的描述中包括对数据的描述以及训练数据和 测试数据的生成方法。数据集并不是针对某一个学习算法
9、,而是针对某类问题而 定义的,它给出了问题所涉及的数据。在具体算法进行数据处理时,必须对数据 进行简单的筛选和加工以剔除冗余数据。数据挖掘过程及工具数据挖掘是一个反复的过程,通常包含多个相互联系的步骤,如定义和分析 主题、数据预处理、选取算法、提取规则、评价和解释结果、将模式构成知识, 最后是应用。并旦随着应用需求和数据基础不同,数据挖掘处理的步骤可能也会 有所不同。通常,数据挖掘有以下几步(如图2. 1)图2.1数据挖掘过程示意图1. 问题定义进行数据挖掘,首先必须分析应用领域,包括应用中的各种知识和应用目标。 问题定义阶段就是了解相关领域的有关情况,熟悉背景知识,弄清用户要求。在 确定用户
10、的需求后,应对现有资源如已有的历史数据进行评估,确定是否能够通 过数据挖掘技术来确定用户的需求,然后将进一步确定数据挖掘的目标和制定数 据挖掘计划。2. 数据准备数据挖掘所处理的数据集通常不仅具有海量数据,而且可能存在大鬲的噪声 数据、冗余数据、稀疏数据或不完全数据等。数据准备包括数据抽取、清洗、转 换、和加载,具体包括数据的清洗、集成、选择、变换、规约,以及数据的质量 分析等步骤。3. 建立模型数据挖掘中的建模实际上就是利用己知的数据和知识建立一种模型,这种模 型可以有效地描述已知的数据和知识,希望该模型能有效地应用到未知的数据或 相似情况中。在数据挖掘中,可以使用许多不同的模型:关联规则模
11、型、决策树 模型、神经网络模型、粗糙集模型、数理统计模型、时间序列分析模型。4. 评价模型数据挖掘得到的模式有可能是没有实际意义或没有实用价值的,也有可能不 能准确反映数据真实意义,甚至在某些情况卜-是与事实相反的,因此对于数据挖 掘的结果需要进行评估。确定数据挖掘是否存在偏差,挖掘结果是否正确,确定 哪些是有效的、有用的模式,是否满足用户需求。评估的方法一种是直接使用原先建立的挖掘数据库中的数据来进行检验,也 可以另找新的测试数据并对其进行检验,另一种办法是使用实际运行环境中的当 前数据进行检验。正是数据挖掘技术巨大的商业潜力,吸引了众多公司从事数据 挖掘系统的研究和开发,而旦有的已经商品化
12、。在不久以前大部分数据挖掘工具 还只能为专业技术人员所操控。但是,现在有更多的公司提供了更高级的数据挖 掘系统,使得非专业人士也能使用。如表2-1所示,归纳了当今主要的数据挖掘 产品o数据挖掘在股票预测中的应用摘要:作为海量数据的处理方法,数据挖掘从诞生起就和股票市场有着密不可分 的联系。证券行业更是在信息化迅速发展的前提卜.成长起来的,很多业务都需要 依赖对大量历史数据的分析,从中挖掘出有价值的信息。数据挖掘能够很好的处 理这些非平稳、非正态、高噪声的数据。通过结合统计学的抽样、估计和假设检 验;机器学习的搜索算法和建模技术;再加上最优化、信息论和信息检索等领域 的思想,数据挖掘在处理海量数
13、据和高频、多维数据上有着相当优势。最关键的 是他能够对不断获得的新数据进行模型的动态更新,非常适合应用于新环境。本文使用了时间序列方法人工神经网络模型对证券市场的价格进行建模和 预测。应用时间序列方法预测时使用了简单一次移动平均预测法、一次指数平滑 预测法、两次指数平滑预测法。时间序列方法预测股票走势最为简单,但是误差 过大。应用人工神经网络时,采用了BP算法和遗传算法来训练网络权值,同时 使用动量法和学习率自适应调整相结合的策略,人工神经网络模型虽然预测效果 最好,但是计算量过大。关键字:数据挖掘股票预测时间序列预测人工神经网络Abstract: As a huge amount of da
14、ta processing methods, data mining and the stock marketis inextricably linked. The securities industry rapidly development because of theinformation technologys improvement. Many businesses in stock market rely ondigging out the large amount of historical data analysis to find the valuableinfbrmatio
15、n.表2-1数据挖掘I:具产品供应商技术及算法2. 2时间序列预测技术产品供应商技术及算法ClementineSpss Inc.规奶归纳DarwinThinking Machines Corp.神经网络、遗传算法NeuralWareNeuralfare Inc.神经网络-InformationInfornation Harvesting.模糊专家系统规则RenindCognitive systems基于实例的推理、归纳逻辑PrisonNestor Inc.神经网络IDISInformation Discovery Inc.规则发现F DBMSCross/Z International Inc.
16、分数维DataengineMIT GmbH模糊逻辑,神经网络、信号处理时间序列是一种非常广泛也非常重要的数据,如计算机系统中的日志记录。 可以抽象地认为这个记录是时间的一个序列,每个时间有对应的产生事件。时序 数据库是指山随时间变化的序列值或时间组成的数据库,值通常是等时间间隔测 得的数据。时间序列分析是用变量过去的值来预测未来的值。这些值的区别是变 量所处时间的相关性,如对股票涨跌的分析。趋势分析是时间序列方法的一个主 要应用之一,通常,对趋势进行评估有三种曲线拟合方法:1. 自由方法。它是根据个人判断画条近似曲线(或直线)来拟合所给出的 组数据:这种方法的有效性和质量就完全依赖个人的判断,
17、这种方法在对大规模 数据挖掘中既不可靠且成本高。2. 最小平方方法。将最佳拟合曲线作为最小平方曲线。3. 移动平均方法。它是利用移动平均来消除循环、季节性和无规律的模式。 然而移动平均会丢失在序列开始和结束时的数据,而这些数据不存在时可能会导 致循环或其他变化的产生。通过加权移动平均可以消除极端值数据的影响。预测 是构造和使用模型评估无标号样本类,或评估给定样本可能具有的属性值或区间 值。预测的廿的是从历史大熠数据中自动推导出对给定数据的推广描述,从而能对未来数据进行预测。由于股票数据具有数据时序的特点,正符合时间序列方法 要求有大量充足的时序数据的要求。所以应用时间序列方法预测股票的走势是可
18、 行的。2. 2. 1简单一次移动平均预测法简单一次移动平均预测法是对时间序列按-定跨越期,移动计算观察值的算 术平均数,其平均数随着观察值的移动而向后移动。设y。为时间序列,取移 动平均的项数为n,设丫。是第t期的实际值,则第(t+1)期预测值的计算公式为:丸“ .您.”勺叫中 2力,“(2.1)其中,表示第t期一次移动平均数,歹由是第(t+1)期预测值(tn),预测的标准误差是:其中,N为时间序列yt)中原始数据的个数0。项数n的取值应该根据时间序列的特点而定。如果n过大会降低移动平均数的 敏感性,影响预测的准确性;如果n过小,移动平均数易受随机变动的影响,难 以反映实际趋势。一般取n的大
19、小能包含季节变动和周期变动的时期比较好,这 样可以消除它们的影响。对于没有季节变动和周期变动的时间序列,n的取值要 视历史数据的趋势类型而定。一般说来,如果历史数据的类型呈水平型发展趋势, 则项数n可取较大值;如果历史数据的类型呈上升(下降)发展趋势,则项数n可取较小值,这样能取得较好的预测效果。2. 2. 2一次指数平滑预测法指数平滑预测法实际上是一种特殊的加权移动平均法。它的特点在于:1. 对离预测期最近的市场现象观察值,给予最大的权数,而对离预测期渐远的观察值给予递减的权数。2. 对于同一市场现象连续计算其指数平滑值,对较早期的市场现象观察值不是一概不予考虑,而是给予递减的权数。3. 指
20、数平滑法中的口值,是一个可调节的权数值,它是一个OWaWl的值。一次指数平滑预测法是以a(l-a)为权重3.)对时间序列yj 进行加权平均的一种预测方法,y,的权重为。,的权重为a(l-a),2的权重 为a(l-a)2,,依此类推.计算公式为:扃“:、吧(2.3) 其中,贝表示第t期实际值,丸“是第(t+1)期预测值,S,% S?分别表示第(t-l) 期和第t期的一次指数平滑值,。表示平滑系数,0aU预测标准误差为:其中,n为时间序列中含有原始数据的个数。平滑系数口对预测值有较大影响,但目前还没有一种较好的选值的方法,只能根据经验来确定。当时间序列的数据呈水平型发展趋势时,口可取较小的值,通常
21、在0到(). 3之间;如果序列数据的类型呈上升*降)型发展趋势,则项数口可能取较大值,在o. 6到1之间。在实际预测时,可以选取不同的口值进行比较,从中选取一 个合适的口值。在计算指数平滑法的平滑值时,需要给出一个初值s5,可取原时 间序列的第一项或前几项的算术平均值为初值。一次指数平滑法适用于变化比较 平稳、增长或下降趋势不明显的时间序列数据预钏。2. 2. 3两次指数平滑预测法二次指数平滑预测法是对一次指数平滑值再作一次指数平滑来进行预测的 一种方法,但第(t+1)期预测值并非第t期的二次指数平滑值,而是采用下列公式 进行预测:(2. 5)S尸, + (1 - a )Sf其中,a, = 2
22、S?)- S户占=丁?一(玲)-S户),S?)表示第t期的一次指数平滑 值,S曾表示第t期的二次指数平滑值,乂是第t期实际值,丸表示第(t+T期预 测值,a是平滑系数,初值的取值方法与S,的取法相同。预测的标准误差为:(2.6)二次指数平滑法适用与时问序列呈线性增长情况下的短期预测。2. 3人工神经网络技术人工神经网络是大量简单元件广泛相连接而成的复杂网络系统,它是现代神 经科学成果的基础下提出的,反映了人脑功能的若干基本特征,但并非神经系统 的逼真描写,而只是一种抽象的数学模型。人工神经网络其实质是一门非线性科 学,它具有并行处理、容错性、自学习功能,有别于传统方法,己在模式识别、 自动化控
23、制等领域取得了惊人的成就。在国外,人工神经网络已经成为了投资公 司及基金经理的强力工具与高效助手。国内起步虽晚,但对于基于神经网络的股 票预测系统也有一定的研究。人工神经网络的应用按照面向的预测对象可分为这 三类。第一类为通过将股票分类为强势股与弱势股来预测股票表现为优秀股,一 般股,较差股。这类人工神经网络应用做出的决策只提供能否盈利,并不提供期 望的价格及期望的盈利。第二类对股票价格进行预测,这些系统基于之前的股价 及相关的金融系数尝试预测未来天或几天的价格。第三类重要的人工神经网络 在股票市场中的应用是对股票表现建立模型及预测。这类应用不仅预测股票的未 来价格,也估算重要影响因素,可能影
24、响结果的变量的敏感度分析,以及其他相 关性分析。2. 3.1BP算法本文采用目前应用最广泛的多层前馈神经网络模型(BP模型)。BP算法的学 习目的是对网络的连接权值进行调整,使得调整后的网络对任一输入都能得到所 期望的输出,BP网络由输入层、输出层及隐含层组成,如图2. 2所示.Xa输入层图2.2 BP网络结构隐含层可有一个或多个,每层由若干个神经元组成。隐含单元与输入单元之间、 输出单元与隐含层之可通过相应的传递强度逐个相互联结,用来模拟神经细胞之 间的相互联结。一个良好的网络结构能提高运算的精度,缩短学习的时间ml。输入和输出层的神经元个数-般由输入和输出变量的个数决定,而隐层的神经元 个
25、数则跟输入层和输出层的神经元个数有关,但具体的定量关系目前仍无定论。根据Cnarenc. eN w Tan和Gerhard E Witti91993年的研究,一般情况下输入层、单个隐层和输出层的神经元个数基本相等呈金字塔结构时,BP模型的运行 效果较好。BP神经网络采用误差反馈学习算法,其学习过程由正向传播(网络正 算)和反向传播(误差反馈)两部分组成。在正向传播过程中,输入信息经隐含单元 逐层处理并传向输出层,如果输出层不能得到期望的输出,则转入反向传播过程, 将实际值与网络输出之间的误差沿原来的联结通路返回,通过修改各层神经元的 联系权值而误差减小,然后再转入正向传播过程,反复迭代,直到误
26、差小于给定 的值为止2. 3. 2 GA算法遗传算法(GcncticAlgorithm,简称GA)是一种模仿自然界生物进化论思想而得 出的一种自适应启发式全局搜索算法,其实质是由复制一交换一变异算子组成的 周而复始的循环过程。这种方法由于仿效生物的进化与遗传,根据“生存竞争” 和“优胜劣汰”的原则,借助复制、交换、变异等操作,使要解决的问题一步步 逼近最优解。遗传算法的实施过程中包括编码、产生群体、计算适应度、复制、 交换、变异等操作。使用遗传算法时,需要把优化问题的每一个解的参数形式转 换成基因码串的表现形式,这一转换操作就叫编码。其中码串中的每一位代表一 个基因,一个基因码串就代表问题的一
27、个解,每个基因码串有时也称做一个个体, 或称做染色体。一定数量的个体组成了一个群体,一个群体是若干个个体的集合。 由于每个个体代表了问题的一个解,所以一个群体就是问题的一些解的集合。 GA通过上述简单的机制,以不依赖于求解问题本身的方式,能够对复杂,非线 性和多维空间实现快速有效地搜索,其主要优越性表现在具有全局优化能力和隐含 并行性方面,复制和交换算子使算法将注意力集中到搜索空间中的优势区域。第三章人工神经网络的预测实现1神经网络模型在股票预测中的应用本文采用基于BP模型的神经网络,用BP算法和遗传算法来训练网络权值, 同时还采用了调整权值和调整策略相结合的方法,对证券市场的价格进行预测,
28、并通过实验验证运用神经网络模型预测性能的可行性,探讨人工神经网络理论在 证券市场预测中的应用。3.2数据预处理子系统数据预处理子系统根据挖掘的目的,对原始沪深估值数据文件中的数据进行 提取、分解、合并、最后转换为适合进行数据挖掘的数据格式,并保存到关系型 数据库表或数据仓库中,等待进一步处理。该阶段是股票数据信息挖掘最关键的 阶段,数据预处理包括:关于沪深股指数据的清理处理、关于清理后股指数据的 归一化处理。数据预处理过程如图4.2所示图4.2数据预处理过程本论文分析数据来源于大智慧股票分析软件,保存在Wong.xls”文件中,它实际上是一个4255*27的矩阵禹,共130多万笔记录,这些数据
29、包括股票名称、股票代码、股票交易日期、总流通股、股票开盘价、股票收盘价、股票日成交量、 最高价、最低价,还有5日,10日平均线数据以及各种股票综合指数。具体统计 Data mining can be very good to deal with diese non-stationan,non-normal, high-noise data. By combining statistical sampling, estimation andhypothesis testing, machine learning search algorithms and modeling techniques,
30、 data输出数据如表4.1所示:时间200810172008101620081015200810142008101320081010200810092008100820081007KDJ.K12. 9427216.9152924.2198527. 9921231. 3052729. 2756938. 8622555. 4674174. 76756KDJ.D22. 8072827. 7395533. 1516837.617642. 4303447. 9928757. 3514666. 5960672. 16039KDJ. J-6. 78638-4. 733256. 3561948. 74117
31、39. 055138-8. 158661.88383533. 2101179. 9819表4.1MA. MAI1982.5351999.214 2032. 142 2051.654 2079. 757 2099. 792 2158. 434 2203.017 2227. 935MA. MA22041. 1632078. 8242117.582139. 7942158.2132174. 4982181.9492164. 0752147.757MA. MA32081. 1972089. 2872101.3272108. 8832115. 1882121.6322135. 4742145.57921
32、56.212我们用如下公式对原始数据进行了归一化:A - Min( A.)JMax(A.)- in(A )归一化后的数据取值在0到1之间。通过excel里的公式编辑器,我们得到规约好的数据文件clata2.xlso具体数据如表4.2所示:19940113 0.840929 0.797166 0.775397 0.562569 0.00304 0.00369519940112 0.821091 0.777561 0.762 0.541059 0.004736 0.00582919940111 0.849729 0.758356 0.839179 0.527059 0.005769 0.00626
33、19940110 ().862393 0.714819 0.915974 0.56234 0.006878 0.00858219940107 0.79359 0.643001 0.874165 0.555569 0.006354 0.00771719940106 0.723874 0.57066 0.831278 0.580351 0.007144 0.00844119940105 0.58581 0.498004 0.660383 0.578821 0.003535 0.0040919940104 0.483011 0.460027 0.51351 0.541956 0.002511 0.0
34、0298519940103 0.523123 0.455932 0.593847 0.541041 0.003801 0.0046219931231 0.566838 0.42916 0.708561 0.555886 0.002492 0.003188表4.2数据下载之后导出成固定格式的文本文件,通过编程把这些文本文件在导入 到MS第四章基于BP神经网络模型的股票分析系统设计SQLServer据库。为 了方便接下来的数据挖掘,设计数据库结构共分为5个表结构如下图4.3所示:PKtrade idFK1stw:k_code stock_nae trftde_dte 开身 aft MM 收蜜成交
35、(MA.MA5) tUAJUIO MA. MA20 :MA. MA60PKsijKkjccdestock_id siock.nate cut mark 流痴市值 踪麻值 涅通股本图4.3股票交易数据库结构其中:PKni_ blockblock id! . JPKDeclassclass idsHK一stockq*stock class idblock_nurrKlelft35_namfi:-1 idFKIFX2ClA3S_idstock code ctnk_rvMiiwm_block是股票分类板块,比如股票分类是按地域或概念或行业来分类等等; m_class是一个股票分类板块下的具体的股票分类
36、;m_stock是所有股票及其本身相关的属性;m_ stock, class是一个股票分类与具体股票之间的关系;t_dc是所有股票的交易数据。3.3BP神经网络子系统结构设计我们使用VC6.0编程设计实现BP神经网络核心子系统。BP神经网络核心数据 结构如下:Struct node_w!9(Short nodel 1;Double vll;Double dvll;Struct nodc_v *next;;Struct all_nodc(Double act;Double ta;Int cha;Short node11;Double w 11;Double dwl 1J;Struct nodc_
37、w *nwncxt;Struct all_node *nnext;为了表达BP神经网络的层次结构,我们设定了如下数据结构:Struct node_cShort n_c;Struct node_c *next;;Struct hidden_layerStruct node_c *next;Struct hiddcn_layer *lnext; ;Struct strShort layer;Short input_n;Short hidden_n;Short output_n;Short node_n;Struct nodc_c *il;Struct hiddcn_laycr *hl;Struct
38、 nodc_c *ol;;其中,结构体nodc_c表示神经元链表,n_c是神经元编号,*ncxt代表指向下 一个神经元的指针。HiddenJayer构体用来表示神经网络中的隐含层,处于同 一隐含层的神经元代码由*next指针来链接,下一层的各神经元由指针*l*xt来表 示。结构体structstr用来描述神经网络的结构。其中,layer表示这个神经网络中所 含的神经元层数;input_n,hiddcn_n,output_n为该神经网络模型中所有输入神经元 个数,隐含层神经元个数和输出层神经元个数;node_n代表了该神经网络模型中 所含有的神经元个数;*il指针指向输入层神经元链,*hl指针指
39、向第一隐含层神经 元链,*。1指针指向输出层神经元链。其具体数据库结构如图4.4:PKnnstr Idlayer_nu input_nua hidden_nu output.nuinn.iayerPllAYer idFI1nnstr_id xchann.ntxiPInode idFI1hy*r_H node_ode act zta xchanneinn, node, weightPKn, idP1node_iddvcn_nod_id nwnoxt_id图4.4神经网络数据库结构根据BP神经网络模型的学习算法,可以得到BP神经网络模型的学习算法实 现流程图,如图4.5所示:开始向的讨鼻答层的出值
40、出层的湿差洗计所句代本的场方差it入神片网练维构靖息 读入神垸喝络数据点息f为始化枚值第桦经无问值读入祥本敷抵11烦H-将一个样本输入神经元设希变的初始伯反向修改权财和饵依图4.5神经网络算法实现流程图神经网络子系统核心部分有三部分组成:底层股票数据模块,神经网络模块, 结果图形显示模块。底层股票数据模块#基本参数设置#stockTotalI xn一成交量#dStockData基本股票数据stnckTctalLcn 二 lcngth(dStcckData);#神经网络学习训练集的大小stockTrainLen=stockTotalLen*iRatio#学习训练的股票交易数据iStudyBase
41、Data=dStockData(:;l:stockTrainLen);#训练的股票交易预测数据lstudyTargctData=dStockl)ata(1:stockTrainI.cn);#预测股票的交易数据iCheckBaseData=dStockData(:,stockTrainlnistockTotalln);#预测股票交易的预测数据iCheckTargetData=dStockData(stockTrainLen:stockTotalIn);神经网络模块#神经网络学习二训练学习#bTrainF二二1,需要学习获得网络参数,否则应用已有网络参数IfbTrainF 二二 1#数据预处理pn
42、,minp,maxp,tn,mint,maxt=prcmnmx(train_p,train_t);#创建BP神经网络#iIValue神经网络的输入节点#iM Value神经网络的中间节点#i()Valuc神经网络的输出节点#strlFun神经网络的输入层函数类型#strMFun神经网络的中间层函数类型#str()Fun -神经网络的输出层函数类型#strTFun神经网络的训练函数类型Net=newff(minmax(pn),iIValue, iMValue,iOValue, strlFun, strMFun, strOFun ,strTrainFun);#神经网络参数iTrainShow显示间
43、隔次数Net.ttainP.show=iTrainShow;#神经网络参数iTrainR神经网络的学习速度Net.trainP.r=iTrainR;#神经网络参数iTrainM神经网络的动量常数Net.trainP.m=iTrainM;#神经网络参数iTrainMax神经网络的训练次数Net.trainP.eiTrainMax;#神经网络参数iTrainObj神经网络的性能目标Net. train P.g= ffrainObj;#神经网络开始训练(net,tr=train(net,pn,tn);end#神经网络应用一预测检验#预测数据预处理|p3,minp3,maxp3,t3,mint3,ma
44、xt3=prcmnmx(iChcckBascl)ata,iChcckTargctData);#模拟预测dSimStandcrV 二 sim(ncqp3);#得去预测值|dSimz=postmnmx(dSimStanderV,mint3,maxt3);#获得实际值与预测值的差值 dExpV=iCheckT argetData-dSimV;#计算均方差值Pcrf=msc(c);Dx 二 1 :lcngth(dSim V)图形显示模块#设置图形显示位置Subplot。,5,4);Xlabel(strXlab);Ylabcl(strYlab);Titlc(strTitlc);Plot(Xlabcl,Y
45、labcl,Tidc);#显示预测结果Grid on; 28Subplot(4,6,5);Xlabel(strXlab);Ylabel(strYlab);Titlc(strTitlc);Plot(Xlabcl,Ylabcl,Title);Grid on;图4.6是用VC6.0最终的建模结果 mining have a considerable advantage in dealing with large amounts of data、 high-frequency, multi-dimensional data. The most important factor is that it c
46、ancontinue to embody the new data to dynamic update the data model which is verysuitable for the new environment.It is use the time. series methods. the artificial neuralnetv*ork model in thispaper. Applications of time-series forecasting methods havebeen used in a simple moving average forecast, a
47、forecast of exponential smoothing,two exponential smoothing prediction method. timc-scrics methods have the mostsimplc in forc-casting trend of the stock,but have the largest error. Application ofArtificial Neural Network,BP algorithm and used genetic algorithms to train thenetwork weights, but also adopted the learning rate and momentum method ofcombining adaptive adjustment of the strategy,the price of the se
©2010-2024 宁波自信网络信息技术有限公司 版权所有
客服电话:4008-655-100 投诉/维权电话:4009-655-100