大数据时代:基于微软案例数据库数据挖掘知识点总结(Microsoft 时序算法)

简介: 原文:(原创)大数据时代:基于微软案例数据库数据挖掘知识点总结(Microsoft 时序算法)前言 本篇文章同样是继续微软系列挖掘算法总结,前几篇主要是基于状态离散值或连续值进行推测和预测,所用的算法主要是三种:Microsoft决策树分析算法、Microsoft聚类分析算法、Microsoft...
原文: (原创)大数据时代:基于微软案例数据库数据挖掘知识点总结(Microsoft 时序算法)

前言

本篇文章同样是继续微软系列挖掘算法总结,前几篇主要是基于状态离散值或连续值进行推测和预测,所用的算法主要是三种:Microsoft决策树分析算法Microsoft聚类分析算法Microsoft Naive Bayes 算法,当然后续还补充了一篇结果预测篇,所涉及的应用场景在前几篇文章中也有介绍,有兴趣的同学可以点击查看,本篇我们将总结的算法为Microsoft时序算法,此算法也是数据挖掘算法中比较重要的一款,因为所有的推算和预测都将利用于未来,而这所有的一切都将有一条时间线贯穿始终,而这将是时序算法的侧重点。

应用场景介绍

通过前几篇文章的介绍,我们已经能预测出影响某种行为的因素有哪些,并且根据这些因素综合挖掘出我们的最优客户群体(将会购买自行车),这也是上面介绍的几种算法的长项,但是会不会觉得从大数据中获取的信息太少了点,与很多问题仅仅通过上面几种算法是推算不出来的,但这些信息恰巧是上层领导关注的,比如说:

1、作为数据分析人员,你能不能根据以往的销售情况预测出明年的销售业绩?这样的问题怎么解决?有哥们会这么解决了,哈...我取去年一年的销售值做平均值,那如果不足一年呢?那要是预测明年一月份的呢?....

2、能不能根据以往的销售情况预测出销售的旺季,像房地产行业的“金九银十”说的就是这个,这些都是资深销售人员的经验总结,但是你能保证公司里面有这种人?即便有你能保证他说的正确?即便正确能保证他说的适合别的产品?即便适合能保证适合不同的地区?....我那个去...这些的这些稍后我们让数据来告诉你!

3、不同地区的销售规律是否一致?也就是说是否为同一种销售策略....哪一种销售策略更适合那一类产品的方式..各种产品之间的销售量是否会有影响、存不存在连带销售?是不适合我们做捆绑销售。

以上的这些问题我们通过Microsoft时序算法都可以解决,而这些问题也就是该算法的应用场景,闲言少叙,我们进入本篇的正题。

技术准备

(1)同样我们利用微软提供的案例数据仓库(AdventureWorksDW2008R2),这这里我们只需要用到一张表,确切的说是一张视图vTimeSeries,其实这里面就是记录的往年不同月份的销售汇总值,稍后我们将详细分析这部分数据。

(2)VS2008、SQL Server、 Analysis Services没啥可介绍的,安装数据库的时候全选就可以了,这里前段时间有人问我为什么他的vs工具没有新建数据挖掘工程的模板,这里提一下,其实vs作为微软的主打开发软件,所以它的更新速度是远远快于数据库更新版本,所以要选择开发数据挖掘解决方案的时候需要在开始菜单中找到SQL Server目录下的vs连接即可。

操作步骤

(1)新建解决方案,然后数据源,然后数据源视图,很简单的步骤,不明白的可以看我们前面几篇文章,我们直接看图

我们给解决方案取了个名字,然后从数据源中找到了我们需要挖掘的表,将我们需要的表创建好,取了个名字为:SalesByArea,可以看到这张表就是记录往年各个月份的销售记录和销售业绩,下面我们对这个表里面的数据进行粗略分析。

(2)预览数据,分析源数据结构内容

这里我们需要对要分析的数据进行分析,先看看里面有那些内容,是不是满足时序算法的数据要求条件。同样我们右键“浏览数据”,我们选择随机抽样,抽样数据为5000行。具体方法这里不赘述,具体方法可参考前篇文章,我们直接看图

这里面有几列数据,其实内容挺简单的,我们来看,有自行车品牌和地区、时间线、销售数量、销售额度、年、月、报告日期。从报告日期来看基本上是每个月的25号形成报告,然后每个月生成一份,在利用Microsoft时序算法中对数据是有要求的:

1、要求分析数据序列必须含有时间序列,并且序列值为连续...这个可以理解...如果没有连续值就谈不上推测,因为数据本身他就没有规律可循....

2、要求分析数据序列存在唯一标示值,其实也就说传统意义上面的主键,这个在每个算法中都要用

