1 研究背景与意义
1.1 研究背景
商业智能(BI)是指通过软件对相关数据进行分析,找出数据所具有的信息,从而帮助企业,单位更加简单,直观地了解企业,顾客和产品之间的问题,从而制定出更加有效的方案。
许多公司往往随着时间的推移,信息的堆积,不断累积的信息和储存在数据仓库中的数据达到了令人惊讶的规模,数据量与日俱增。而传统的数据分析工具,方法对海量数据的处理和及时,准确的商务分析力不从心,商务智能技术应运而生。
近几年来,商务智能越来越受到企业的重视,运用商务智能技术通过对数据库累积的信息进行相关的分析,可以挖掘出对企业极为重要的信息,如客户喜好,市场需求,潜在消费人群和企业成本等。
运用商务智能,可以从传统业务系统中获取各类客户数据和业务数据,由此建立多层次的分析体系,并将其转化成有商业意义的信息,从而可以更加准确地了解市场需求,客户要求。
商务智能技术是现在化企业管理的一个重要标志,在如今的信息经济时代,商务智能技术对企业的成功起着至关重要的作用。
1.2 研究意义
随着时代的发着,人们对商品和企业的选择越来越多,企业之间的竞争也越来越大,企业失去和拥有客户的机会也和风险也大大增加,而要在如今信息化的时代生存,企业必须要对市场需求充分了解和做出相应的措施,这就需要用到数据分析,而由于传统的数据分析方法已经无法适应现在的时代,商务智能就越来越受到重视。
商务智能越来越重要的原因,是现代企业处于信息化时代.及时得消息或者信息是一个企业生存发展不可或缺的,而传统的数据分析可能会造成信息的滞后或者错误,从而增加企业做出错误决策的概率,有时候这将会是致命的。商务智能就是将企业在日常中的数据收集,并转化成简单直观的信息避免企业中的错误决策。让企业更加了解业务,既通过收集到的数据进行分析从而得知市场的需求和发展趋势,减少因为对市场走向的不了解做出的错误决策。
商务智能其实就是通过计算机技术把企业收集到的数据信息化,再从相关联系信息做出相应的决策,通过从信息化的数据中做出的决策实现信息财富化的一个过程。
1.3 主要内容
第一章:研究的背景和意义:介绍了商务智能的产生,本文主要内容
第二章:数据挖掘:介绍了数据挖掘的意义,算法,分析方法和应用
第三章:SQL Server 2008:介绍了SQL的历史,服务器版本和版本组件
第四章:关联规则:介绍了关联规则的定义,置信度和信任度
第五章:实例分析:介绍了详细的实验步骤和分析结果
第六章:总结
2 数据挖掘
2.1 什么是数据挖掘
数据挖掘(Data mining)又翻译成资料勘探,数据采矿,是在数据库知识发现(Knowledge-Discovery in Databases,简称KDD)中的一个步骤,是指在海量的数据中通过算法自动搜索隐藏于其中信息的过程。
数据挖掘包括了一些来自统计学,人工智能学的算法、建模和学习理论,最优化、进化计算、信息论、信号处理、可视化和信息检索的思想
数据挖掘需要数据库系统提供有效的存储、索引和查询处理支持。而且,并行计算技术和分布式技术在处理海量数据集方面往往是至关重要的。
数据挖掘作为一个学术领域,横跨多个学科,涵盖了统计学、数学、机器学习和数据库等
2.2 分析方法
1.决策树:又称分类树或判定树,是一种类似二叉树或多叉树的树结构。由决策点,状态节点,结果节点(叶节点)组成。线性回归算法是此方法的一种变体。
2.聚类分析:是指把数据划分为不同的类,把相同或相似的类归为一起的方法,目的是为了找出数据中未知的属性。
3.Naive Bayes 算法:
4.关联规则:发现数据库中变量和个体之间关系程度,也就是发现大量数据中项集之间有趣的关联或相关联系。
5.罗吉斯回归分析:当判别分析中群体不符合正态分布假设时,罗吉斯回归分析是一个很好的替代方法。罗吉斯回归分析并非预测事件(event)是否发生,而是预测该事件的机率。
6.神经网络:是模拟人类的形象思维而产生,由众多的神经元可调的连接权值连接而成,具有大规模并行处理、分布式信 息存储、良好的自组织自学习能力等特点。逻辑回归算法是此方法的一种变体。
7.联机分析处理:对大量数据的复杂处理操作,并且以一种简单直观的方式展现,让人准确的了解分析结果。
8.购物篮分析:主要目的是为了决定什么东西应该放在一起。这些东西不一定具有相同的属性。
2.3 算法
1.Apriori :是最有影响的挖掘布尔关联规则频繁项集的算法。具有简单,易于理解和数据要求低等优点,但是也具有无用项集产生过多与系统I/O开销过大的缺点。
2. PageRank:网页排名,是google根据网页之间相互的超链接计算的技术。优点是根据用户兴趣来查询,结果准确率高,缺点是没有根据主题来提高准确性。
3.SVM:支持向量机,一种监督式学习的方法,用于统计分类以及回归分析中。它能够同时最小化经验误差与最大化几何边缘。
4.C4.5:是一种分类决策树算法,其核心算法是ID3算法。具有易于理解和准确率较高的优势,但是因为需要对数据进行多次顺序扫描和排序,所以比较低效率。
5.EM:期望最大化算法,用于统计计算。
6.KNN:是最简单的机器学习方法之一。思路是有多个相似特征的样本属于某一个类别,则与这些样本在同一个特征空间的样本也属于这个类别。
7. Adaboost:是一种迭代算法,是一种机器学习方法。
8.Naive Bayes:在只知道某项出现的的概率情况下,来完成推理和决策任务。
9.Cart:分类与回归树,是一颗二叉树,每个非叶节点都有2个孩子。
10.K-means算法:在1967年提出的一种聚类算法。具有简单,快速的优点,但是不适用具有分类属性的的数据,并且根据不同的初值,聚类结果也不同。
2.4 数据挖掘应用
1.商业管理:关系数据库的营销、划分客户群体、分析客户背景、交叉营销等市场分析行为,以及客户流失性分析、客户信用记的授权决定、分析持卡人的购买行为、检测欺诈行为等。
2.营销方面:经过数据采集、数据转换、模式设置等涉及消费者消费行为的大量数据,确定特定消费个体或群体的爱好、消费行为、消费倾向和消费需求,进而推断出相应的消费习惯,并以此为据,对所识别出来的消费群体进行定向营销,提高营销效率,从而为企业带来更多的利润。
3.企业危机管理:将数据库中的大量数据进行抽取、处理、解释、评估和其他模型化处理,从中得出有助于企业持续发展的关键性数据。
4.产品制造:产品在生产制造的过程中会产生大量的数据信息,如产品特定的加工条件或控制参数(如时间、温度、湿度等),通过这些数据来反映出每个生产环节的状态,不但为顺利的生产提供了有效的保障,而且通过对数据的进一步分析,能够了解产品质量与参数之间的紧密联系。通过对这些数据的细致分析,能够得出改进产品质量的针对性意见,并且能够提出更高效、更节约的新模式,从而为制造商家降低生产成本。
5.Internet应用:社交网通过数据挖掘分析,能够给用户带来基于直接信息而存在的海量潜在价值,用户因此可以一直保持对社交网的兴趣。商家可以更高效的将商品推送给目标人群,消费者买到最实惠、最需要的产品也更容易。
3 SQL Server2008
3.1 SQL Server的概念
SQL Server 是Microsoft 公司推出的关系型数据库管理系统。Microsoft Microsoft SQL Server数据库引擎能够安全可靠地存储各类数据,可以让个人和企业构建和管理高性能和可用性的数据应用程序。
SQL Server 2008是Microsoft SQL Server 一个重要的版本,它对比与上几个版本,拥有许多新的特性和改进。
SQL Server 2008 可以组织管理任何数据。可以将结构化、半结构化和非结构化文档的数据直接存储到数据库中。并且可以对数据进行搜索,查询,报告和分析之类的操作。它可以不用指定数据存储的位置而管理各种数据,这让数据可以被存储在任何设备上,不管是服务器还是计算机,亦或者是移动设备。
SQL Server 2008 允许使用 Microsoft .NET 和Visual Studio开发的自定义应用程序中使用数据,在面向服务的架构(SOA)和通过 Microsoft BizTalk Server 进行的业务流程中使用数据。信息工作人员可以通过日常使用的工具直接访问数据。
企业的数据管理解决方案的核心是SQL Server 2008数据库引擎,SQL Server 2008的主要功能有SQL Server 数据库引擎、DTS、Analysis Services、SQL Server、Management等,还可以构建和部署经纪有效的集成商业智能解决方案。通过与新的开发工具包(Business Intelligence Development Studio )以及Microsoft Visual Studio的紧密结合使SQL Server 2008 R2与众不同。
SQL Server 2008具有高效的,安全的和智能的3个特点
3.2 SQL Server 2008的服务器版本
普通版本:企业版和标准版。
术语 |
定义 |
Enterprise(x86、x64 和 IA64)企业版 |
SQL Server Enterprise 是一种综合的数据平台,可以为运行安全的业务关键应用程序提供企业级可扩展性、性能、高可用性和高级商业智能功能。 |
Standard(x86 和 x64)标准版 |
SQL Server Standard 是一个提供易用性和可管理性的完整数据平台。 它的内置业务智能功能可用于运行部门应用程序。 SQL Server Standard for Small Business 包含 SQL Server Standard 的所有技术组件和功能,可以在拥有 75 台或更少计算机的小型企业环境中运行。 |
表3-1是SQL Server的普通版本介绍
SQL Server 2008 专业版是针对特定的用户群体而设计的。 下表介绍 SQL Server 2008 的各个专业版。
术语 |
定义 |
SQL Server 2008 Developer(x86、x64 和 IA64)开发版 |
SQL Server 2008 Developer 支持开发人员构建基于 SQL Server 的任一种类型的应用程序。 它包括 SQL Server 2008 Enterprise 的所有功能,但有许可限制,只能用作开发和测试系统,而不能用作生产服务器。SQL Server 2008 Developer 是构建和测试应用程序的人员的理想之选。 可以升级 SQL Server 2008 Developer 以将其用于生产用途。 |
工作组(x86 和 x64) |
SQL Server Workgroup 是运行分支位置数据库的理想选择,它提供一个可靠的数据管理和报告平台,其中包括安全的远程同步和管理功能。 |
Web(x86、x64) 网站版 |
对于为从小规模至大规模 Web 资产提供可扩展性和可管理性功能的 Web 宿主和网站来说,SQL Server 2008 Web 是一项总拥有成本较低的选择。 |
SQL Server Express(x86 和 x64) SQL Server Express with Tools(x86 和 x64) SQL Server Express with Advanced Services(x86 和 x64) 简易版 |
SQL Server Express 数据库平台基于 SQL Server 2008。 它也可用于替换 Microsoft Desktop Engine (MSDE)。 SQL Server Express 与 Visual Studio 集成,从而开发人员可以轻松开发功能丰富、存储安全且部署快速的数据驱动应用程序。 SQL Server Express 免费提供,且可以由 ISV 再次分发(视协议而定)。SQL Server Express 是学习和构建桌面及小型服务器应用程序的理想选择, 也是独立软件供应商、非专业开发人员和热衷于构建客户端应用程序的人员的最佳选择。 如果您需要使用更高级的数据库功能,则可以将 SQL Server Express 无缝升级到更复杂的 SQL Server 版本。 |
Compact 3.5 SP1 (x86) Compact 3.1 (x86) |
SQL Server Compact 3.5 免费提供,是生成用于基于各种 Windows 平台的移动设备、桌面和 Web 客户端的独立和偶尔连接的应用程序的嵌入式数据库理想选择。 |
表3-2介绍了SQL Server专业版的各个版本
3.3 SQL Server 2008的版本组件
服务器组件 |
说明 |
SQL Server 数据库引擎 |
SQL Server 数据库引擎 包括数据库引擎(用于存储、处理和保护数据的核心服务)、复制、全文搜索以及用于管理关系数据和 XML 数据的工具。 |
Analysis Services |
Analysis Services 包括用于创建和管理联机分析处理 (OLAP) 以及数据挖掘应用程序的工具。 |
Reporting Services |
Reporting Services 包括用于创建、管理和部署表格报表、矩阵报表、图形报表以及自由格式报表的服务器和客户端组件。Reporting Services 还是一个可用于开发报表应用程序的可扩展平台。 |
Integration Services |
Integration Services 是一组图形工具和可编程对象,用于移动、复制和转换数据。 |
表3-3是SQL Server的服务器组件介绍
管理工具 |
说明 |
SQL Server Management Studio |
SQL Server Management Studio 是一个集成环境,用于访问、配置、管理和开发 SQL Server 的组件。Management Studio 使各种技术水平的开发人员和管理员都能使用 SQL Server。 Management Studio 的安装需要 Internet Explorer 6 SP1 或更高版本。 |
SQL Server 配置管理器 |
SQL Server 配置管理器为 SQL Server 服务、服务器协议、客户端协议和客户端别名提供基本配置管理。 |
SQL Server Profiler |
SQL Server Profiler 提供了一个图形用户界面,用于监视数据库引擎实例或 Analysis Services 实例。 |
数据库引擎优化顾问 |
数据库引擎优化顾问可以协助创建索引、索引视图和分区的最佳组合。 |
Business Intelligence Development Studio |
Business Intelligence Development Studio 是 Analysis Services、Reporting Services 和 Integration Services 解决方案的 IDE。 BI Development Studio 的安装需要 Internet Explorer 6 SP1 或更高版本。 |
连接组件 |
安装用于客户端和服务器之间通信的组件,以及用于 DB-Library、ODBC 和 OLE DB 的网络库。 |
表3-4是SQL Server的组件管理工具介绍
4 关联规则
4.1关联规则的概念
数据关联是指在数据库中,发现两个或多个变量的取值之间的某种规律或联系,数据关联可分为简单关联、时序关联、因果关联。关联分析是为了找出在数据库各个变量中未能被人所知的关系,从而让人能更加明确的掌握数据库中的信息。
置信度(confidence)
即条件概率,指在给定事务(数据库D)中在已经包含A项的条件下,同时包含B项的概率
简单公式可以表达为:置信度=(A^B)/A
支持度(support)
即概率,指在给定事务(数据库D)中,同时包含某几个项的概率
简单公式可表达为:支持度=(A^B)/D
4.2 关联规则挖掘过程
关联规则挖掘过程包含查找和产生规则两个阶段,查找阶段是指从数据集合中找出高频组,产生规则阶段是指在这些高频组中产生关联规则。
关联规则挖掘的第一阶段是查找阶段,就是指在原始数据集合中找出所有高频组,高频是指这个项目出现的频率必须达到一定的水平,即支持度必读大于一定值。
关联规则挖掘的第二阶段是产生关联规则阶段,就是指利用在满足置信度大于最小置信度的条件下,从高频组产生规则,而产生的规则就是关联规则。
简单来说,就是,第一阶段用于找出支持度高的组项,即应用范围广的项目,第二阶段用于建立联系
4.3 Apriori算法
1.Apriori:
Apriori算法是一种挖掘布尔关联规则的频繁项集的算法。其核心思想是通过候选项生成和向下封闭检测两阶段频集思想的递推算法。Apriori属于单维、单层、布尔关联规则。所有支持度大于最小支持度的项集称为频繁项集,简称频集。
实现步骤:
首先,须制定最小支持度及最小信赖度
Apriori算法使用了候选项集的概念,首先产生出项集,称为候选项集,若候选项集的支持度大于或等于最小支持度,则该候选集为高频项集(Large Itemset)
在Apriori算法的过程中,首先由数据库读入所有的交易,得出候选单项集(Candidate 1-itemset)的支持度,再找出高频项集(Large 1-Itemset),并利用这些高频单项集的结合,产生候选2项集(Candidate 2-itemset)。
再扫描数据库,得出候选2项集的支持度以后,再找出高频2项集,并利用这些高频2项集的结合,产生候选3项集。
重复扫描数据库,与最小支持度比较,产生高频项集,再结合产生下一候选项集,直到不再结合产生出新的候选项集为止。
5 实例分析
1:环境与要求
硬件需求
Windows版本:Windows10专业版 ,处理器Intel(R)Core(TM)i3-2350M,4G的内存,600G的硬盘,双核
软件要求
.NET Framework4.0,
开发工具:SQL Server 2008,Visual studio 2008
2.数据库的建立
本次设计所需的数据为某商场关于顾客选择饮食类商品的调查数据,命名为“Baskets”其种类(项)包含水果蔬菜,鲜肉,乳制品,灌装蔬菜,灌装肉类,冷冻食品,葡萄酒,啤酒,软饮料,鱼类,甜食11个
详情如下图5-1:
图5-1 数据源表格
导入Baskets数据集,将格式为excel的数据集导入SQL Server2008数据库中,具体步骤为:
1.创建新数据库
开启SQL相关服务,如图5-2
图5-2 SQL相关服务
新建数据库
打开Microsoft SQL Server Management Studio,右击“数据库”选择新建数据库,并命名为Baskets,如下图5-3,图5-4
图5-3 新建数据库
图5-4 命名
2.导入数据集
右键点击“Baskets”数据库,选择“任务”。然后选择“导入数据”。如下图5-5
图5-5 导入数据
进入数据导入向导,如图5-6
图5-6 进入向导
4.在“数据源”选项下拉列表,选择Microsoft Excel,文件路径选择数据源表所在的位置(本实验选择在D盘毕业设计文件夹下),如图5-7
图5-7 选择数据源格式和文件位置
5.在“目标”选项选择SQL Server Native Client 10.0(一般为默认),使用Windows身份验证,数据库名称改为“Baskets”,如图5-8
图5-8 选择编程接口
6.勾选“复制一个或多个表或视图的数据”,点击下一步,如图5-9,图5-10
图5-9 选择对数据表的复制或查询
图5-10 选择数据源表和视图
7.保存并运行,如图5-11,图5-12所示
图5-11 运行
图5-12 执行成功
执行成功,在数据库“Baskets”中可以查看新导入的数据表,如下图5-13
图5-13 查看数据源表
3.SQL Server数据仓库事实表与多维数据的的建立
1.建立Analysis Services项目
打开Business Intelligent Development Studio,在“文件”选项中新建一个Analysis Services项目,命名为“Baskets”,位置为数据源表所在位置,如下图5-14,图5-15所示
图5-14 新建项目
图5-15 选择项目和名称
2.新建数据源
打开Visual Studio2008的解决方案资源管理器窗口,右键点击“数据源”点击“新建数据源”,如下图5-16所示
图5-16 新建数据源
点击“新建”按钮,新建数据源,如图5-17
图5-17 新建
选择使用的PC服务器名称,并选择“使用Windows身份验证”,数据库名称改为“Baskets”,并完成数据源导入
如图5-18,图5-19,图5-20
图5-18连接管理器