1、厦门大学软件学院毕业论文1本科毕业论文(科研训练、毕业设计)题 目:基于数据挖掘的烟草决策支持系统聚类分析在烟草产品分析中的应用姓 名:学 院:软件学院系: 专 业:软件工程年 级:学 号:指导教师(校内): 职称: 年 月厦门大学软件学院毕业论文2摘要 作为解决目前企业信息系统中普遍面临的数据爆炸而导致信息缺乏状况的最有效的手段之一,数据挖掘受到了学术界和企业界的极大关注。 产品分析是企业供应链管理的关键环节,通过产品分析,企业可以制定科学合理的原材料采购计划、生产计划、人员配备计划、库存计划以及营销计划。因此,产品分析对于企业的经营决策具有重要的研究意义。要提高产品分析的准确性,就要对大量
2、的数据进行分析并得出有用的信息和知识,而数据挖掘技术恰能很好的做到这一点。本文在波士顿矩阵的基础上用聚类分析的方法对产品进行分析。本文首先对产品分析这个问题进行了深入分析,阐明了其在支持决策系统中的重要性。接下来以波士顿矩阵为基础,具体研究聚类分析的结构设计原理和实现机制。最后本文以福建省某地区的烟草销售数据作为案例分析,来实现系统的效果。关键词 产品分析 聚类分析 波士顿矩阵厦门大学软件学院毕业论文3Abstract At a most valid means of solving the status of data explosion but information lack that
3、current enterprise information systems are faced with, data mining is paying maximum attention to the academic and enterprise.Product analysis is the pivotal segment in supply chain management of enterprises, according to the result of product analysis, enterprises can just make rational materials p
4、rocurement plan, production schedule, staffing plan, stock plan and marketing plan. So product analysis used for supporting sale decision and other decision which are important for the development of enterprises. In order to improve the accuracy of product analysis, database-supported knowledge acqu
5、isition and data mining technologies are usually used to capture objective information and knowledge from mass information. In this dissertation, one advanced theories of data miningclustering is applied to confirm utilization ratio of product analysis.Firstly, scrap ratio of product analysis is ana
6、lyzed deeply and its importance to DSS is described. The theory of BCG Matrix is explained, and then the application of the theory is developed. Finally, the information system is developed as practical research. The results show that the application research has important practical value to the ent
7、erprises.Key words product analysis clustering BCG Matrix厦门大学软件学院毕业论文4目 录第一章 引 言 .5第二章 理论和开发技术基础 62.1 决策支持系统 62.2 数据挖掘 62.3 波士顿矩阵 92.4 烟草销售 122.5 开发工具简介 132.5.1 Borland C+builder6.0.132.5.2 Oracle10g.14第三章 系统总体设计 163.1 系统整体架构 163.2 系统功能模块设计 163.3 系统设计流程 17第四章 系统详细设计 194.1 数据采集与预处理 194.1.1 数据来源 194.1
8、.2 数据准备 204.2 波士顿矩阵 224.3 聚类分析 264.4 产品策略 28第五章 结束语 29致 谢 30参考文献 31附录 32厦门大学软件学院毕业论文5ContentsChapter 1 Introduction 5Chapter 2 Theory and technology basics .62.1 DSS.62.2 Data Mining .62.3 BCG Matrix92.4 Tobacco distribution 122.5 Development environment introduction.132.5.1 Borland C+builder6.0132.
9、5.2 Oracle10g .14Chapter 3 System collectivity design163.1 System truss163.2 Module design.163.3 Process of system design .17Chapter 4 System particular design194.1 Data collection and pretreatment 194.1.1 Data source .194.1.2 Data preparation204.2 BCG Matrix224.3 Clustering 264.4 Data analysis28Cha
10、pter 5 Summary29Acknowledgement.30References31Supplement.32厦门大学软件学院毕业论文6第一章 引 言产品分析是企业供应链的关键环节,根据分析的结果,企业才可以制定合理的原材料采购计划、生产计划、人员配备计划、库存计划以及营销计划。但是,在相当长的时间里,我国许多的企业,产品分析主要是靠个人经验来进行的,或者根本没有进行销售预测研究,生产完全脱离市场,造成产品大量积压,资源严重浪费。随着信息时代的到来,国际以及国内的信息科学取得了不断的发展,产生出了诸多新的成果和理论,这些成果和理论具有广泛的指导意义和价值。如何将这些理论有机地与实践相结
11、合,也成为一项十分有意义的研究课题。目前国内大多数商业企业的信息系统一直停留在基本数据的收集层面,但决策支持系统还比较落后,甚至有些企业还没有意识到它的重要性。有了信息不会分析,它就只是一种简单的原始数据,不能成为可供企业分析、支持决策的信息。而且随着数据库、数据仓库、数据挖掘等技术的发展和完善以及在决策支持系统中的应用,基于数据挖掘的分析方法也应该服务于销售预测。因此 1将数据挖掘技术、数据仓库技术、决策支持系统的研究成果与产品分析相结合是可实现的,应用数据挖掘方法对产品数据库进行分析,提高产品分析的准确率无疑是十分有意义的。本文的主要思路是,在对产品分析、决策支持系统、数据挖掘和波士顿矩阵
12、进行全面、深入研究的基础上,根据需求分析和系统功能设定,对数据挖掘系统进行总体结构设计和功能模块的设计,然后在此系统基础上根据产品分析的相关主题进行了数据挖掘模型的设计。主要是在波士顿矩阵的基础上运用聚类分析的方法对产品进行分析。厦门大学软件学院毕业论文7厦门大学软件学院毕业论文8第二章 理论和开发技术基础2.1决策支持系统决策支持系统(DSS) 中“决策”就是决策者根据所掌握的信息为决策对象选择行为的思维过程。为决策者提供支持的信息成为决策支持信息,相应的信息系统称为决策支持系统。我们将决策支持领域分成 OLTP、MIS、LDSS 及 HDSS四个层次 2:OLTP(联机事物处理) 最基本的
13、数据库应用系统,是更高级的 MIS 系统和 DSS 系统的基础。OLTP系统一般具有底层信息采集(数据录入功能)、一定的信息查询以及信息库更新维护功能。基于 OLTP 的 MIS 系统这是较高一级的数据库应用系统,这类系统在 OLTP 的基础上进一步扩展,包括提高信息访问功能,报表生成能力等。LDSS(低级决策支持系统) LDSS 处于比 MIS 更高一层的位置,直接为决策者提供决策支持服务。HDSS(高级决策支持系统) HDSS 是决策支持系统的最高形式。能够真正使用户利用 DSS 工具直接从企业信息池中随机地提取、分析数据,有效地服务于企业的全方位决策。它由三个主要部件构成:数据仓库技术(
14、Data Warehousing)、联机分析处理技术: OLAP(On -line Analytical Processing)和数据挖掘技术(Data Mining)。虽然数据仓库、数据挖掘和 OLAP 技术最初是作为三种独立的信息处理技术出现的,但是,由于它们之间内在的联系和互补性,使得这三种技术在高级决策支持系统中已经成为一个密不可分的核心。2.2数据挖掘数据挖掘(Data Mining,简称 DM) ,简单地讲就是从大量数据中挖掘或抽取出知识,数据挖掘概念的定义描述有若干版本,以下给出一个被普遍采用的厦门大学软件学院毕业论文9定义描述 3:数据挖掘,又称为数据库中知识发现(Knowle
15、dge Discovery from Database,简称 KDD) ,它是一个从大量数据中抽取挖掘出未知的、有价值的模式或规律等知识的复杂过程。数据挖掘是从大型数据库或数据仓库中发现并提取隐藏在其中的信息或知识的过程。目的是帮助分析人员寻找数据间潜在的关联,发现忽略的要素,而这些信息对预测趋势和决策行为是十分有用的,所以数据挖掘属于决策支持系统的范畴。数据挖掘的一般过程可用图 2-1 表示 3:图 2-1 数据挖掘的一般过程预处理数据通过消除噪声、推倒计算缺失值、消除重复记录、完成数据类型转换等来收集和净化来自数据源的信息,并加以存储(一般存储在数据仓库中)。模型搜索利用数据挖掘工具在数据
16、中查找模型,这个搜索过程可以由系统自动执行,自底向上搜索原始事实以发现它们之间的某种联系,也可以加入用户交互过程,厦门大学软件学院毕业论文10由分析人员主动发问,从上倒下地寻找以验证假定的正确性。评价输出结果数据挖掘阶段发现出来的模式,经过用户或机器的评估,可能存在冗余、价值不大的或无关的模式,这是需要将其剔除,把重要的模型形成知识存储到知识库中。生产最后的报告结果数据挖掘由于最终是面向人类用户的,因此可能要对发现的模式进行可视化,或者把结果转化为用户易懂的另一种表示。解释结果报告对结果进行解释,依据此结果采取相应的商业措施,这是一个人工过程。数据挖掘的两个基本目标是预测和描述。预测是指用一些
17、变量或数据库中的若干已知字段预测其它感兴趣的变量或字段的未知或未来的值;描述是指找到描述数据的可理解模式。根据发现知识的不同,数据挖掘的基本任务包括相关分析、聚类、分类(概念描述)、偏差检测、预测。数据挖掘(DM)是人工只能和数据库相结合的产物,它的许多方法来源于机器学习。对于不同应用系统的数据挖掘技术采用不同的技术和手段,DM 的方法通常可以分为两大类:一类是统计型,常用的技术有概率分析、相关性、聚类分析和判别分析等;另一类是人工只能中的机器学习型,通过训练和学习大量的样品集得出需要的模式或参数。由于各种方法都有自身的功能特点以及应用领域,数据挖掘技术的选择将影响最后的结果和质量和结果,通常
18、是将多种技术结合使用,形成优势互补。传统的 DSS 系统通常是 4在某个假设的前提下通过数据查询和分析来验证或否定这个假设,而数据挖掘技术则能够自动分析数据,进行归纳整理,从中发现潜在的模式,或产生联想,建立新的业务模型,帮助决策者调整市场策略,并找出正确的决策。例如在销售业数据库中,数据挖掘工具回答“哪些客户最可能对促销做出反应,问什么他会这样?” 、 “哪些商品之间具有潜在的联系?” 、 “在下一个月,在天津的销售部门的情况将会如何?为什么?” 等。而 DSS系统回答“今年销售总量比去年多多少?从而预测明年销售总量” 、 “三月份中,在天津的销售部门的情况如何?从而推测在北京的销售部门情况
19、” 。所以,数据厦门大学软件学院毕业论文11挖掘的出现使决策支持工具跨入了一个新的阶段。数据挖掘技术能够帮助用户从历史性数据中挖掘知识,进而支持决策,极大地吸引用户,而用户造就的巨大的市场又极大地吸引了数据库厂商。各大公司纷纷开始了自己的数据挖掘工具产品的研制工作。2.3波士顿矩阵波士顿矩阵是由美国大型商业咨询公司波士顿咨询集团(Boston Consulting Group)首创的一种规划企业产品组合的方法。问题的关键在于要解决如何使企业的产品品种及其结构适合市场需求的变化,只有这样企业的生产才有意义。同时,如何将企业有限的资源有效地分配到合理的产品结构中去,以保证企业收益,是企业在激烈竞争
20、中能否取胜的关键。波士顿矩阵认为一般决定产品结构的基本因素有二个 5:即市场引力与企业实力。市场引力包括企业销售量(额)增长率、目标市场容量、竞争对手强弱及利润高低等。其中最主要的是反映市场引力的综合指标销售增长率,这是决定企业产品结构是否合理的外在因素。企业实力包括市场占有率,技术、设备、资金利用能力等,其中市场占有率是决定企业产品结构的内在要素,它直接显示出企业竞争实力。销售增长率与市场占有率既相互影响,又互为条件:市场引力大,销售增长率高,可以显示产品发展的良好前景,企业也具备相应的适应能力,实力较强;如果仅有市场引力大,而没有相应的高销售增长率,则说明企业尚无足够实力,则该种产品也无法
21、顺利发展。相反,企业实力强,而市场引力小的产品也预示了该产品的市场前景不佳。通过以上两个因素相互作用,会出现四种不同性质的产品类型,形成不同的产品发展前景:销售增长率和市场占有率“双高”的产品群(明星类产品) ;销售增长率和市场占有率“双低”的产品群(瘦狗类产品) ;销售增长率高、市场占有率低的产品群(问号类产品) ;销售增长率低、市场占有率高的产品群(现金牛类产品) 。如图 2-2 所示,纵坐标市场成长率表示该业务的销售量或销售额的年增长率,用数字 0-20%表示,并认为市场成长率超过 10%就是高速增长。横坐标相对市场份额表示该业务相对于最大竞争对手的市场份额,用于衡量企业在相关市厦门大学
22、软件学院毕业论文12场上的实力。用数字 0.1(该企业销售量是最大竞争对手销售量的 10%)-10(该企业销售量是最大竞争对手销售量的 10 倍)表示,并以相对市场份额为1.0 为分界线。需要注意的是,这些数字范围可能在运用中根据实际情况的不同进行修改。图 2-2 波士顿矩阵波士顿矩阵法将一个公司的业务分成四种类型 5:问题、明星、现金牛和瘦狗。问题类业务:指市场成长率高、相对市场份额低的业务。这往往是一个公司的新业务,为发展问题类业务,公司必须建立工厂,增加设备和人员,以便跟上迅速发展的市场,并超过竞争对手,这些意味着大量的资金投入。 “问题”非常贴切地描述了公司对待这类业务的态度,因为这时
23、公司必须慎重回答“是否继续投资,发展该业务?”这个问题。只有那些符合企业发展长远目标、企业具有资源优势、能够增强企业核心竞争能力的业务才能得到肯定的口答。图厦门大学软件学院毕业论文13中所示的公司有三项问题类业务,不可能全部投资发展,只能选择其中的一项或两项,集中投资发展。 明星类业务:指市场成长率高、相对市场份额高的业务,这是由问题类业务继续投资发展起来的,可以视为高速成长市场中的领导者,它将成为公司未来的现金牛类业务。但这并不意味着明星类业务一定可以给企业带来滚滚财源,因为市场还在高速成长,企业必须继续投资,以保持与市场同步增长,并击退竞争对手。企业没有明星类业务,就失去了希望,但群星闪烁
24、也可能会迷惑了企业高层管理者的眼睛,导致做出错误的决策。这时必须具备识别行星和恒星的能力,将企业有限的资源投入在能够发展成为现金牛的恒星上。 现金牛类业务:市场成长率低、相对市场份额高的业务,这是成熟市场中的领导者,它是企业现金的来源。由于市场已经成熟,企业不必大量投资来扩展市场规模,同时作为市场中的领导者,该业务享有规模经济和高边际利润的优势,因而给企业带大量财源。企业往往用现金牛类业务来支付现金并支持其他三种需大量现金的业务。图中所示的公司只有一个现金牛类业务,说明它的财务状况是很脆弱的。因为如果市场环境一旦变化导致这项业务的市场份额下降,公司就不得不从其他业务单位中抽回现金来维持现金牛的
25、领导地位,否则这个强壮的现金牛可能就会变弱,甚至成为瘦狗。 瘦狗类业务是指市场成长率低、相对市场份额低的业务。一般情况下,这类业务常常是微利甚至是亏损的。瘦狗类业务存在的原因更多是由于感情上的因素,虽然一直微利经营,但象人对养了多年的狗一样恋恋不舍而不忍放弃。其实,瘦狗类业务通常要占用很多资源,如资金、管理部门的时间等,多数时候是得不偿失的。图中的公司有两项瘦狗类业务,可以说,这是沉重的负担。波士顿矩阵法的方法应用 5 在明确了各项业务单位在公司中的不同地位后,就需要进一步明确其战略目标。通常有四种战略目标分别适用于不同的业务。发展:继续大量投资,目的是扩大战略业务单位的市场份额。主要针对有发
26、展前途的问题类业务和明星中的恒星类业务。维持:投资维持现状,目标是保持业务单位现有的市场份额。主要针对强大稳定的现金牛类业务。 厦门大学软件学院毕业论文14收获:实质上是一种榨取,目标是在短期内尽可能地得到最大限度的现金收入。主要针对处境不佳的现金牛类业务及没有发展前途的问题类业务和瘦狗类业务。 放弃:目标在于出售和清理某些业务,将资源转移到更有利的领域。这种目标适用于无利可图的瘦狗类和问题类业务。波士顿矩阵法的意义 6波土顿矩阵法的应用产生了许多收益,它提高了管理人员的分析和战略决策能力,帮助他们以前瞻性的眼光看问题,更深刻地理解公司各项业务活动的联系,加强了业务单位和企业管理人员之间的沟通
27、,及时调整公司的业务投资组合,收获或放弃萎缩业务,加强在更有发展前景的业务中的投资。 同时,也应该看到这种方法的局限性,如由于评分等级过于宽泛,可能会造成两项或多项不同的业务位于一个象限中;其次,由于评分等级带有折衷性,使很多业务位于矩阵的中间区域,难以确定使用何种战略;同时,这种方法也难以同时顾及到两项或多项业务的平衡。因此在使用这种方法时要尽量占有更多资料,审慎分析,避免因方法的缺陷造成决策的失误。2.4烟草销售中国是世界上最大的烟草生产和消费大国,烟草工业在国民经济中占据着举足轻重的地位。进入 21 世纪,电子商务的应用对企业运作产生了极大的影响,促进了烟草企业的经营变革,竞争的压力使得
28、烟草企业对于可以提高企业竞争力的各种营销方法和管理方式表现出巨大的热情。作为烟草企业能否在电子商务的应用中,确保现有的决策流程与的强大优势完美结合的基础上,将烟草决策链上的每个企业、每个伙伴甚至每个客户紧密连接起来,从而更大地降低成本、更快地捕捉市场,更好地保持一个长期、持续、盈利的电子商务模式,烟草企业决策支持系统的应用,将成为中国烟草企业一个新的经营热点和亮点,将为烟草企业提高核心竞争力,提供新的竞争手段和方式。由于烟草属于专卖产品,中国卷烟流通的主要特点是多品种、小批量的营销模式,单个客户订货数量小,品种分散;在销售形式方面,烟草生产以整件厦门大学软件学院毕业论文15发货为主,烟草流通则
29、以条发货为主。分析烟草企业的商业特点,可归为如下特点 7: 如何有效控制企业销售流程,制定合理、及时的经营策略,这是烟草企业的重要任务。烟草行业对市场的反映更加敏感,卷烟投放比例、价格波动、市场格局的变化、最终消费者的消费意向等,对卷烟的销售都构成很大影响,如何针对市场的变化及时调整营销策略,是卷烟企业面临的重要课题。 卷烟品种多,批量小。以福建省烟草公司为例,平均日配送品种在 100 种以上,客户订货量则由几条至几十件不等。分拣配送的主要任务是按照客户订单进行分拣,手工作业模式下,劳动强度大且容易出错,很难及时响应客户需求。 业务过程中产生大量的信息,这是进行公司经营绩效分析、制定销售及价格
30、策略的重要依据。由于数据量巨大,人工分析难度很大。数据分析系统的主要目的是通过对海量数据的挖掘、整理和统计,从中发现经营环节中的问题,发现有价值的客户和品牌,更加有效的反映市场的变化趋势,客观评价物流及资金流的运行情况,充分发挥信息的决策支持作用,使管理、业务、执行三个层次达到协调统一的目标。2.5开发工具简介2.5.1 Borland C+builder6.0C+ Builder 是由 Borland 公司 继 Delphi 之后又推出的一款高性能可视化集成开发工具。C+ Builder 具有快速的可视化开发环境:只要简单地把控件(Component)拖到窗体(Form)上,定义一下它的属性
31、,设置一下它的外观,就可以快速地建立应用程序界面;C+ Builder 内置了 100 多个完全封装了Windows 公用特性且具有完全可扩展性(包括全面支持 ActiveX 控件)的可重用控件;C+ Builder 具有一个专业 C+开发环境所能提供的全部功能:快速、高效、灵活的编译器优化,逐步连接,CPU 透视,命令行工具等。它实现了可视化的编程环境和功能强大的编程语言(C+)的完美结合。 厦门大学软件学院毕业论文16C+ Builder 优化的 32 位原码( Native Code)编译器建立在 Borland 公司久经考验的编译技术基础之上,提供了高度安全性、可靠性、快速性的编译优化
32、方法,完全编译出原始机器码而非中间码,软件执行速度大大提高。在编译和连接过程中,C+ Builder 自动忽略未被修改的原代码和没有使用的函数,从而大大提高了编译和连接速度。C+ Builder 的 CPU 透视工具包括五个独立的小面板,可以对正在运行程序从内部进行深层次的了解。另外 C+ Builder 还提供了一个专业开发环境所必需的命令行工具,以帮助建立 C+程序或者准备编译和连接的程序进行更精细的控制。 C+ Builder 可以编译所有符合 ANSI/ISO 标准的原代码,支持最新 ANSI C+/C 语言特征:模板(Templates) 、例外(Exceptions) 、运行类型信
33、息(Runtime Type Information) 、Namespaces 等,另外它还可以使用标准 C+库且支持标准模板库(STL) ,以前的所有 C+/C 原代码可以不经过修改,直接移植到 C+ Builder 环境下来。 C+ Builder 完全支持 32 位长文件名、多线程程序设计,且允许程序员直接调用任何 Win95 和 NT API 函数。 C+ Builder 的集成开发环境(IDE)提供了可视化窗体设计器、对象观察器、控件板、工程管理器、集成编辑器和调试器等一系列可视化快速应用程序开发(RAD)工具,让程序员可以很轻松地建立和管理自己的程序和资源。2.5.2 Oracle
34、10gOracle10g 是业界第一个完整的、智能化的新一代 Internet 基础架构,Oracle10g 电子商务平台实际上是指 Oracle 数据库 10g、Oracle 应用服务器 10g和 Oracle 开发工具套件 10g 的完整集成。 Oracle 数据库 10g 是第一套具有无限可伸缩性与高可用性,并可在集群环境中运行商业软件的互联网数据库,具有 400 多个领先的数据库功能,在集群技术、高可用性、商业智能、安全性、系统管理等方面都实现了新的突破。作为甲骨文公司长达十年的软件技术研发成果,真正应用集群技术(Real Application Clusters)能够提供近乎无限的扩
35、充能力与整体可用性,为用户带来透明的、高速增长的集群功能。 Oracle 应用服务器 10g 是 J2EE 认证的、最轻、最快、最具伸缩性的应用服厦门大学软件学院毕业论文17务器,提供了企业门户软件、无线支持、高速缓存、轻量级 J2EE 引擎、商务智能、快速应用开发、应用与业务集成、Web 服务等多种应用开发功能,形成完整的电子商务应用开发和部署环境。使用了 Oracle 应用服务器 10g 的用户可以通过升级软件来取代升级硬件,大大的节省了基础设施的成本花费。 Oracle 开发工具套件 10g 是一套完整的集成开发工具,可用于快速开发使用 Java 和 XML 语言的互联网应用和 Web
36、服务,支持任何语言、任何操作系统、任何开发风格、开发生命周期的任何阶段以及所有最新的互联网标准。厦门大学软件学院毕业论文18第三章 系统总体设计基于数据挖掘的烟草决策支持系统尝试着将数据挖掘的方法引入到决策支持系统中去,通过数据挖掘的模型和方对给定的数据进行分析,得到结果并输出,然后对最终的决策给出指导性意见。本文设计了一个基于波士顿矩阵的数据挖掘模型,通过对产品销售数据的分析,把某个地区销售的某类产品分为四类:问题、明星、现金牛和瘦狗,然后再采用聚类分析方法对产品进行分析,根据不同的分类采取不同的产品策略,完成对决策支持系统的决策支持。3.1系统整体架构系统的核心功能主要有人机交互模块、数据
37、获取模块和数据分析模块三大部分组成。系统整体架构如图 3-1 所示:图 3-1 系统功能结构3.2系统功能模块设计人机交互模块:人机交互模块是整个系统的一个窗口,它的好坏标志着该系统的水平。厦门大学软件学院毕业论文19数据获取模块:该模块数据分析所需要数据的输入或从其他系统导入的功能。系统的数据分为基础数据和业务数据两大部分,其中基础数据主要包括产品属性数据、产品数据、地区数据、客户数据等,业务数据主要包括产品销售数据、市场信息数据、产品断档数据、地区经济情况数据等。在输入或导入基础数据和业务数据后,系统将对这些数据进行简单的处理,构成数据仓库中的决策数据。数据分析模块:在该模块中主要提供了基
38、于数据挖掘的预测方法和 OLAP 分析方法,其中基于数据挖掘的方法只要有统计分析方法、神经网络分析法、决策树分析法、关联规则等分析方法,提供从时间、产品、地区的排行榜预测、比例预测、走势预测、对比预测,预测的内容包括销量、销售额、市场占有率、销售增长率等。本文设计的系统采用波士顿矩阵对烟草产品进行分析。3.3系统设计流程本系统基于波士顿矩阵进行设计,实现数据读入、数据预处理、计算市场占有率和销售增长率、形成波士顿矩阵、结果输出等功能,最后对结果进行聚类分析。系统的设计流程图如图 3-2 所示:厦门大学软件学院毕业论文20图 3-2 系统设计流程图 首先是进行数据的读入。将数据从数据库中读取出来
39、,存放在临时表中,准备对数据进行预处理。 数据预处理。把源数据转换成分析所需的数据。 生成波士顿矩阵。绘制四象限图。以给定的(或自己确定)市场占有率为高低标准分界线,将坐标图划分为四个象限。 聚类分析。对波士顿矩阵生成的结果进行聚类分析。 输出结果。将分析的结果可视化。 产品分析。根据输出的结果可以将大部分市场上销售的该种产品进行分类,对不同种类的产品采取相应的战略对策。厦门大学软件学院毕业论文21第四章 系统详细设计4.1数据采集与预处理由于数据挖掘是基于大型数据库的,数据挖掘的训练也是需要大量的数据,这样才能增加结果的可靠性 3。实证分析所需数据的采集是很困难的,而数据挖掘模型的好坏在很大
40、程度上依赖于训练数据的质量,建模过程中就要确保用于训练的数据能够精确地反映客观世界中的数据,因此数据的准备是非常重要的。烟草销售提供的数据主要包括三个方面的数据:产品数据、产品销售数据和地区数据。需要采集的数据见图 4-1:图 4-1 数据收集4.1.1数据来源本文选取的是福建省烟草的销售数据进行分析,根据我国的烟草分类,按照价格分类可以将卷烟分为五类 8:一类烟,含税调拨价 59 元以上/条(含 59元/条) ; 二类烟,含税调拨价 35-59 元/条(含 35 元/条) ; 三类烟,含税调拨价 18-35 元/条(含 18 元/条) ; 四类烟,含税调拨价 12-18 元/条(含 12元/
41、条) ; 五类烟,含税调拨价 12 元以下/条。经市场调查,福建省南平地区每年约有 250 到 300 种烟在市场上销售,其中三类烟约在 50 到 60 种之间,而且其销售量在五种烟中是最大的。图 4-2 中所示就是 2004 年到 2006 年的福建省厦门大学软件学院毕业论文22南平地区五种烟的销量情况,可以明显看出三类烟的销量大于其余四种烟的销量。为了体现本文所构建的基于波士顿矩阵的产品分析系统的实际应用价值,考虑了福建省南平地区的人口经济等方面的因素,在分析中采用了福建省南平地区的三类烟草销售数据(2004 年到 2006 年的销售数据)。图 4-2 南平烟草销量图4.1.2数据准备数据
42、准备就是对被开采的数据进行定义、处理和表示,使它适用于特定的数据挖掘方法 3。数据准备是整个开采过程中的第一个重要步骤,在整个数据挖掘过程中起到举足轻重的作用。数据选择根据需要从数据库中提取、集成数据。销售数据:产品销售数据,包括时间、地点、销售额等信息。产品数据:产品的详细信息,包括产品名称、成本、售价等描述产品的详细数据。时间数据:销售产品的时间。地区数据:产品销售的地区(本文中主要是福建省南平地区及其下属县市)。厦门大学软件学院毕业论文23数据清洗和转换一般来说,不同的数据聚集在一起常常不可避免地存在着不完整、不一致、不精确和重复的数据,为了避免这些情况对数据库的影响,我们需要对数据进行
43、清理以改进数据的质量,从而有助于提高其后的挖掘过程的精度和性能。数据清洗可以在数据装入数据仓库之前进行,也可以在装入之后进行。数据清洗技术一般可分为基于规则的方法、可视化方法和统计学方法。基于规则的方法根据字段定义域的元知识、约束和与其它字段的关系对该字段的每一数据项进行评估;可视化方法以图的形式显示数据集的有效轮廓,从而很容易辨别出噪声数据。图 4-3 是对源数据进行清洗以后的结果。图 4-3 数据清洗以后的结果清洗以后的数据属性分析如表 4-1 所示。表 4-1 清洗后数据的属性分析字段名 类型 说明SPDM00 vchar( 30) 产品的 idCKRQ00 date 销售的时间DJIA
44、00 vchar( 20) 产品销售单价SL0000 vchar( 20) 产品销量厦门大学软件学院毕业论文24JE0000 vchar( 30) 产品销售金额4.2波士顿矩阵根据波士顿矩阵的划分对烟草产品进行分类 读取数据:将要分析的数据读出,如图 4-4 所示。图 4-4 读取数据 数据转换:数据读取以后,将数据进行转换并存储在临时表 Tb_Tmp中。显示结果如下:厦门大学软件学院毕业论文25图 4-5 数据转换临时表 Tb_Tmp 结构如下:表 4-2Tb_Tmp 结构字段名 类型 说明SPDM vchar( 30) 产品代码Year vchar( 10) 销售年份Month vchar
45、( 10) 销售月份DJ vchar( 10) 产品单价SL vchar( 50) 产品销量JE vchar( 50) 产品销售金额 选择分析的年份,并计算相对市场占有率和销售增长率,本文选取2006 年的销售数据进行分析。销售增长率可以产品销售额或销售量增长率。时间可以是一年或是三年以至更长时间;市场占有率,可以用厦门大学软件学院毕业论文26相对市场占有率或绝对市场占有率 9。基本计算公式为 6:某种产品绝对市场占有率=该种产品销售量/该类所有产品市场销售总量。某种产品相对市场占有率=该产品市场占有率/该类产品市场占有份额最大者(或特定的竞争对手)的市场占有率。本例选取最大市场占有率的产品来
46、计算产品的相对市场占有率。如图 4-6 所示:图 4-6 计算市场占有率和增长率其结构属性如表 4-2 和表 4-3 所示。表 4-2 市场占有率表字段名 类型 说明SPDM vchar( 30) 产品代码FE vchar( 50) 市场相对占有率厦门大学软件学院毕业论文27表 4-3 市场增长率表字段名 类型 说明SPDM vchar( 30) 产品代码fRate vchar( 50) 销售增长率 生成波士顿矩阵:如图 4-7 所示,可以在市场增长率和相对市场占有率的 listbox 中输入设定值,根据设定值系统生成波士顿矩阵的四个象限,不同分类的产品分布在不同的象限上,使用不同的颜色来表示
47、波士顿矩阵分类的四种产品:红色为明星类,绿色为现金牛类,蓝色为问题类,白色为瘦狗类。图 4-7 波士顿矩阵厦门大学软件学院毕业论文284.3聚类分析聚类是一个将数据集划分为若干组或类的过程,并使得同一个组内的数据对象具有较高的相似度;而不同组中的数据对象是不相似的。相似或不相似的描述是基于数据描述属性的取值来确定的 3。通常就是利用(各对象间)距离来进行表示的。许多领域,包括数据挖掘、统计学和机器学习都有聚类研究和应用。根据数据对象的属性来计算各数据对象之间的距离(不同) 。有关的聚类方法(类 型)主要有:划分类方法、分层类方法、基于密度类方法、基于网格类方法和基于模型类方法。本文主要采用划分
48、类方法中的 k-平均值(k-means)算法来对数据进行分析。给定包含 n 个数据对象的数据库和所要形成的聚类个数 k,划分算法将对象集合划分为 k 份(kn,其中每个划分均代表一个聚类。所形成的聚类将使得一个客观划分标准(常称为相似函数,如:距离)最优化;从而使得一个聚类中的对象是“相似”的;而不同聚类中的对象是“不相似”的。算法描述算法 4.13:根据聚类中的均值进行聚类划分的 k-means 算法。 输入:聚类个数 k,以及包含 n 个数据对象的数据库。 输出:满足方差最小标准的 k 个聚类。处理流程: 从 n 个数据对象任意选择 k 个对象作为初始聚类中心; 根据每个聚类对象的均值(中
49、心对象) ,计算每个对象与这些中心对象的距离; 并根据最小距离重新对相应对象进行划分; 重新计算每个(有变化)聚类的均值(中心对象) ; 循环到直到每个聚类不再发生变化为止。如算法 4-1 所示,k-means 算法接受输入量 k ;然后将 n 个数据对象划分为 k 个聚类以便使得所获得的聚类满足:同一聚类中的对象相似度较高;而不厦门大学软件学院毕业论文29同聚类 中的对象相似度较小。聚类相似度是利用各聚类中对象的均值所获得一个“中心 对象” (引力中心)来进行计算的。k-means 算法的工作过程说明如下 3:首先从 n 个数据对象任意选择 k 个对象作为初始聚类中心;而对于所剩下的其它对象,则根据它们与中心点的相似度(距离 ),分别将它们分配给与最相似的聚类;然后再计算每个所获新聚类的聚类中心;不断重复这一过程直到标准度函数开始收敛为止。一般都采用均方差作为标准测度函数,具体定义如下: 1()ikiipcEm(4-1)其中 E 为数据库中所有对象的均方差之和;p 为代表对象的空间中的一个点; 为聚类 i 的均值。公式(4-1)所示聚类标准旨在使获得的 k 个聚类具有im一下特点:各聚类