从上面的数据中我们可以将报告日期和第一列自行车品牌和地区(ModelRegion)形成组合主键满足上面的第二点要求,因为同一个时间一个品牌在一个地区只能产生一个销售值。

我们来详细分析上面的时间看看能不能满足第一个条件,我们选择透视表,这个和Excel里面的透视表是一样的,用起来基本没啥问题,我们将明细数据拖入到区域中间,将列选择报告日期、行选择自行车品牌区域(ModelRegion),我们来看看数据:

我们可以看到,这张往年销售记录表中包含了从2005年到2008年的销售记录,其中06年和07年都是全年每一个月份都会含有一个记录,而2005年、08年只有半年的数据,其实这里08年只有半年数据是正常的,因为微软案例数据库AdventureWorksDW2008R2产生的日期就是在这里,也就是说我们会预测这之后的销售记录,05年只有半年表示数据时从这里开始的,这个没啥问题...我们继续向下拖动

我去...这下面的几种产品在05年、06年就没有任何销售记录,这有两种可能,第一种是这两个产品从06年才开始引进销售的,所以之前的数据没有是正常的,当然还有一种极端的情况那就是这两年这个产品销售量就为0...对于这种情况我们要跟业务方确认做处理,对于我们分析人员而言...销售记录不存在空值,也就是说这地方没有销售显示值应为0,而非空!

我们点击年份进入月份,详细的看一下值。

看来这些数据开始日期真是从05年7月份开始,然后到08年6月结束,而且这之间每个月份的数据都是连续的,也就是说从开始到结束连续的每个月都有值,我们向下面拖

的确,下面的这几种商品是从07年7月份开始产生销售,结束日期都是到08年6月份结束。

经过上面的分析,其实这种表中的数据是满足我们Microsoft时序算法的数据要求的,其中存在连续的时间轴维度,只是有几种产品销售开始日期不是全部从开始日期开始的,对于这种情况时序算法是允许的,只要保证在我们时间轴维度中每一个序列都有统一的结束日期,并且区间时间为连续的既可以。

当然可以通过其它方式分析源数据,咱这里就不进行了。

(3)新建挖掘结构

在挖掘结构上右键,现在新建数据挖掘结构,然后下一步...继续然后下一步...这里不做赘述,不明白可以参考前几篇文章,我们选择Microsfoft时序算法,看图

 

 

点击下一步,有几个关键点我们需要设置一下,我们来看图:

这里我们将品牌和区域、报告日期联合形成键列,将销售量和销售业绩两列即作为输入又作为输出,因为这两列即使我们历史分析要用的输入值,也是我们以后将要推测的输出列,当然也可以通过建议进行分析,这里我们很明白要做的事情,我们点击下一步,

我们留下30%的事实,做后面的准确性验证测试,然后取个名字:Forecasting,然后选择下一步

 (4)参数配置

对于Microsoft时序算法有几个参数比较重要,需要单独配置,这里我们介绍一下

PERIODICITY_HINT:该参数提供了有关数据模式重复频率的算法信息。简单点讲就是时间序列的重复迭代时间间隔,比如本篇文章中用到的时间轴就是为每个月更改一次,且周期为年为单位,所以我们将这个参数设置成12,意思是每十二个月重复一次。

然后我们就需要部署、处理该挖掘模型了。然后下一步我们进行结果分析。 

结果分析

部署完程序之后,我们通过“挖掘模型查看器”进行查看分析,不废话,我们直接看图:

上面的图就是Microsoft时序算法出来的结果图了,挖掘模型查看器为这种算法提供了两个面板查看,一个是图表、另一个是模型,下面我们将以此详细分析,平常最常用的就是图表模型查看器,图标区分为两块,如上图,前半部分模型历史分析数据,后面模糊区为推测区域,右侧一个序列筛选的下拉选项框,从横轴中我们可以看到,时间区间为2005年7月25——2007年11月25折线以实线表示,后面的区域为预测区域,预测区间为2008年7月25日至2008年11月25,折线以虚线表示。

嘿嘿...看起来是不是很清爽。

我们来选择一个产品来看看,我们选择M200 Europe、M200 NorthAmerica的销量情况,下面看图:

通过点击图表中间的点击线,我们可以分析这款自行车在这个两个地区一年中的销售峰值为5月和12月,也就是所谓的旺季...这没啥特别的对吧,5月大春天...嗯?米国五月应该也是春天...春天适合户外...自行车买的好也理所当然,这里其实我们更关心明年的旺季或者淡季是啥时候,因为根据此我们更能够采取相应的应对措施,比如旺季多增加库存,淡季减少库存等吧,我们来看M200这款产品在08年的旺季是那个月....

看到了吧,08年的7月份将是这款产品的旺季,同样淡季为九月份

而这是在欧洲的销量,但是在北美就不一样了,它反而是在08年的9月份为旺季,是吧,上图中可以看到,说明这两个区域的销售量还会有蛮大区别的,仅仅凭靠经验是分析不出来的对吧。同样它的淡季反而提前到来了,看下图:

同样从上面的所有的这两款产品的产品图中可以看到,这两款产品的销量是蒸蒸日上,也就是所谓的朝阳好卖的产品,所带来的利润肯定也在未来将会更好,我们可以点击推测出他们在08年的营业额度是多少。我们来看图:

从上面图可以看出,根据折线图规律可以看出销售额度和销售量是相关的,汗...废话!当销售量增加的时候,销售额度也跟着增加,但是从上图中可以看到一个有趣的信息,那就是在2006年6月25号以前销售额度和销售量是一条线,但是之后就分开了...对吧?这说明什么?...之后的销售数量开始慢慢的比销售额度增高了...啥意思?也就是说这款产品卖得多了,他的销售额度反而少了...汗...啥原因?原因很简单....产品降价了!..产品降价了所以它的销量上去了,同比这里我说的是同比他的销售额度反而降下来。

不管怎么着这款产品随着时间的增长慢慢的开始大卖了..而且营业额也在增加,尤其在2007年底的时候有了一个大面积的跳跃,我估计是采取了比较好的措施。从图中我们还可以看到将在2008年8月份有一个很大的销售额度...推测出来的销售额为2267%。当你拿着这份预测成绩单给BOSS...BOSS会不会睡梦中都能把自己笑醒...

是不是所有的产品都这么叫卖呢,我们来展开其它的几款看看:

嘿嘿...我们找到了一款比较不叫座的产品...T1000,从图中可以看到,这款产品是2007年8月份才上市的,并且已经上市销量开始提升,但是以后开始慢慢萎缩...我去...经预测到08年的时候这款产品销售额平平,还有大跌的趋势!如果你作为领导层看到这种业绩该咋办?想法子?还是直接退市?

如果此曲线显示不够直观,我们可以通过更改预测步骤数,更改折线的平滑程度,来对未来的预测显示的更直观一点。当然调整这个参数也可以更改预测区间

是吧...这个T1000产品到2011年的时候估计就埋没了...看样子还有可能成负数...也就是会出现赔本赚吆喝的境地,当然预测的时间区间越远,该算法的准确度将更低,毕竟嘛谁也不能预测太久未来的事情,因为很多因素都在变化着。

下面我们来看看VS为我们提供的另一个面板“模型”,该面板提供了每一个序列类型根据数据内容形成决策树算法,推测每个序列随着时间轴的进展所影响该序列的因素值,详细信息可以参照我前面的文章:Microsoft决策树算法

上图中可以看到R250这款产品将以2007年8月22日这天为分界线,在这之前销量值远远大于这之后的销量,神马原因?怎么回事?这些的就需要去咨询业务部分了,我们从数据中可以看到这个状况,这些情况的发生都一般都会有巨大的原因因素来促成,举个例子:比如今年9月30,国内发布了新的房贷政策...如果该曲线是房价预测线,这个因素就能体现在那天、再比如上一周北京持续雾霾...如果该曲线是口罩的销售量预测线,这个因素就是促成这个节点的原因.....

这个面板展示结果我们就不详细分析了,它的展示方式就是决策树的分析方法,有兴趣的同学可以参照我以前的文章。

上面的过程中我们只分析了整个挖掘的过程,根据折线图分析了部分产品的趋势和销售问题,其实还缺少了最重要的一个步骤,那就是告诉我明年一年月份销售的业绩和销售额度是多少,在我们以数据说话的时代,刚给我们产生一个趋势图用处有限,毕竟市面上随便找一款图表软件我都能搞的出来,甚至搞的比你这个更好看!

我们后面的文章将解决这个问题,通过预测我能明确地预测出明年甚至后年每个月份的销售业绩和销售额度是多少!拿着这份报告你就可以理直气壮的去找BOSS,剩下的事就是他去做了....

结语

结语...该写什么呢?我们来总结下,数据挖掘的含义,其实整个流程都是在利用数据加上数学来推测和预知未知的事情,而当前的我们所利用的数学已经可以来产生预测,同样随着IT行业互联网近乎十年的蓬勃发展所积累的数据也可以满足数据要求,并且随着数据存储成本的降低,结构化和非结构化数据的转变成本降低,我们所身处的就是一个数据的海洋,而当前迫切需要转变的是我们,或者说是一个观念的转变,一个思维进步的过程,这就是大数据时代的意义所在!

文章的最后我们给出前几篇算法的文章连接:

Microsoft决策树分析算法总结

Microsoft聚类分析算法总结

Microsoft Naive Bayes 分析算法

Microsoft算法结果预测篇

如果您看了本篇博客,觉得对您有所收获,请不要吝啬您的“推荐”。 

相关实践学习
简单用户画像分析
本场景主要介绍基于海量日志数据进行简单用户画像分析为背景,如何通过使用DataWorks完成数据采集 、加工数据、配置数据质量监控和数据可视化展现等任务。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
目录
相关文章
|
2天前
|
NoSQL MongoDB 数据库
MongoDB数据恢复—MongoDB数据库文件被破坏的数据恢复案例
服务器数据恢复环境: 一台Windows Server操作系统服务器,服务器上部署MongoDB数据库。 MongoDB数据库故障&检测: 工作人员在未关闭MongoDB数据库服务的情况下,将数据库文件拷贝到其他分区。拷贝完成后将原MongoDB数据库所在分区进行了格式化操作,然后将数据库文件拷回原分区,重新启动MongoDB服务,服务无法启动。
|
14天前
|
SQL 存储 数据挖掘
数据库数据恢复—RAID5上层Sql Server数据库数据恢复案例
服务器数据恢复环境: 一台安装windows server操作系统的服务器。一组由8块硬盘组建的RAID5,划分LUN供这台服务器使用。 在windows服务器内装有SqlServer数据库。存储空间LUN划分了两个逻辑分区。 服务器故障&初检: 由于未知原因,Sql Server数据库文件丢失,丢失数据涉及到3个库,表的数量有3000左右。数据库文件丢失原因还没有查清楚,也不能确定数据存储位置。 数据库文件丢失后服务器仍处于开机状态,所幸没有大量数据写入。 将raid5中所有磁盘编号后取出,经过硬件工程师检测,没有发现明显的硬件故障。以只读方式将所有磁盘进行扇区级的全盘镜像,镜像完成后将所
数据库数据恢复—RAID5上层Sql Server数据库数据恢复案例
|
22天前
|
NoSQL 大数据 数据挖掘
现代数据库技术与大数据应用
随着信息时代的到来,数据量呈指数级增长,对数据库技术提出了前所未有的挑战。本文将介绍现代数据库技术在处理大数据应用中的重要性,并探讨了一些流行的数据库解决方案及其在实际应用中的优势。
|
1月前
|
存储 NoSQL 大数据
新型数据库技术在大数据分析中的应用与优势探究
随着大数据时代的到来,传统数据库技术已经无法满足海量数据处理的需求。本文将探讨新型数据库技术在大数据分析中的应用情况及其所带来的优势,为读者解析数据库领域的最新发展趋势。
|
1月前
|
SQL Oracle 关系型数据库
干货!sqlserver数据库所有知识点总结整理,含代码(挺全的)
干货!sqlserver数据库所有知识点总结整理,含代码(挺全的)
12 0
|
1月前
|
存储 分布式计算 大数据
现代化数据库技术——面向大数据的分布式存储系统
传统的关系型数据库在面对大规模数据处理时遇到了诸多挑战,而面向大数据的分布式存储系统应运而生。本文将深入探讨现代化数据库技术中的分布式存储系统,包括其优势、工作原理以及在大数据领域的应用。
|
1月前
|
SQL 存储 安全
数据库基础的知识点
数据库基础的知识点
8 0
|
1月前
|
Oracle 关系型数据库 数据库
Oracle数据恢复—Oracle数据库误truncate table的数据恢复案例
北京某国企客户Oracle 11g R2数据库误truncate table CM_CHECK_ITEM_HIS,表数据丢失,业务查询到该表时报错,数据库的备份不可用,无法查询表数据。 Oracle数据库执行Truncate命令的原理:在执行Truncate命令后ORACLE会在数据字典和Segment Header中更新表的Data Object ID,但不会修改实际数据部分的块。由于数据字典与段头的DATA_OBJECT_ID与后续的数据块中的并不一致,所以ORACLE服务进程在读取全表数据时不会读取到已经被TRUNCATE的记录,但是实际数据未被覆盖。
Oracle数据恢复—Oracle数据库误truncate table的数据恢复案例
|
1月前
|
存储 SQL 关系型数据库
【MySQL 数据库】6、一篇文章学习【索引知识】,提高大数据量的查询效率【文末送书】
【MySQL 数据库】6、一篇文章学习【索引知识】,提高大数据量的查询效率【文末送书】
58 0
|
2月前
|
存储 NoSQL 大数据
新型数据库技术在大数据处理中的应用探讨
【2月更文挑战第2天】随着信息时代的到来,大数据处理成为了各行业发展的关键。本文将探讨新型数据库技术在大数据处理中的应用,分析其优势和挑战,为读者提供深入了解和思考。
28 5

热门文章

最新文章