实验一数据报文分析

2022-08-27

第一篇:实验一数据报文分析

数据分析与建模,实验报告,实验二,,数据分析工具初步使用

学生学号

实验课成绩

学 学 生 实 验 报 告 书

实验课程名称 数据分析与建模 开 开 课 学 院 管理学院 指导教师姓名 鄢 丹 学 学 生 姓 名

学生专业班级 信管 16 班

2018 —2019 学年

1

学期

1 实验报告填写说明

1. 综合性、设计性实验必须填写实验报告,验证、演示性实验可不写实验报告。

2. 实验报告书 必须按统一格式制作(实验中心网站有下载)。

3. 老师在指导学生实验时,必须按实验大纲的要求,逐项完成各项实验;实验报告书中的实验课程名称和实验项目 必须与实验指导书一致。

4. 每项实验依据其实验内容的多少,可安排在一个或多个时间段内完成,但每项实验只须填写一份实验报告。

5. 每份实验报告教师都应该有签名、评分表及实验报告成绩。

6. 教师应及时评阅学生的实验报告并给出各实验项目成绩,完整保存实验报告。在完成所有实验项目后,教师应按学生姓名将批改好的各实验项目实验报告装订成册,构成该实验课程总报告,按班级交到实验中心,每个班级实验报告袋中附带一份实验指导书及班级实验课程成绩表。

7. 实验报告封面信息需填写完整,并给出实验环节的成绩,实验环节成绩按其类型采取百分制或优、良、中、及格和不及格五级评定(与课程总成绩一致),并记入课程总成绩中。

1

实验课程名称:_ 数据分析与建模__

实验项目名称 实验二

数据分析工具的初步使用 实验 成绩

实 实 验 者

专业班级

组 组

别 无 无 同 同 组 者 无 无 实验日期 2018 年 年 10 月 月 10 日 一部分:实验预习报告( 包括实验目的、意义,实验基本原理与方法,主要仪器设备及耗材,实验方案与技术路线等 )

一、实验目的、意义 本实验旨在通过资料查阅和上机实验,熟悉和掌握数据分析工具 Mathematica。

二、实验 基本原理 与方法

数据分析工具 Mathematica 的使用方法,以及帮助指南文档等。

三、实验内容及要求 应用 Mathematica 完成下列题目的运算求解或绘图。

(1)分别计算 2+4, ,3 2 -2 3 , 的值。

(2)对 的值,分别取有效数字位数 6 位,20 位,30 位。

(3)给变量 a 赋值为 2,并计算 a 2 -6,3a+b 的值。

(4)定义函数 f(x)=xsinx+x 2 +2x,分别求 f(x)在 x=1,π/2 时的值,再求 f(x 2 )。

(5)设函数 ,求 的值。

(6)作函数 f(x)=x 2 的图形。

(7)将 f(x)=x 2 与 g(x)=x-1 画在一个坐标系内。

(8)在同一坐标系中绘制

与 的图形。

(9)绘制函数 在区间[0,2π]上的图形。

(10)绘制由坐标(-1,2),(0,2.5),(1,3),(2,4),(3,4.5),(4,5.5)构成的散点图。

(11)绘制函数 sin(x+y)cos(x+y)的 3D 立体图。

(12)绘制函数 在-2≤x≤2,-2≤y≤2 上的图形。

(13)绘制函数 在-2≤x≤2,-2≤y≤2 上的图形,去掉坐标系,边框,网格线。

2

(14)绘制螺旋线

在 0≤t≤4π 上的图形。

(15)利用参数方程绘制 z=x 2 + y 2 在 0≤z≤8 上的图形。

四、实验方案或技术路线(只针对综合型和设计型实验)

按照实验任务要求,理论结合实际的实验方案,巩固课程内容,温故知新,查遗补漏,夯实理论基础,提升实验动手能力。

技术路线是,从整体规划,分步骤实施,实验全面总结。

3

第二部分:实验过程记录 (可加页)(包括实验原始数据记录,实验现象记录,实验过程发现的问题等)

(1)分别计算 2+4, ,3 2 -2 3 , 的值。

步骤:以 2+4 的计算过程为例。首先输入“In”后的式子,如“2+4”;然后同时按下键盘上的“shift”和“enter”键,就可得到“Out”后面的计算结果,如“2+4”的结果为“6”。其他式子也是按照此方法计算。其中,运算符“+”、“-”、“*”、“/”、“^”(乘方)均可以在键盘上找到,而根号的输入如下:

鼠标先在导航栏上找到【面板】并点击,再选择【特殊字符】,再选择【符号】,便可找到根号。当光标停留在该符号上时,会显示“sqrt”,即开根号的意思。根号的具体位置如下图所示:

按照上述方法得到的运行结果如下图所示:

4

(2)对 的值,分别取有效数字位数 6 位,20 位,30 位。

取有效数字需要用到近似运算符,语法如下:N[表达式,有效数字位数]。系统默认是至少16 位,但标准输出只显示前 6 位有效数字。

%表示上一次的输出结果;%% 表示上上一次的输出结果„„以此类推。

% a(a 为常数)表示第 a 次的输出结果。

结合本题来看, 具体分析如下:

N[%]表示输出上一次的输出结果,并取 6 位有效数字; N[%4, 20]表示输出第 4 次的输出结果 Out[4],并取 20 位有效数字 N[%4, 30]表示输出第 4 次的输出结果 Out[4],并取 30 位有效数字 运行结果如下图所示:

(3)给变量 a 赋值为 2,并计算 a 2 -6,3a+b 的值。

变量的赋值、表示与运算:变量名必须以小写字母开头,不能含有空格或标点符号;变量赋值用“=”表示;变量一旦被赋值,会一直保留,直到它被清除或被重新赋值。可用命令“Clear [变量]”清除原来的赋值。

具体输入及运行结果如下:

5

(4)定义函数 f(x)=xsinx+x 2 +2x,分别求 f(x)在 x=1,π/2 时的值,再求 f(x 2 )。

多元函数的自定义命令:自定义函数 [ 变量 1_, 变量 2_, „] := 表达式 求函数在某一点的值时,直接将自变量的值代入再输出即可。

注意:此处 Sin 函数的首字母 S 需要大写,否则软件不会将其视为正弦函数,而是视为一个变量。如果用 Pi 表示 π 时,首字母也需要大写,否则软件会将其视作一个变量名。

(5)设函数 ,求 的值。

定义分段函数,只需要分段定义自定义函数即可,并在后面添加范围限制,格式为:

/ ;范围限制 (其中“逻辑与”用“&&”表示,“逻辑或”用“||”表示)

6

(6)作函数 f(x)=x 2 的图形。

一元函数作图的命令:Plot[函数, 作图范围, 可选项] 故本题为:

f[x_] := x^2 Plot[f[x], {x, -1, 1}]

(7)将 f(x)=x 2 与 g(x)=x-1 画在一个坐标系内。

当两图画在一个坐标系时,一元函数作图的命令为:

Plot[{函数 1, 函数 2, „}, 作图范围, 可选项] 故本题为:Plot[{x^2, x - 1}, {x, -1, 1}]

7

(8)在同一坐标系中绘制

与 的图形。

参数方程作图的命令:ParametricPlot[参数方程, 参数范围, 可选项] 若以参数方程组取代参数方程 , 可在同一坐标系中绘制多个参数方程所确定的函数的图形。AspectRatio->Automatic 为可选项,表示按坐标系刻度的实际比例 1:1 作图,默认情况下是 0.618:1。

故本题为:ParametricPlot[{{Sin[t], Cos[t]}, {Sin[t], 2*Cos[t]}}, {t, 0, 2*Pi}]

(9)绘制函数 在区间[0,2π]上的图形。

极坐标式函数作图的命令:PolarPlot[极坐标函数, 变量范围, 可选项] 故本题为:PolarPlot[1−Cos[

第二篇:数据分析实验报告册

《数据分析》

实验报告册

20 15 - 20 16 学年 第 一 学期

班 级: 学 号: 姓 名: 授课教师: 实验教师:

第 1 页 共 52 页

目录

实验一 网上书店的数据库创建及其查询

实验 1-1 “响当当”网上书店的数据库创建

实验1-2 “响当当”网上书店库存、图书和会员信息查询

实验1-3 “响当当”网上书店会员分布和图书销售查询

实验二 企业销售数据的分类汇总分析

实验2-1 Northwind公司客户特征分析

实验2-2 “北风”贸易公司销售业绩观测板

实验三 餐饮公司经营数据时间序列预测

实验3-1 “美食佳”公司半成品年销售量预测

实验3-2 “美食佳”公司月管理费预测

实验3-3 “美食佳”华东分公司销售额趋势预测

实验3-4 “美食佳”公司会员卡发行量趋势预测

实验3-5 “美食佳”火锅连锁店原料年度采购成本预测

实验四 住房建筑许可证数量的回归分析

实验4-1 “家家有房”公司建筑许可证一元线性回归分析

实验4-2 “家家有房”公司建筑许可证一元非线性回归分析

实验4-3 “家家有房”公司建筑许可证多元线性回归分析

实验4-4 “家家有房”公司建筑许可证多元非线性回归分析

实验五 手机用户消费习惯聚类分析

实验六 新产品价格敏感度测试模型分析

第 2 页 共 52 页 实验一 网上书店的数据库创建及其查询

实验 1-1 “响当当”网上书店的数据库创建

实验类型:验证性

实验学时:2 实验目的:

• 理解数据库的概念;

• 理解关系(二维表)的概念以及关系数据库中数据的组织方式; • 了解数据库创建方法。

实验步骤:

这个实验我们没有直接做,只是了解了一下数据库的概念。

实验1-2 “响当当”网上书店库存、图书和会员信息查询

实验目的

• 理解odbc的概念;

• 掌握利用microsoft query进行数据查询的方法。

实验步骤:

1..建立odbc数据源:启动microsoft office query应用程序,在microsoft office query应用程序窗口中,执行“文件/新建”命令,出现 “选择数据源”对话框,单击“确定”按钮,出现“创建新数据源”对话框,按照要求做相应的操作。

选择数据源对话框

创建新数据源窗口

做图上所示的选择

odbc microsoft access安装对话框

第 3 页 共 52 页

选择数据库对话框

选择数据源对话框

2.查询设计1—低库存量图书信息查询:选择“bookstore”数据源,点击“确定”,进入“添加表”窗口,添加书表后,在“查询设计”窗口的“表”窗格中,分别双击“书”表中需要查询的“书名”、“isbn”、“库存量”等字段,执行“视图/条件”命令,在“条件”窗格的“条件字段”行的第一列中选择“库存量”,并在下一行中输入“<10”后回车,即可在“查询结果”窗格中显示响当当网上书店中库存量小于10的图书信息。

选择bookstore数据源

选择好表后点击“添加”

查询设计窗口-查询的相关数据

查询设计窗口-输入条件

3.查询设计2—低库存量图书信息以及出版社信息查询:分别添加“书”和“出版社”表,双击“书”表的“书名”和“isbn”字段以及“出版社”表的“出版社名称”、“电话”和“地址”字段,再输入相应的条件即可进行查询。

添加了表后的查询设计窗口

第 4 页 共 52 页 实验小结:

因为我们没有尝试建立数据库,直接开始数据查询,所以实验时遇到了很多问题。比如我们在选择数据源时就遇到了麻烦,弄了半天才开始查询设计,而且不是很熟练,一直做了四五个查询设计才慢慢熟练起来。

实验思考:

1、在数据查询过程中,如果所选的某个表与其他表之间没有联系的话,会 产生什么问题?

答:所选的查询数据将会全部显示在查询窗口,与其它表的数据没有直接联系。这样就不能表现出表与表数据之间的关联性,数据也就失去赋予的意义。

2、若“响当当个”网上书店的某个会员了解自己最近2年的图书订购情况,请为他设计一个查询。

答:分别添加“书”、“会员”、“订单明细”和“订单”表,双击“书”表的“书名”、“会员”表的“姓名”和“订单明细”表的“订购数量”以及“订单”表的“订购日期”字段,在向查询条件窗口中输入某一会员姓名以及相应的订购日期.

实验1-3 “响当当”网上书店会员分布和图书销售查询

实验目的

•掌握复杂的数据查询方法:多表查询、计算字段和汇总查询

实验步骤: 1.查询设计1—会员分布信息查询:添加“会员”表到查询设计窗口,在“查询设计”窗口的“表”窗格中,双击“会员”表的“城市”和“会员号”字段。然后双击“会员号”字段的列标,在“编辑列”对话框中输入列标“会员人数”,并选择汇总方式:“计数”,单击“确定”按钮后即可看到查询结果,其中显示了各城市的会员人数,再设置相应的条件,进行相应的查询。

选择汇总方式

查询结果

2.查询设计2—图书总订购量和总销售金额查询:添加“订单”、“订单明细”和“书”表。 在“查询设计”窗口的“表”窗格中,双击“订单”表的“订购日期”、“订单明细”表的“订购数量”字段。另外还要构造一个计算字段“销售金额”,方法是直接在某空白列的列标中输入公式;在上面的字段中,“订购数量”和“销售金额”是汇总字段,分类字段是“订购年份”,双击“订购日期”列的列标,在编辑列对话框的字段项中输入公式“year(订购日期)”,在其中的列标项中输入“订购年份”然后分别双击“订购数量”和“订购数量*单价”字段的列标,在编辑列对话框的列标项中分别输入“总订购数量”和“总销售金额”字样,并在总计项中选择“求和”。

第 5 页 共 52 页

在“条件”窗格的“条件字段”行的第一列中选择“订购日期”,并在下一行中输入“>=2005-7-1 and <=2006-6-30”后回车,即可在“查询结果”窗格中显示2005上半年和2006下半年的图书总订购量和总销售金额。此时,若想了解各月份的图书总订购量和总销售金额,只要再查询设计窗口中增加一个“订购月份”分类字段即可

增加了订购月份后的查询结果

排序对话框

3.查询设计3—会员订购图书详细信息查询:添加“会员”、“订单”、“订单明细”和“书”表,在表之间建立合适的联系。在“查询设计”窗口的“表”窗格中,双击“会员”表的“城市”、“会员号”、“姓名”字段,“订单”表的“订单号”字段、“书”表的“书名”字段和“订单明细”表的“订购数量”字段。选择“记录”菜单的“排序”命令,在随后出现的“排序”对话框中设置排序方式

查询结果共84条记录

4.查询设计4—各城市会员图书订购数量和销售金额统计:添加“会员”、“订单”、“订单明细”和“书”表,在表之间建立合适的联系。在“查询设计”窗口的“表”窗格中,双击“会员”表的“城市”、“订单明细”表的“订购数量”字段。分别双击“订购数量”和“订购数量*单价”字段的列标,在编辑列对话框的列标项中分别输入“总订购数量”和“总销售金额”字样,并在总计项中选择“求和”。按“确定”按钮后即可查看结果。

第 6 页 共 52 页

5.查询设计5—被订购图书的作者和出版社信息查询:添加“会员”、“订单”、“订单明细”、“书”、“作者”和“出版社”表。在表之间建立合适的联系。在“查询设计”窗口的“表”窗格中,双击“书”表的“书名”、“作者”表的“姓名”和“出版社”表的“出版社名称”字段。在条件窗格中添加关于订购日期和会员姓名的条件。可以查看到结果为会员“刘丹”在2007年共订购了7本图书。

实验小结:

实验1-3的实验比较难,但是经过前面的练习还是比之前快一点,不过还是遇到一些困难,比如查看到结果为会员“刘丹”在2007年共订购了几本书的查询设计就在输入指令时卡住了,经过几个同学讨论还是做出来了。一直到晚上天黑了才把一共十个实验做完。

实验思考:

1、在进行汇总查询的过程中,如果被选择的字段除了分类字段以外还包含了其他字段。

第 7 页 共 52 页 查询结果是否正确?为什么?请举例说明。

答:不正确,如果被选择的字段除了分类字段以外还包含了其他字段,那么query将把多余的字段自动作为分类字段。

2、“响当当”网上书店的管理人员想了解最近2年中那位作者的书是最畅销,请你设计一个查询找到相关作者。

答:查询近两年的总订购量。

实验二 企业销售数据的分类汇总分析

实验2-1 North wind公司客户特征分析

实验类型:验证性

实验学时:2 实验目的:

• 理解数据分类汇总在企业中的作用与意义; • 掌握数据透视表工具的基本分类汇总功能;

• 掌握建立分类汇总数据排行榜、生成时间序列、绘制praetor曲线图、计算各地区客户分布、统计各地区客户的平均销售额和大宗销售时间序列的方法和步骤。

实验步骤:

一、汇总客户销售额排行榜 为了汇总客户销售额的排行榜,首先要获得客户每笔销售的销售额、所购买产品的类别以及销售发生的时间,然后再利用数据透视表工具将销售额按照客户名称、产品类别和销售时间加以汇总。

步骤1:获取各客户每笔销售的销售额、销售产品的类别和时间。

在一张空白的工作表中,选择菜单“数据”→“数据透视表和数据透视图” →“外部数据源”,单击“获取数据按钮”,随后启动了Microsoft Query,选择所建立的连接到Northwind.mdb数据库的ODBC数据源——“NW”,并选择“确定”,选择“客户”表中的的“公司名称”、“订单”表中的“订购日期”、以及“类别”表中“类别名称”,随后Query弹出窗口“„查询向导‟无法继续,因为该表格无法链接到您的查询中。您必须在Microsoft Query 中的表格之间拖动字段,人工链接。”这是因为类别表无法同订单表建立联系。单击“确定”。

要查询销售额,需要在Query中首先增加“订单明细”表,利用其中的“单价”、“数量”与“折扣”字段中的数据,才能计算销售额。在数据窗格中,在一个空白字段的名称处输入公式:“订单明细.单价*数量*(1-折扣)”。键入回车后就可以计算出销售额。见图2-7。

随后,将“产品”表也添加到查询中,虽然查询结果中并不包括任何“产品”表中的字段,但是该表的能够建立“类别”表与“订单明细”表之间的联系(“订单明细”表指明所订购产品的ID,“产品”表指明该产品属于哪一个类别)。此时,查询中的表都建立了正确的联系,并在查询结果中包括了汇总所需要的数据。如图2-7。

第 8 页 共 52 页

图2-7 查询各客户每笔销售的销售额、销售产品的类别和时间

将计算销售额的字段的列标命名为“销售额”。选择Query菜单中的“文件”→“将数据返回Microsoft Office Excel” ,此时Query已经关闭,我们的操作对象回到了Excel,单击“下一步”,指定位置在“现有工作表”,单元格A3,单击完成。

步骤2:汇总客户销售额排行榜,并排序。

此时,在工作表的区域A1:G16的位置,出现了数据透视表的框架,数据透视表的浮动工具栏和数据透视表的字段列表。

为了能对销售的时间——“订购日期”进行组合以获得各年的销售额,首先将“订购日期”拖至行域,将“销售额”拖至数据域,“类别名称”拖至列域,得到如图2- 8所示的数据透视表。

图2-8 按订购日期与类别汇总销售额

为了能将销售额按照年度汇总,将光标停留在“订购日期”下方的任何单元格,右击鼠标,选择“组合及显示明细数据”→“组合”,选择组合的步长为年。

然后将单元格A4当中的字段名称“订购日期”改为“订购年”,将它推至页域,将字段列表中的“公司名称”拖到行域,让透视表按照列总计,从大到小排列,就得到了如图2-9所示的数据透视表。它能够反映了三年或者各年度,各个客户的销售额的大小,以及排列名词的先后,还能够观察到各客户订购的产品类别和该类别的销售额。

第 9 页 共 52 页

图2-9 按照订购年、客户公司名称、类别名称汇总的销售额排行榜

二、汇总前三大客户各月销售额,并绘制图形

在前一部分实验的基础上,选择前三个最重要的客户,进一步观察购买情况,他们购买情况的变化将对公司整体销售业绩产生很大影响。所以,将前三大客户的销售数据加以展开,按月显示其销售的变化。

步骤1:将实验要求1所汇总的数据透视表复制到新的工作表。 步骤2:利用数据透视表,汇总前三大客户的销售额时间序列。

按照实验要求1汇总的数据透视表,反映出“高上补习班、 正人资源、 大钰贸易”是公司的前三大客户。点开“公司名称”字段,选中这三个公司名称,并拖到列域。

将列域的字段“类别名称”拖出数据透视表。将页域的字段“订购年”旋转到行域,将其重新组合。选择组合的步长为“月”和“年”,把字段名称修改为“订购年”与“订购月”。光标停留在数据表中任何单元格,右击鼠标,选择“表格选项”,将“对于空数据项显示”设置为“0”,即当该单元格汇总出的数据值为空时,在数据透视表中将其显示为0。此时得到的前三大客户销售额时间序列见图2-10。

图2-10 Northwind公司前三大客户销售额时间序列

步骤3:绘制前三大客户销售额时间序列图。

光标停留在数据透视表中,选择菜单“插入”→“图表”,在当前工作簿自动插入一张图表。选择菜单“图表”→“位置”,将该图表调整到与数据透视表位于同一张工作表。选择菜单“图表”→“图表类型”,选择“折线图”→“数据点折线图”。随后,再对该图的大小、外观以及数据系列的格式加以调整,就能得到Northwind公司前三大客户销售额时间序列图,如图2-1所示。

第 10 页 共 52 页

三、绘制按照客户汇总的客户数与销售额帕累托曲线

步骤1:查询“订购日期”、客户的“公司名称”与“销售额”等数据。

在Excel的空白工作表中,选择菜单“数据”→“数据透视表与数据透视图” →“外部数据源”→“获取数据”,利用Microsoft Query,从“订单”表、“订单明细”表与“客户”表中查询 “订购日期”、客户的“公司名称”与“销售额”(销售额=订单明细.单价*数量*(1-折扣))等字段,将所查询数据返回Excel。

步骤2:利用查询的数据,制作数据透视表。

从数据透视表的字段列表中,选择“订购日期”,拖至行域,将“销售额”拖至数据域。将“订购日期”字段按年组合,然后拖至页域,将“公司名称”拖至行域,按照销售额从大到小的顺序排列,得到按照年度和客户公司名称汇总的数据透视表,如图2-11。

图2-11 Northwind公司按照年度汇总的各客户销售额

步骤3:利用数据透视表的数据,计算客户数累计百分比与客户销售额累计百分比,绘制帕累托曲线。

在区域D4:G4依次输入说明文字,“公司名称”、“ 客户百分比”、“ 客户数累计百分比 ”、“销售额累积百分比”。按照图2-12输入公式,得到如图2-13所示的汇总数据。

第 11 页 共 52 页

图2-12 Northwind公司按照年度汇总客户数累计百分比和销售额累计百分比公式

图2-13 Northwind公司按照年度汇总客户数累计百分比和销售额累计百分比

区域F5:F93汇总累计的客户数,即到该客户为止,已有客户数占到总客户数的百分比。区域G5:G93汇总了到该客户为止,已有客户实现的销售额占总销售额的百分比。

选中区域F4:G93的数据,绘制无数据点散点图,得到如图2-14所示图形。

图2-14 客户数与销售额的帕累托初步曲线

步骤4:在曲线上添加代表20%客户数的垂直参考线。 在I5:I7单元格输入“20%”,在J5与J7单元格输入“0”和“120%”,在J6单元格输入公式:“=INDEX(G5:G93,MATCH(I5,F5:F93,1),1)”,即从客户数累计百分比中,查找到20%的客户数在第几行,然后用INDEX函数查找,该行对应的销售额累计百分比,计算结果如图2-15。在前面所绘制的图表上,添加一条垂直参考线。该参考线的X轴数据来自区域I5:I7,Y轴数据来自区域J5:J7,得到如图2-2所示的帕累托曲线。

该曲线反映出,Northwind公司20%的客户只实现了59%的销售额,低于20/80准则的比例。通过在数据透视表中调整页域的值,可以发现:96年、97年比例都不足58%,98年有所增长,达到了63%,还是远低于80%。因此, Northwind公司今后销售工作的重点应是更多地关注大客户,通过增加大客户的销售额来增加整个公司的销售额。

第 12 页 共 52 页

图2-15 Northwind公司客户数与销售额帕累托曲线垂直参考线数据

最后公司客户销售额与客户数parato曲线呈现如图所示:

图2-2 公司客户销售额与客户数parato曲线

四、绘制按照订单汇总的销售额与销售次数帕累托曲线 步骤1:查询“订购日期”、“订单ID”与“销售额”等数据。

在Excel的空白工作表中,选择菜单“数据”→“数据透视表与数据透视图” →“外部数据源”→“获取数据”,利用Microsoft Query,从“订单”表和“订单明细”表中查询 “订购日期”、“订单ID”与“销售额”(销售额=订单明细.单价*数量*(1-折扣))等字段,将查询数据返回Excel。

步骤2:利用查询的数据,制作数据透视表。

从数据透视表的字段列表中,选择“订购日期”,拖至行域,将“销售额”拖至数据域。将“订购日期”字段按年组合,拖至页域,将“订单ID”拖至行域,按照销售额从大到小的顺序排列,得到按照年度和订单ID汇总的数据透视表,如图2-16。

图2-16 Northwind公司按照年度汇总各订单销售额

步骤3:利用数据透视表的数据,计算客户数累计百分比与销售额累计百分比,绘制帕累托曲线。

在区域D4:G4依次输入说明文字,“销售次数百分比”、“ 销售次数累计百分比”、“ 销售额累计百分比 ”。按照图2-17输入公式,得到如图2-18所示的汇总数据。

第 13 页 共 52 页

图2-17 Northwind公司按照年度汇总客户数累计百分比和销售额累计百分比公式

图2-18 Northwind公司按照年度汇总客户数累计百分比和销售额累计百分比

区域E5:E834计算单次销售占总销售次数(即订单数)的百分比,区域F5:F834汇总累计销售次数占总销售次数的百分比,即到该订单为止,已有订单数占到总订单数的百分比。区域G5:G834汇总到该订单为止,已有订单实现的销售额占总销售额的百分比。

选中区域F4:G834的数据,绘制无数据点散点图,得到如图2-19图形。

图2-19 销售次数与销售额的帕累托初步曲线

步骤4:在曲线上添加代表20%客户数的垂直参考线。

在I5:I7单元格输入“20%”,在J5与J7单元格输入“0”和“120%”,在J6单元格输入公式:“=INDEX(G5:G834,MATCH(I5,F5:F G834,1),1)”,即从销售次数累计百分比中,查找20%的销售次数在第几行,用INDEX函数查找,该行对应的销售额累计百分比。在前面所绘制的图表上,添加一条垂直参考线。该参考线的X轴数据来自区域I5:I7,Y轴数据来自区域J5:J7,得到如图2-3所示的帕累托曲线。

第 14 页 共 52 页

图2-3 norwthwind公司销售次数与销售额parato曲线

五、汇总各地区客户分布

步骤1:查询“公司名称”与“地区”字段等数据。

将Excel一张空白工作表命名为“5.各地区客户分布”。选择菜单“数据”→“数据透视表与数据透视图” →“外部数据源”→“获取数据”,利用Microsoft Query,从“客户”表中查询 “公司名称”与“地区”字段,然后将所查询的数据返回Excel。

步骤2:利用查询的数据,制作数据透视表。

从数据透视表的字段列表中,选择“地区”,拖至行域,选择“公司名称”,拖至数据域,得到按照地区汇总的客户数的数据透视表,如图2-20。

图2-20 按照地区汇总客户数的数据透视表

步骤3:利用数据透视表的数据,制作数据透视图。 光标停留在数据透视表中,选择菜单“插入”→“图表”,在新建工作表中建立数据透视图,改变该图表位置,将其调整到“5.各地区客户分布”工作表中,得到了如图2- 4所示的图形。

图2-4 公司各地区客户的分布

第 15 页 共 52 页

六、绘制各地区平均销售额及销售额占总销售额百分比 步骤1:查询“地区”与“销售额”等数据。

在Excel的空白工作表中,选择菜单“数据”→“数据透视表与数据透视图” →“外部数据源”→“获取数据”,利用Microsoft Query,选择数据源,从“客户”、和“订单明细”表中,查询客户的“地区”与“销售额”(销售额=订单明细.单价*数量*(1-折扣))等字段,将查询数据返回Excel。查询时应包括“订单”表,该表能建立 “客户”表和“订单明细”表之间的联系。

步骤2:利用查询的数据,制作数据透视表。

从数据透视表的字段列表中,选择“地区”,拖至行域,将“销售额”拖至数据域,得到按照地区汇总的销售额的数据透视表,如图2-21。

图2-21 Northwind公司按照地区汇总的销售额

步骤3:利用数据透视表的数据,计算各地区平均销售额与销售额占总销售额的百分比。 在区域D4:G4依次输入说明文字:“地区”、“ 客户数 ”、“平均销售额”与“ 销售额占总额百分比”。按照图2-22输入公式,得到如图2-23所示的汇总数据。

图2-22 Northwind公司按照地区汇总平均销售额、销售额占总销售额百分比公式

图2-23 Northwind公司按照地区汇总平均销售额、销售额占总销售额百分比

区域E5:E10存放各地区的客户数,区域F5:F10计算各地区平均销售额,区域G5:G10计算各地区销售额占总销售额的百分比。利用区域D5:D10与区域F5:G10中的数据,绘制柱型图。由于一个数据系列是平均销售额,一个数据系列是百分比,两个系列数值相差悬殊,所以在图2-24中,只能观察到一个数据系列的柱型,另一个系列的柱型贴近“0”,无法观察到。选中代表百分比的系列(选中平均销售额的系列,移动上下箭头,直到选中代表百分比的系列),选择菜单“格式”→“数据系列格式” →“坐标轴”→“次坐标轴”,将代表百分比的系列对应到次坐标轴。

第 16 页 共 52 页

图2-24 Northwind公司按照地区汇总平均销售额、销售额占总销售额百分比图

观察该图形,可以发现 “华东”与“西南”地区,客户的平均销售额比其他地区高,说明这两个地区大客户的销售情况比较好。华北地区虽然销售额占总销售额的百分比最高,是Northwind公司最重要的市场,但该地区大客户的销售情况并不理想,平均销售额并不高。今后该地区应更注重改善大客户销售情况。

七、绘制大宗销售的销售额时间序列。

步骤1:查询“公司名称 ”、“订单ID”、“ 订购日期”与“ 销售额”等数据。

将Excel的空白工作表命名为“7.大宗销售数据”,选择菜单“数据”→“获取外部数据” →“外部数据源”→“获取数据”,利用Microsoft Query,从“客户”表、“订单”表和“订单明细”表中,查询“公司名称 ”、“订单ID”、“ 订购日期”与“ 销售额”(销售额=订单明细.单价*数量*(1-折扣))等字段,将查询数据返回Excel,存放在区域A1:D831。

步骤2:挑选出销售额超过2000元的订单。

在区域F1:F2,按照图2-25,输入筛选的条件。利用Excel高级筛选功能,挑选出满足条件的记录,存放在区域H1:K186中。

图2-25 Northwind公司2000元以上销售额的订单的销售情况

步骤3:利用挑选出的订单,制作数据透视表。 利用区域H1:K186中的数据,制作数据透视表。从数据透视表的字段列表中,选择“订购日期”,拖至行域,将“销售额”拖至数据域,将“订购日期”字段按年组合,然后拖至页域,将“公司名称”拖至页域,规定行域字段必须“显示空数据项”,得到如图2-26所示的数据透视表。

第 17 页 共 52 页

图2-26 Northwind公司大宗销售的时间序列数据透视表

步骤4:绘制大宗销售的时间序列图形。

为了让图形能够正确反映销售情况,去掉没有发生销售的时间点,如96年1月到96年6月,我们在数据透视表外面,另准备作图数据。按照图2-27,在区域E12:E33输入从96年7月到98年4月的时间(98年5月数据不完整,故不包括在时间序列内),在单元格F12输入公式:“=C12”,并复制到区域F13:F33。

图2-27 Northwind公司大宗销售的时间序列作图数据

利用区域E11:F33中的数据,制作折线图,将图表X轴的类型改为分类轴。“公司名称”选择“全部”,在图形上尝试添加恰当的趋势线,显示趋势线的方程与R2,并前推两个周期,得到的时间序列图形如图2-28。从该图形上,可以大致了解大宗销售的变化趋势,对未来的情况做初步估计。

图2-28 Northwind公司大宗销售的时间序列图

第 18 页 共 52 页 实验小结:

数据透视表分类汇总的两种方法:

1、先将数据导入Excel成为数据清单,利用数据透视表汇总对数据清单进行汇总

2、利用数据透视表直接从数据库中查询、并汇总数据。数据透视表功能,使用最方便,可以把汇总表“旋转”,从不同的“角度”查看数据,还可以筛选数据、合并数据、展开详细数据、或者选择部分数据加以查看。

实验思考:

1、你还能从哪些方面对客户的销售数据进行分析,帮助该公司促进销售或者为客户提供更好的服务?

答:使用Northwind公司的销售数据,生成净销售额时间序列,创建可以调节的产品列表框,并绘制特定产品销售金额时间序列的图形。观测每种产品在不同年份不同月份的销售情况,对下阶段的销售做出预测。

2、帕累托曲线可以帮助分析投入与产出之间的关系,它还能帮助该公司进哪些方面的分析?

答:①带来80%利润的20%的顾客在哪里,并且留住他们。②销售量达80%的20%产品是哪些,找出来好好包装开发。③销售量达80%的20%城市在哪里,并且维护好。

实验三 餐饮公司经营数据时间序列预测

实验3-1 “美食佳”公司半成品年销售量预测

实验类型:验证性

实验学时:2 实验目的: • 理解数平滑预测法的概念;

• 掌握在excel中建立指数平滑预测模型的方法; • 掌握寻找最优平滑常数的各种方法。

实验步骤:

一、运用“数据分析”工具进行指数平滑预测 步骤1:确定时间序列的类型。

如图3-1所示在单元格a1:b21中布置好公司从1987-2006年的销售量数据。然后,绘制公司从1987年至2006年共20年的销售量折线图,结果如图3-2所示,既没有趋势成分也没有季节成分,呈现出的是围绕一个水平上下波动的时间序列,说明适合用指数平滑法或移动平均法进行预测。本实验的数据是年度数据,建议采用指数平滑预测法。

第 19 页 共 52 页

图3-1 公司从1987-2006年的销售量数据

图3-2 公司从1987-2006年的销售量折线图

步骤2:利用“数据分析”工具中的指数平滑功能进行预测。

在“工具”菜单中选择“加载宏”,在随后弹出的“加载宏”对话框中选择“分析工具库”,然后单击“确定”按钮,将会在“工具”菜单下出现“数据分析”选项。在“工具”菜单中选择“数据分析”,在出现的“数据分析”对话框中选择“指数平滑”,出现如图3-3所示的对话框。

图3-3 指数平滑分析的参数设置

在“指数平滑”对话框中,在“输入区域”输入“b2:b21”单元格,“阻尼系数”输入“0.75”(注:阻尼系数=1-平滑常数),在“输出区域”输入“c2”单元格,单击“确定”按钮,将会看到如图3-4中单元格c2:c21的输出结果。

将单元格c21往下复制,便得到2007年的指数平滑预测值7.96。

第 20 页 共 52 页

图3-4 指数平滑预测结果

二、运用指数平滑公式进行预测 步骤1:利用公式

计算指数平滑预测值。

如图3-5,在单元格f1中输入平滑常数0.25,在单元格c2中输入公式:“=b2”,作为第一年的预测值(F1),在单元格c3中输入指数平滑模型预测公式:“=$f$1*b2+(1-$f$1)*c2”。将单元格c3往下复制,便得到2007年的指数平滑预测值7.96。

图3-5 指数平滑公式的预测结果

步骤2:绘制指数平滑预测图。

利用单元格a2:c22中的数据绘制如图3-6所示的公司销售量指数平滑预测图。

图3-6公司从1987-2006年的销售量和指数平滑预测图

第 21 页 共 52 页

三、寻找最优的平滑常数 步骤1:计算均方误差。

如图3-5在单元格f2中输入公式:“=average((b2:b21-c2:c21)^2)”,作为数组运算,需要同时按Ctrl+Shift+Enter三个键作为输入结束,计算均方误差MSE。 步骤2:利用模拟运算表及查找引用函数功能,寻找最优平滑常数。

如图3-7在单元格e7:e24中给出不同的平滑常数(大于0小于1),在单元格f6中输入公式:“=f2”,选定单元格e6:f24,在“数据”菜单中选择“模拟运算表”,在弹出的对话框中做如图3-8所示的参数设置,利用一维模拟运算表功能计算不同平滑常数下的mse值,见图3-7结果。

图3-7 模拟运算表辅助查找最优平滑常数

图3-8 模拟运算表对话框参数设置

在单元格f4中输入公式:“=index(e7:e24,match(min(f7:f24),f7:f24,0))”,找到最优平滑常数为0.35。然后,根据最优平滑常数0.35(将此值代入单元格f1中),2007年的预测值为7.94。

步骤3:利用规划求解功能,寻找最优平滑常数。 规划求解工具是一个从函数值所要达到的目标出发,反过来确定为达到这个目标,各自变量应取什么值的工具。

在“工具”菜单中选择“规划求解”,在弹出的对话框中做如图3-9所示的参数设置,然后单击“求解”按钮,得到如图3-10所示的规划求解结果,其中可变单元格f2中显示最优平滑常数为0.37。根据最优平滑常数0.37,2007年的预测值为7.93。

第 22 页 共 52 页

图3-9 规划求解参数设置

图3-10 规划求解的结果

以上两种方法所寻找到的平滑常数都是基于实际销售量与预测销售量的均方误差极小,从理论上证明了所获得的平滑常数是最优的。

实验思考:

1. 为什么用模拟运算表加查找引用函数功能,得到的最优平滑常数(0.35),与用规划求解功能得到的结果(0.37)不一样?

答:用模拟运算表加查找引用函数功能得到的最优平滑常数(0.35)是根据设定的间隔求解,结果不是很准确。而规划求解功能得到的结果(0.37)是精确结果。

2. 可否调整模拟运算表的输入数据间隔,再试一试,结果会如何?

答:在实验3-1中,调整模拟运算表的输入数据间隔,其结果不变。因为模拟运算表只是将数据代入变量中来求得对应的值,所得到的值与数据的间隔无关。

实验3-2 “美食佳”公司月管理费预测

实验目的:

• 理解移动平均预测法的概念;

• 掌握在excel中建立移动平均模型的方法; • 掌握寻找最优移动平均跨度的各种方法。

实验步骤:

一、运用“数据分析”工具进行移动平均预测 步骤1:确定时间序列的类型。

如图3-11所示在单元格a1:c19中布置好公司从2006年1月至2007年6月的数据。

第 23 页 共 52 页 绘制公司从2006年1月至2007年6月共18个月的管理费用折线图,结果如图3-12所示,既没有趋势成分也没有季节成分,呈现出的是围绕一个水平上下波动的时间序列,说明适合用指数平滑法或移动平均法进行预测。本实验的数据是月度数据,建议采用移动平均预测法。

图3-11 公司从2006年1月至2007年6月的管理费数据

图3-12 公司从2006年1月至2007年6月的管理费用折线图

步骤2:利用“数据分析”工具的移动平均功能进行预测。 在“工具”菜单中选择“数据分析”,在出现的“数据分析”对话框中选择“移动平均”,出现如图3-13所示的对话框。

在“移动平均”对话框中,在“输入区域”输入“c2:c19”单元格,“间隔”输入“3”(注:移动平均跨度为3),在“输出区域”输入“d3”单元格,单击“确定”按钮,将会看到如图3-14中单元格d5:d20的输出结果。

如单元格d20所示,2007年7月公司管理费用的移动平均预测值为20.3万元。

图3-13 移动平均对话框参数设置

第 24 页 共 52 页

图3-14 移动平均预测结果

二、运用移动平均公式进行预测

步骤1:利用average()函数计算移动平均预测值。

如图3-15,在单元格g1中输入移动平均跨度3,在单元格d5中输入移动平均模型预测公式:“=average(c2:c4)”。

将单元格d5往下复制,便得到2007年7月的移动平均预测值20.3。

图3-15 平均值函数的计算结果

步骤2:绘制移动平均预测图。

利用单元格c2:d20中的数据绘制如图3-16所示的公司18个月的管理费用及移动平均预测图。

第 25 页 共 52 页 图3-16 公司18个月的管理费用及移动平均预测图

通过以上实验能够检验,运用“数据分析”工具和移动平均公式进行移动平均预测的预测结果是一致的。“美食佳”公司2007年7月的管理费移动平均预测值为20.3,此预测结果是基于移动平均跨度为3个月所获得的。对没有先期经验的人来说,怎样选择移动平均跨度呢?又怎么判断所选的移动平均跨度是最优的呢?下面的实验步骤将指导我们掌握寻找最优移动平均跨度的不同方法。

三、寻找最优的移动平均跨度 步骤1:计算均方误差。

此处用到两个函数:sumxmy2()函数和count()函数。sumxmy2()函数的功能是返回两数组中对应数值之差的平方和,它需要两个参数,一个参数是第一个数组或数值区域,另一个参数是第二个数组或数值区域。count()函数的功能是计算某一范围内包含数值的单元格的个数。如图3-15在单元格g2中输入公式:“=sumxmy2(c2:c19,d2:d19)/count(d2:d19)”,计算均方误差mse。

步骤2:利用offset()函数辅助进行不同移动平均跨度下的预测。图3-15中借助average()函数进行的移动平均计算仅对跨度3有效,若跨度改为其他值,则要修改average()函数的参数。为此引入offset()函数解决average()函数的参数范围变化问题。offset()函数的功能是以指定的范围为参照系,通过给定偏移量得到新的范围。返回(求出)的范围可以为一个单元格或单元格区域,并可以指定返回的行数或列数。它需要五个参数,第一个参数是作为参照系的基准位置;第二个参数是相对于这个基准位置向上(用负数表示)或向下(用正数表示)偏移的行数;第三个参数是相对于这个基准位置向左(用负数表示)或向右(用正数表示)偏移的列数;第四个参数是要返回数据范围的行数;第五个参数是要返回数据范围的列数。事实上前三个参数指定了要返回数据范围的起始单元格。在单元格d5中输入公式:“=if(a5<=$g$1,"",average(offset(d5,-$g$1,-1,$g$1,1)))”,拖动单元格d5的填充柄向上复制至d2,向下复制至d20,从而可在变化的移动平均跨度下计算移动平均值。

将单元格g1中的移动平均跨度改为2,不必改动d列的公式,即可如图3-17所示,得到相应的移动平均预测值。

图3-17 变化的移动平均跨度下管理费移动平均预测值

我们可以多次修改单元格g1中的移动平均跨度,并观察单元格g2中的mse值,从中可以发现:当移动平均跨度为5的时候,mse为3.91,达到最小。这就说明如果我们选择移动平均跨度为5进行管理费用的预测,所得到的预测结果20.2可能是最准确的,因为这个跨度下的预测值与实际值的均方误差达到极小。

步骤3:利用模拟运算表及查找引用函数功能,寻找最优移动平均跨度。 如图3-18在单元格f7:f21给出不同的移动平均跨度,在单元格g6中给出公式:“=g2”,选定单元格f6:g21,在“数据”菜单中选择“模拟运算表”,在弹出的对话框中做如图3-19所示的参数设置,则利用一维模拟运算表功能计算出了不同移动平均跨度下的mse值,见

第 26 页 共 52 页 图3-18结果。

图3-18模拟运算表辅助查找最优移动平均跨度

图3-19 模拟运算表参数设置

在单元格g4中输入公式:“=index(f7:f15,match(min(g7:g15),g7:g15,0))”,找到最优移动平均跨度为5。根据最优移动平均跨度5(将此值代入单元格g1中),2007年7月的预测值为20.2。

实验思考

1. 可否利用规划求解功能,寻找最优的移动平均跨度?

答:在实验3-2中,无法利用规划求解功能寻找最优的移动平均刻度。因为求MSE所用的公式为“=SUMXMY2(C2:C19,D2:D19)/COUNT(D2:D19)”与移动平均刻度值所在的G1单元格无直接联系。

2. excel提供的移动平均趋势线功能也可进行移动平均预测,但趋势线方法与本实验所介绍的方法有何不同?

答:Excel提供的移动平均趋势线方法与本实验所介绍的方法与本实验所介绍方法的区别在于趋势线的作用是对已知的一堆数据作回归分析,以找到一个可以直接计算的方程式并对其他任意未经测量的数值进行计算。趋势线方法考虑了大量可能的结果。

实验3-3 “美食佳”华东分公司销售额趋势预测 实验类型:验证性

实验学时:2 实验目的:

• 理解趋势预测法的概念;

• 掌握在excel中建立线性趋势预测模型的方法; • 掌握寻找线性趋势模型参数的各种方法; • 掌握线性趋势值预测的不同方法。

第 27 页 共 52 页 实验步骤:

步骤1:确定时间序列的类型。

如图3-20所示在单元格a1:c12中布置好华东分公司从1996年至2006年的销售额数据。绘制华东分公司从1996年至2006年共11年的销售额折线图,结果如图3-21所示,具有较明显的线性趋势成分,呈上升趋势,说明适合用线性趋势法进行预测。

图3-20 华东分公司从1996年至2006年的销售额数据

图3-21 华东分公司从1996年至2006年的销售额折线图

步骤2:添加线性趋势线。

如图3-22所示,在图中选中数据系列,右键菜单中选择“添加趋势线”,出现“添加趋势线”对话框。

如图3-23所示,在“添加趋势线”对话框的“类型”中选择“线性”。

如图3-24所示,在“添加趋势线”对话框的“选项”中选择“显示公式”和“显示r平方值”,得到如图3-25的结果。

图3-22 选用添加趋势线功能

第 28 页 共 52 页

图3-23 添加趋势线对话框

图3-24 添加趋势线的选项对话框

图3-25 华东分公司销售额与和线性趋势线

步骤3:用趋势线前推法大致预测线性趋势值。

选定线性趋势线,右键菜单中选择“趋势线格式”,出现如图3-26的“趋势线格式”对话框。

如图3-26所示,在“趋势线格式”对话框中选定“选项”,将趋势预测前推1周期,得到如图3-27所示的大致预测结果。

由图3-27中的趋势线可见,公司2007年的销售额预测值约为1000万元。

第 29 页 共 52 页

图3-26 趋势预测前推1周期设置

图3-27 趋势预测前推1周期的大致预测结果

步骤4:用方程或函数准确预测线性趋势值。

根据得到的线性趋势方程公式y=11.473x+861.98,如图3-28所示,在单元格c13中输入公式:“=11.473*a13+861.98”,即将x=12(2007年为第12个时间序列点)代入公式,计算得到2007年的预测值为999.66。

利用forecast()函数,在单元格c14中输入公式:“=forecast(a13,c2:c12,a2:a12)”,计算得到2007年的预测值为999.65。

利用trend()函数,在单元格c15中输入公式:“=trend(c2:c12,a2:a12,a13)”,计算得到2007年的预测值为999.65。

用函数计算与用公式计算相比精度上略有一点差异。

图3-28 三种方法预测华东分公司销售额

步骤5:将预测结果在图中表示。

同时选中单元格b13和c13,并作为新数据点复制到图形的数据线上,如图3-29所示。趋势线前推只能在图中看到大致预测结果1000左右,而图3-29中看到准确的预测值999.66,且预测值一定在趋势线的延伸线上。

第 30 页 共 52 页

图3-29 带预测点的销售额线性趋势预测图

实验思考

1.本实验的几张图中,x轴是“分类”还是“自动”? 答:本实验(实验3-3)中,X轴是自动。

2.预测点数据如果作为新数据系列添加到图形中,结果与图3-29有何不同?

答:实验3-3中,预测点数据如果作为新数据系列添加到图形中,结果与图3-29相比,预测部分的值将是一条直线。

3.为什么预测值一定在趋势线的延伸线上?

答:预测值一定在趋势线上的原因是预测值是依据趋势线作出来的。 4.若要预测公司2008年的全国销售额,可以怎么做?若要预测公司2009年、2010年、甚至更远年份的销售额,会有什么问题?

答:若要预测2008年的全国销售额,可依据2007年的预测值来作。但若要预测更远年份的销售额,则不能以之为基础由趋势线函数进行预测,因为彼时销售额呈线性增长,与客观事实不符。

5.除了本实验中介绍的添加趋势线方法可以找到线性趋势预测模型的参数外,还可以用哪些方法找到线性趋势预测模型y=a+bx中的参数 a和b。

答:还可用回归方法找到Y=a+bX中参数a,b的值。

实验3-4 “美食佳”公司会员卡发行量趋势预测

实验类型:验证性

实验学时:2 实验目的:

• 理解非线性趋势预测法的概念;

• 掌握在excel中建立非线性趋势预测模型的方法; • 掌握非线性趋势值预测的方法。

预测公司2007年7月会员卡的发行量。

实验步骤:

步骤1:确定时间序列的类型。

如图3-30所示在单元格a1:c15中布置好公司从2006年5月至2007年6月的会员卡发行数据。

第 31 页 共 52 页 绘制公司从2006年5月至2007年6月共14个月的会员卡发行量的折线图,结果如图3-31所示,具有较明显的非线性趋势成分,说明适合用非线性趋势法进行预测。从曲线的形状看,它先上升较快后上升较慢,符合对数曲线的特征,因此我们可以选用对数趋势模型进行预测。

图3-30 2006年5月至2007年6月会员卡发行量数据

图3-31 2006年5月至2007年6月会员卡发行量的折线图

步骤2:添加非线性趋势线。

如图3-32所示,在图中选中数据系列,右键菜单中选择“添加趋势线”,出现“添加趋势线”对话框。

如图3-33所示,在“添加趋势线”对话框的“类型”中选择“对数”。

如图3-34所示,在“添加趋势线”对话框的“选项”中选中“显示公式”和“显示r平方值”,得到如图3-35的结果。

图3-32 选择添加趋势线功能

第 32 页 共 52 页

图3-33 添加趋势线对话框

图3-34 添加趋势线选项对话框

图3-35 2006年5月至2007年6月会员卡发行量和对数趋势线

步骤3:趋势线前推法大致预测非线性趋势值。

选定对数趋势线,右键菜单中选择“趋势线格式”,出现如图3-36的“趋势线格式”对话框。

如图3-36所示,在“趋势线格式”对话框中选定“选项”,将趋势预测前推1周期,得到如图3-37所示的大致预测结果。

由图3-37中的趋势线可见,公司2007年7月的会员卡发行量预测值约为25万张。

图3-36 趋势预测前推1周期设置

第 33 页 共 52 页

图3-37 趋势预测前推1周期的大致预测结果

步骤4:用方程或函数准确预测非线性趋势值。 根据得到的方程公式y=7.7785ln(x)+3.7651,如图3-38所示,在单元格c16中输入公式:“=7.7785*ln(a16)+3.7651”,即将x=15(2007年7月为第15个时间序列点)代入公式,计算得到2007年7月的会员卡发行预测值为24.83万张。

图3-38 会员卡发行量对数趋势预测结果

步骤5:将预测结果在图中表示。

趋势线前推只能在图中看到大致预测结果,而如图3-39所示,可在图中看到准确的预测值,且预测值一定在趋势线的延伸线上。

图3-39带预测点的会员卡发行量对数趋势预测图

实验思考

1.请试一下,图3-39可否考虑用xy散点图做? 这时用什么数据作为x轴合适?

答:可以,用序号的对数值ln(x)代替x,作为x轴合适,y与x是一次线性函数关系。2.为什么预测值一定在趋势线的延伸线上?

答:预测值一定在趋势线上的原因是预测值是依据趋势线作出来的。

3.除了本实验中介绍的添加趋势线方法可以找到对数趋势预测模型的参数外,是否可以用

第 34 页 共 52 页 规划求解法找到对数趋势预测模型y=a+bln(x)中的参数a和b?

答:还可用回归方法找到Y=a+bX中参数a,b的值。

实验3-5 “美食佳”火锅连锁店原料年度采购成本预测 实验目的:

• 理解季节指数的概念; • 掌握季节指数预测方法。

实验步骤:

步骤1:确定时间序列的类型。

如图3-40所示在单元格a1:c17中布置好公司从2003年第1季度至2006年第4季度的原材料采购成本数据。

绘制公司从2003年第1季度至2006年第4季度共16个季度的原材料采购成本折线图,结果如图3-41所示,既呈现阶段性的规律变化,又有整体的上升趋势。

以每年为一个系列的数据,重新绘制公司从2003年第1季度至2006年第4季度共16个季度的4个系列的原材料采购成本折线图,结果如图3-42所示,呈现明显的季节变化规律,说明适合用季节指数法进行预测。

图3-40 2003年第1季度至2006年第4季度的原材料采购成本数据

图3-41 2003年第1季度至2006年第4季度原材料采购成本折线图

第 35 页 共 52 页

图3-42 4年同期的原材料采购成本折线图

步骤2:计算季节指数。

一年有4个季度,所以以4为移动平均跨度,计算移动平均数,其结果应该对应放在每4个季度的中间位置。但当移动平均跨度为4时,没有中间季度位置可放,因此只能放在第3个季度对应的位置处。所以从第一年开始,4个季度的移动平均数放在单元格d4中,即在单元格d4中输入公式:“=average(c2:c5)”。

拖动单元格d4的填充柄复制到单元格d5:d16中,如图3-43所示,完成季度移动平均数的计算。

图3-43 季节指数的计算

移动平均的目的是消除不规则成分,而计算出来的移动平均数不能直接对应在时间序列的季度上,因此用它们的中间值来解决这个困难,即用第一和第二个移动平均数的均值作为第1年第3季度的移动平均数,第二和第三个移动平均数的均值作为第1年第4季度的移动平均数,以此类推。这个过程被称为中心化,所得到的结果称为中心化的移动平均数。所以,在单元格e4中输入公式:“=(d4+d5)/2”,并将它复制到单元格e5:e15内。由此完成中心化移动平均数的计算。

把中心化后的移动平均数单元格e2:e17添加到图3-41所示的折线图中,得到如图3-44的结果。可见中心化的移动平均数体现了原材料采购成本的稳定水平,即在一定程度上消除了原材料采购成本时间序列的不规则成分。

在单元格f4中输入公式:“=c4/e4”,并将它复制到单元格f5:f15中,由此完成季节不规则值的计算。

分别计算每一年对应季度的不规则值的平均值,就可得到各个季度的季节指数。如在单元格i2中输入公式:“=average(f2,f6,f10,f14)”,可计算得到第1季度的季节指数,以此类推,结果如图3-43所示。

第 36 页 共 52 页

图3-44 中心化后的原材料采购成本移动平均数

平均季节指数应等于1,因此4个季度的季节指数总和必须等于4。如果不满足这一点,则应对季节指数进行调整。方法是用每一个季节指数除以未调整的季节指数之

和再乘以季度指数总和4。如图3-43中单元格i6所示,未调整前的季节指数之和为3.9852,所以需要调整。在单元格j2中输入公式:“=i2/$i$6*4”,往下复制到j3:j5,得到调整后的季节指数。

步骤3: 消除季节影响。

如图3-45所示,将调整后的季节指数复制到E列,分别对应2003-2007年的4个季度。

图3-45 消除季节影响后的原材料采购成本

在单元格F2中输入公式:“=D2/E2”,将公式复制到单元格F3:F17中,得到消除季节影响后的结果。

利用单元格F2:F17中的数据绘制公司从2003年第1季度到2006年第4季度共16个季度的原材料采购成本折线图,并添加线性趋势线,结果如图3-46所示。可以看到,消除了季节影响的时间序列具有非常明显的线性增长趋势。

第 37 页 共 52 页 图3-46 消除季节影响后的原材料采购成本及趋势线

步骤4:计算预测值。

如图3-47中G列所示,利用FORECAST()函数计算线性趋势预测值。

图3-47 趋势预测值和季节预测值的计算

在单元格H2中输入公式:“=G2*E2”,将公式复制到单元格H3:H21中,即在线性趋势预测值的基础上乘以调整后的季节指数得到最终的季节预测值。公司2007年1至4季度的采购成本预测值分别为73.0、20.9、13.

8、154.9。

根据D列的原始采购成本数据和H列的季度预测值数据,作折线图,结果如图3-48所示。

图3-48 2003-2004年原材料采购成本及2007年4个季度的原材料采购成本预测值

实验思考

1.图3-47中的“序号”一列有什么用?

答:图3-47中“序号”一列的作用是为趋势线公式的获得提供依据(作为自变量X)。 2.计算趋势预测值时,若不用forcast()函数,还可以有什么方法?请至少用两种方法试试看。

答:计算趋势预测值还可用移动平均预测法、指数平滑预测法、一元线性回归分析模型等。

3.季节指数模型是否只能用于季节数据的预测?若是年度、月度、甚至周数据,可以用季节指数模型吗?

答:季节指数模型不是只能用于季节数据的预测,年度、月度、周数据等在某些情况下均能用季节指数模型。

第 38 页 共 52 页

实验总结: 此次实验中学习了指数平滑预测法、移动平均预测法、趋势预测法、非线性趋势预测法、季节指数的概念,计算趋势预测值还可用移动平均预测法、指数平滑预测法、一元线性回归分析模型等。实验不难,关键要会分析和辨别使用何种分析方法。

实验四 住房建筑许可证数量的回归分析

实验4-1 “家家有房”公司建筑许可证一元线性回归分析

实验目的

• 理解一元线性回归分析的概念;

• 针对不同的问题,能够建立适当的一元线性回归模型; • 掌握内建函数slope()、intercept()与linest()的用法;

• 掌握用规划求解法、添加线性趋势线法、回归分析报告法确定线性回归方程的系数; • 给定自变量的情况下,根据线性回归模型预测因变量的值。

实验步骤:

步骤1:确定因变量与自变量并输入观测值。

根据实验要求,我们确定因变量为建筑许可证的颁发数量,自变量为人口密度,并将数据合理的布置在excel工作表的单元格a1:b19中,以备建模使用。

步骤2:绘制因变量与自变量关系散点图。

利用工作表的数据,以每平方公里的人口密度为x值,建筑许可证的颁发数量为y值,绘制xy散点图,如图4-1所示。从这个散点图可以看出每平方公里的人口密度与建筑许可证的颁发数量之间存在着大体上的线性依赖关系。

图4-1建筑许可证的颁发数量与每平方公里的人口密度散点图

步骤3:求出回归系数a、b的取值,计算判定系数R2,并进行预测。

excel提供了几种不同的工具,包括规划求解工具,intercept()、slope()与linest()等内建函数,在散点图中添加趋势线和趋势线方程以及生成回归分析报告等方法来确定回归系数a和b。我们这里介绍利用规划求解的方法来求解回归系数。

步骤4:假定回归系数的值,建立线性回归模型。

假定回归系数的值为a=1,b=1并将之放在单元格f2:f3中。用回归直线方程y=a+bx以及每平方公里的人口密度来计算建筑许可证的颁发数量预测值,放在单元格c2中,即在单元c2中输入公式“=$f$2+$f$3*a2”,并将此公式复制到c3:c19中,得到建筑许可证的颁发

第 39 页 共 52 页 数量预测值。在单元格f5中计算建筑许可证的颁发数量观测值与预测值的均方误差mse,即在单元格f5中输入公式“{=average((c2:c19-b2:b19)^2)}”(注:其中的花括号不是直接输入,是将所有内容输入完后按住ctrl+shift键后再按回车键生成的)。如图4-2所示:

图4-2 回归参数求解前的模型

步骤5:启动规划求解工具,确定模型最优参数。

在如图4-3的“规划求解参数”对话框中将目标单元格设为$f$5,使其等于最小值,将可变单元格设为$f$2:$f$3,无须设置任何约束条件即可直接求解,保存规划求解结果。注意规划求解受到迭代次数和精度的限制,本例需启用8次规划求解工具进行重复运算才能得到满意的精度,即第8次的运行结果与第7次的运行结果相同。

图4-3 规划求解参数的设置

对于一个线性规划求解问题,如果我们启用一次规划求解工具不能得到满意解,那我们需多次启用规划求解工具,当第n+1次的结果与第n次的结果相同时,则该结果即为我们最终得到的结果,此外,我们也可以在规划求解的选项中设定“迭代次数”。

规划求解完成后,如图4-4中所示,就可得到使f5中均方误差达到极小的两个回归系数的值,即回归直线方程的截距a和斜率b的值分别为a=-23645.19,b=5.4714971,即回归方程为:

y=-23645.19+5.4714971x

第 40 页 共 52 页

图4-4 回归参数求解后的模型

根据上述回归方程,如果任意给定人口密度(7000),即可预测出建筑许可证的颁发数量(14655.287),如图4-5所示。

实验思考

1. 除了用规划求解的方法外,还可以哪些其它方法求出建筑许可证数量与每平方里人口密度之间关系的回归方程y=a+bx的系数,请用其它方法求得系数,并检验与实验4-1所获得的系数是否一致。

答:除用规划求解额方法外,还可以利用添加趋势线的方法获得回归方程Y=a+bX的系数。用规划求解方法获得的回归方程Y=a+bX的系数中a的值为-23900.10788,b的值为5.500026742;而用添加趋势线的方法获得的a的值为-23901,,b的值为5.5001,在误差允许的范围内,可认为他们的系数一致。

2. 如果每平方公里的人口密度与建筑许可证数量之间是非线性关系,该如何选择非线性模型,并针对任意给定每平方公里的人口密度,预测建筑许可证的颁发数量。

答:若每平方公里的人口密度与建筑许可证数量之间是非线性关系,可利用添加趋势线的方法来进行检验,找出每一种可能的非线性模型的均方误差MSE,选择其中最小的一项作为最佳的非线性模型。然后根据非线性模型的公式,带入相应参数后即可预测建筑许可证的颁发数量。

3. 根据拟合优度,进一步分析是否有其他非线性回归模型,更适合人口密度与建筑许可证数量的相关关系。

答:根据拟合优度对其他非线性回归模型进行分析,暂未找到更适合人口密度与建筑许可证数量的相关关系。

实验4-2 “家家有房”公司建筑许可证一元非线性回归分析

实验目的

• 理解一元非线性回归分析的概念;

• 针对不同的问题,能够建立适当的一元非线性回归模型;

• 掌握用规划求解法、添加非线性趋势线法、变换法确定非线性回归方程的系数; • 在给定自变量的情况下,根据非线性回归模型预测因变量的值。

实验步骤:

步骤1:确定因变量与自变量。

第 41 页 共 52 页 根据实验要求,我们确定因变量为建筑许可证的颁发数量,自变量为自由房屋的均值。并将数据合理的布置在excel工作表的单元格a1:b19中,以备建模使用。

步骤2:选择合适的回归方程。

利用步骤1中准备的数据画出散点图,如图4-5所示,通过散点图选择合适的拟合函数,建立含未知参数的方程。

图4-5 建筑许可证的颁发数量与自由房屋的均值散点图

仔细观察散点图,发现建筑许可证的颁发数量随着自由房屋的均值增大而增大,且随着自由房屋均值的增加建筑许可证的颁发数量增加的速度而放缓,这是对数曲线的特征,因此可以采用对数函数来进行拟合。即将建筑许可证的颁发数量(y)与自由房屋的均值(x)之间的关系表述为:

y= a + blnx 其中的参数a与b的值待定。

步骤3:假定回归系数的值,建立非线性回归模型。

假定回归系数的值为a=1,b=1并将之放在单元格f2:f3中。用回归对数方程y=a+blnx以及自由房屋均值来计算建筑许可证的颁发数量预测值,放在单元格c2中,即在单元c2中输入公式“=$f$2+$f$3*ln(a2)”,并将此公式复制到c3:c19中,得到建筑许可证的颁发数量预测值。在单元格f5中计算建筑许可证的颁发数量观测值与预测值的均方误差mse,即在单元格f5中输入公式“{=average((c2:c19-b2:b19)^2)}”(用ctrl+shift+enter组合键添加花括号)。如图4-6所示:

图4-6 回归参数求解前的模型 步骤4:确定参数a与b的值。

对于本例的问题,我们采用规划求解的方法来确定参数a与b的值,利用规划求解工具计算出使mse极小的参数a与b,规划求解对话框的设置如图4-7所示。

第 42 页 共 52 页

图4-7 规划求解对话框

然后点击“求解”按钮,可得如图4-8所示的结果。

图4-8 规划求解后的模型结果

步骤5:添加趋势线,显示R2值。

在图4-7的散点图中通过添加对数趋势线,并在添加趋势线对话框中的“选项”中选择“显示R2”与“显示公式”,如图4-9所示。我们发现R2达到0.9441,表明选择对数回归模型预测是可行的。同时我们也检验了趋势线方法与规划求解法所得到的回归方程系数是一样的。

图4-9 添加了对数趋势线

步骤6:进行预测。

根据对数回归方程,如果任意给定 自由房屋的均值,即可预测出建筑许可证的颁发数量。将x=300,预测出颁发的建筑许可证数量为-78874.08+16877.319*ln(300)=17390.4708 ,如图 4-8所示。

实验思考:

1、请将此问题转换为线性回归模型,求解模型的参数和R2值,并与规划求解法的结果进行比较。

答:若将此模型转换为线性回归模型,得到的模型为y=16877.34701Ln(X)-

第 43 页 共 52 页 79003.9859, MSE=2023817.464,与原模型中y=16878Ln(X)-78877,R²=0.9441,MSE=2006982.816相比 ,基本无差别。

实验4-3 “家家有房”公司建筑许可证多元线性回归分析 实验目的

• 理解多元线性回归分析的概念;

• 针对不同的问题,能够建立适当的多元线性回归模型; • 掌握运用向前增选法确定回归自变量;

• 在给定自变量的情况下,根据多元线性回归模型预测因变量的值。

实验步骤:

步骤1:输入原始数据。

首先分析案例中的自变量和因变量,并将数据合理的布置在excel工作表的a1:d19中,如图4-10所示,以备建模使用。

根据实验要求,我们确定因变量为建筑许可证的颁发数量(y),自变量为每平方公里的人口密度(x1)、自由房屋的均值(x2)与平均家庭收入(x3),假设多元线性模型为:y=a+b1*x1+b2*x2+b3*x3。

图4-10 人口密度、自由房屋均值、平均家庭收入与建筑许可证数量数据 步骤2:分别绘制三个候选自变量与因变量之间的关系图。

第 44 页 共 52 页 图4-11 建筑许可证数量与每平方公里人口密度的散点图

这个问题涉及到三个候选自变量,每平方公里的人口密度(x1)、自由房屋的均值(x2)与平均家庭收入(x3)。首先分别对每个候选自变量绘制与因变量建筑许可证的颁发数量关系的散点图,见图4-11—图4-13。

图4-12 建筑许可证数量与自由房屋的均值的散点图

图4-13建筑许可证数量与平均家庭收入的散点图

步骤3:针对每一个候选变量生成回归分析报告。

分别对这三个候选变量做回归分析报告,根据值,找出最优的变量。这里我们采用向前增选法,先给出建筑许可证的颁发数量与三个候选变量之间的回归分析报告,分别见图4-14和4-16。

图4-14 许可证数量与人口密度的回归分析报告

第 45 页 共 52 页

图4-15 许可证数量与自由房屋均值的回归分析报告

图4-16 许可证数量与平均家庭收入的回归分析报告

图4-17 建筑许可证数量与人口密度及平均家庭收入的回归分析报告

第 46 页 共 52 页 图4-18 建筑许可证数量与自由房屋均值及平均家庭收入回归分析报告

实验思考

1. 在用回归分析报告求解参数时,自变量与因变量之间应该满足什么关系? 答:在用回归分析报告求解参数时,自变量与因变量之间应满足一个或多个自变量值对应一个应变量。

2. 为什么实验结果只选用两元线性回归模型而不用三元线性回归模型进行建筑许可证数量的预测?

答:实验结果只选用两元线性回归模型二不用三元线性回归模型既高兴建筑许可证数量预测的原因是三元回归分析报告中自有房屋的均值X2的调整后的R²的值并未超过一元回归分析报告中对自有房屋的均值X2的调整后的R²的值,说明自有房屋的均值X2与建筑许可证数量的线性相关性不强,若它参与回归预测,将会影响预测结果。

3. 在用多元线性回归时,如何确定候选变量,确定的依据是什么?

答:用多元线性回归时,可依据对某一自变量在组合前得到的调整后的R²的值与组合后得到的调整后的R²的值之间的大大小进行候选变量的确定。若组合后得到的调整后的R²的值超过组合前得到的调整后的R²的值,则确定其为候选变量

4. 从实验4-2我们了解自有房屋的均值(x2)与建筑许可证数量是对数相关,如果我们用回归方程y=a+b1*x1+b2*lnx2+b3*x3来进行预测是否更精确?那么我们又怎样确定此方程的各项系数呢?

答:若用回归方程Y=a+b1*X1+b2*lnX2+b3*X3来进行预测,结果不一定会更精确。因为Y是受3个自变量的共同影响。可用多元非线性回归确定次方程的各项系数,因为线性回归是特殊的非线性回归。

实验4-4 “家家有房”公司建筑许可证多元非线性回归分析

实验目的

• 理解多元非线性回归分析的概念;

• 针对不同的问题,能够建立适当的多元非线性回归模型;

• 掌握用规划求解法、变换技术加回归分析报告法确定多元非线性回归方程的系数; • 在给定自变量的情况下,根据多元非线性回归模型预测因变量的值。

实验步骤:

步骤1:确定因变量与自变量。

根据实验要求,我们确定因变量为建筑许可证的颁发数量(y),因变量为平均家庭收入(x1)与人均交纳税收(x2),并将数据合理的布置在excel工作表中。

步骤2:确定模型并对模型初始化。

因为是非线性模型,而且是多元的,所以我们这里假设模型为y=a+b1*x1^2+b2*x2^2。 在单元格h2:h4中分别放入参数a,b1,b2初值1,并在单元格d2中输入公式“=$h$2+ $h$3 *a2^2+$h$4*b2^2”,并将其复制到公式d3:d19中,在单元格h5中输入公式“=sumxmy2(d2:d19,c2:c19)/count(d2:d19)”。

步骤3:启用规划求解工具。

在“工具”菜单中选择“规划求解”,打开“规划求解”对话框,并在该对话框中做如

第 47 页 共 52 页 图4-19中设置,然后点击“求解”按钮,并将结果保存在图4-20中。

图4-19规划求解参数的设置

图4-20 规划求解后的模型结果

步骤4:根据获得的参数进行预测。

利用规划求解的结果,将参数a,b1,b2的值及平均家庭收入为80千元,人均交纳的税收为7千元代入模型y=a+b1*x1^2+b2*x2^2,可得建筑许可证的颁发数量预测值为11464.4。

步骤5:将非线性模型与线性模型结果比较。

将模型假设为线性模型y=a+b1*x1+b2*x2,并将参数放置在单元格h8:h11中,重复步骤2与步骤3,可以看到在线性模型求得的mse为1500179.183,比在非线性模型下求得的mse的值1158258.3大,因此在该实验中,用二元非线性模型要比用线性模型求解的结果要好些。

实验思考

1. 如果要用回归分析报告求解多元非线性模型的参数,首先要做的工作是什么?怎么做?

答:若要用回归分析报告求解多元非线性模型的参数,首先要做的是确定因变量与自变量。并将数据合理地布置在Excel表中。

2. 现王经理经过深入调查研究发现:建筑许可证的颁发数量既与每平方公里的人口密度有着密切的关系,也与自由房屋的均值有着密切的关系,此外还与平均家庭收入、人口增长百分比、失业率、人均交纳的税收等有着相关关系,并给出相关数据如表4-5,根据表4-5中所给的数据,想想用什么方法能够较快的找出合适的自变量建立多元回归分析模型,并以此预测建筑许可证的颁发数量。

答:可分别求出每一因素调整前的R²的值与调整后的R²作比较,再确定其是否影响显著,以此进行选择细分。

第 48 页 共 52 页

实验总结:

本次实验主要目的是理解数平滑预测法、移动平均预测法、趋势预测法、非线性趋势预测法、季节指数的概念;掌握在excel中建立指数平滑预测模型、移动平均模型、线性趋势预测模型、非线性趋势预测模型、季节指数预测的方法,掌握寻找最优平滑常数、最优移动平均跨度、线性趋势模型参数、线性趋势值预测的各种方法。

实验五 手机用户消费习惯聚类分析

实验目的

• 理解聚类分析的概念; • 理解聚类分析的原理;

• 掌握在SPSS中进行聚类分析的方法。

实验步骤: 为研究移动用户的手机消费习惯,现收集了反映移动用户手机使用情况的数据,该数据中包含7个变量:客户编号(Customer_ID)、工作日上班时期电话时长(Peak_mins)、工作日下班时期电话时长(OffPeak_mins)、周末电话时长(Weekend_mins)、国际电话时长(International_mins)、总通话时长(Total_mins)和平均每次通话时长(average_mins)。请用SPSS软件按除客户编号外的6个变量维度对移动用户进行细分。部分数据如图所示。

移动电话用户手机使用情况部分数据

本次实验采用迭代聚类方法进行数据分析。

1.数据的初步分析

选择菜单 打开SPSS文件 telco.sav→分析(Analyze)→描述统计(Descriptive Statistics)→描述(Descriptives…) 选入变量 将除“Customer_ID”外的其余6个变量选入变量框(Variables)中

设置选项 打开Options按钮,勾选均值(Mean)、标准差(Std. deviation)、最小值(Minimum)、最大值(Maximum)四项

结果输出见下图。

第 49 页 共 52 页

上图显示6个变量数值差异较大,其中均值最大值为1064.3,最小值为4.1267,标准差的取值也从最小的3.804变化到最大的560.801。这种差异会影响聚类分析的结果。而要消除这种影响,需在聚类前对数据进行标准化处理。

2.标准化处理

在上一步弹出的“Descriptive”对话框中选择“Save standardized values as variables”,即将标准化值另存为变量,输出如下图。

标准化的目的是消除量纲和变异的影响。消除量纲影响,要扣减平均值;消除变异影响,要除以标准差。因此标准化数据等于某变量的观察值减去该变量的平均数,然后除以该变量的标准差。标准化后各变量的平均数为0,标准差为1,消除了量纲和变异的影响。如ID为K1000050的用户工作日上班时间通话时长(Peak_mins)标准化后的值,Peak_mins标准化=(观察值-均值)/标准差=(40.61-708.347)/515.258=-1.296。

3.聚类分析

选择菜单 打开SPSS文件 telco.sav→分析(Analyze)→分类(Classify)→K均值聚类(K-Means Cluster…) 选择变量 选入上图中红框内的6个标准化数据变量

设置选项 主窗口设置选项如下图中的第一个图,其中Label Cases by设置为客户编号表示个案标记依据为客户编号,Number of Clusters设置为5表示聚类后生成5类不同特征的数据。“Iterate…”、“Save…”、“Options…”3个按钮的设置依次按照下面3个图进行设置。Maximum Iterations设置为100表示最大迭代数为100,Convergence Criterion=0表示收敛标准为0。勾选Cluster membership表示在原始数据中生成每个记录对应的类别号1-5,Initial Cluster centers表示生成初始聚类中心,ANOVA tables表示生成方差分析表。

结果输出见下表。初始聚类中心表可以看成是以6个变量为维度的5个散点,每个散点对应一个类别。生成散点的原则是使得这些散点尽可能广泛地分布在6维空间中,散点之间

第 50 页 共 52 页

第三篇:仪器分析实验数据处理与表达

1.可疑数据的取舍 分析测定中常常有个别数据与其他数据相差较大,成为可疑数据(或称离群值、异常值)。对于有明显原因造成的可疑数据,应予舍去,但是对于找不出充分理由的可疑数据,则应慎重处理,应借助数理统计方法进行数据评价后再行取舍。

在3-10次的测定数据中,有一个可疑数据时,可采用Q检验法决定取舍; 若有两个或两个以上可疑数据时,宜采用Grubbs检验法。

2.有效数字及其运算规则

由于误差的存在,任何测量的准确度都是有限的,因此在记录数据时既不可随意多写数字的位数,夸大测量的精度;也不可轻率少写数字的位数,降低测量的精度。在小数点后的“0”也不能任意增加或删去。在进行运算时,还须注意遵守下列规则:

(1)有效数字的修约按国家标准GB 8187-1987进行:在拟舍弃的数字中,若左边的第一个数字≤4,则舍去;在拟舍弃的数字中.若左边的第一个数字≥6,则进—;在拟舍弃的数字中,若左边的第一个数字为5,其右边的数字井非全部为0,则进一;在拟舍弃的数字中,若左边的第一个数字为5,其右边的数字皆为0,所拟保留的末位数字为奇数时,则进一,若为偶数(包括“0”)时,则不进;有效数字的修约应一次完成,不得连续进行多次修约。

(2)加减运算结果中,保留有效数字的位数应与绝对误差最大的相同;乘除运算结果中,保留有效数字的位数应以相对误差最大的数据为准。

(3)对数计算中,对数小数点后的位数应与真数的有效数字位数相同。

(4)计算式中用到的常数如π、e以及乘除因子等,可以认为其有效数字的位数是无限的,不影响其他数据的修约。

3.分析结果的表达

取得实验数据后,应以简明的方法表达出来,通常有列表法、图解法、数学

1 方程表示法等三种方法,可根据具体情况选择一种表达方法。

列表法是将—组实验数据中的自变量和因变量的数值按一定形式和顺序一一对应列成表格,比较简明、直观,是最常用的方法。列表时应有完全而又简明的表名,在表名不足以说明表中数据含义时,则在表名或表格下面再附加说明,如获得数据的有关实验条件、数据来源等;表中数据有效数字位数应取舍适当,小数点应上下对齐,以便比较分析。 图解法是将实验数据按自变量与因变量的对应关系标绘成图形,直观反映变量间的各种关系,便于进行分析研究。每图应有简明的标题,并注明取得数据的主要实验条件、作者姓名(包括合作者姓名)、以及实验日期。注意坐标分度的选择,其精度应与测量的精度一致。

图解法是整理实验数据的重要方法,通常借助标准工作曲线法、曲线外推法图解微分法和图解积分法直接或间接获得样品的有关信息。这些处理方法与它们在基础化学分析课程中应用相似,本教材不再赘述。

数学方程表示法是对数据进行回归分析,以数学方程式描述变量之间关系的方法。仪器分析实验数据的自变量与因变量之间多成直线关系,或是经过适当变换后,使之呈现直线关系,因此仪器分析中比较常用的是一元线性回归分析,多采用平均值法和最小二乘法完成。在实验报告或论文中,往往还需算出相关系数r,以说明变量之间的相关程度;注意,|r|=0时,表明x与y毫无线性关系,但并不否定x与y之间可能存在其他的非线性关系。

仪器分析实验和化学分析实验相比,实验数据和信息量要大得多,要注意利用先进的计算机技术进行分析处理,例如大家熟悉的Microsoft Excel、Origin等系列软件就可以根据一套原始数据,在数据库、公式、函数、图表之间进行数据传递、链接和编辑等操作,从而对原始数据进行汇总列表、数据处理、统计计算、绘制图表、回归分析及验证等。

第四篇:数据结构 实验一 图[推荐]

北京邮电大学信息与通信工程学院

数据结构实验报告

实验名称: 实验二——图 学生姓名: 佘晨阳 班

级: 2014211117 班内序号: 20 学

号: 2014210491 日

期: 2015年12月05日

1.实验要求

根据图的抽象数据类型的定义,使用邻接矩阵或邻接表实现一个图。 图的基本功能:

1、图的建立

2、图的销毁

3、深度优先遍历图

4、广度优先遍历图

5、使用普里姆算法生成最小生成树

6、使用克鲁斯卡尔算法生成最小生成树

7、求指定顶点到其他各顶点的最短路径

8、其他:比如连通性判断等自定义操作

编写测试main()函数测试图的正确性

2. 程序分析

本实验要求掌握图基本操作的实现方法,了解最小生成树的思想和相关概念,了解最短路径的思想和相关概念,学习使用图解决实际问题的能力。

2.1 存储结构

存储结构:1.不带权值的无向图邻接矩阵

2.带权值的无向图邻接矩阵

3.带权值的有向图邻接矩阵

1.不带权值的无向图邻接矩阵

第1页 北京邮电大学信息与通信工程学院

2带权值的无向图邻接矩阵.

3.带权值的有向图邻接矩阵

[备注]:

1. 在使用打印元素、BFS、DFS 采用无权值的无向图邻接矩阵存储方式 2. 在使用PRIM、KRUSKAL、

3. 在使用最短路径的算法时采用具有权值的有向图邻接矩阵存储方式

2.2 关键算法分析

第2页 北京邮电大学信息与通信工程学院

一.图的邻接矩阵构造函数:

1.关键算法: template Graph::Graph(f a[], int n, int e)

//带权值的图的构造函数 { int i, j, k, height; f s1, s2; vnum = n; arcnum = e; for (k = 0; k < n; k++) { vertex[k] = a[k]; }

//初始化顶点

for (k = 0; k

for (i = 0; i < n; i++)

{

arc[k][i] = -1;

if (i == k) arc[k][i] = 0;

//初始化权值的大小

}

visited[k] = 0; } cout << endl; for (k = 0; k

//初始化边

{

cout << "请输入线性链接节点:";

cin >> s1 >> s2 >> height;

arc[convert(s1)][convert(s2)] = height;

arc[convert(s2)][convert(s1)] = arc[convert(s1)][convert(s2)]; //采用无向图带权值的邻接矩阵

} cout << endl; cout << "所得邻接矩阵为:" << endl;

for (k = 0; k

for (i = 0; i < n; i++)

{

if (arc[k][i] == -1)

cout << "∞" << " ";

else cout << arc[k][i] << " ";

//打印邻接矩阵的格式

}

cout << endl;

} cout << endl 2.算法的时间复杂度

第3页 北京邮电大学信息与通信工程学院

有构造可知,初始化时其时间复杂度:O(n2)

二.深度优先便利DFS:

1.关键算法

①从某顶点v出发并访问

②访问v的第一个未访问的邻接点w,

访问w的第一个未访问的邻接点u,

……

③若当前顶点的所有邻接点都被访问过,则回溯,从上一级顶点的下一个未访问过的顶点开始深度优先遍历

④直到所有和v路径相通的顶点都被访问到; 2.代码图解:

深度优先遍历示意图 3.代码详解:

template void Graph::DFS(int v) { cout << vertex[v]; visited[v] = 1;

for (int j = 0; j < vnum; j++)

//连通图

if ((visited[j] == 0) && (arc[v][j] >= 1)) DFS(j); //当存在回路时,则连通深一层遍历

} 4.时间复杂度

时间复杂度:O(n2)

空间复杂度:栈的深度O(n)

辅助空间O(n)

第4页 北京邮电大学信息与通信工程学院

三.广度遍历BFS 1.关键算法 ①访问顶点v ②依次访问v的所有未被访问的邻接点v1,v2,v3…

③分别从v1,v2,v3…出发依次访问它们未被访问的邻接点 ④反复①②③ ,直到所有和v路径相通的顶点都被访问到;

2.代码图解

3.代码详解

1.初始化队列Q

2.访问顶点v, visited[v]=1

3. while(队列非空)

3.1 v=队头元素出队

3.2 访问队头元素的所有未访问的邻接点 4.时间复杂度

时间复杂度:O(n2)

空间复杂度:辅助空间O(n)

四.最小生成树——普里姆算法

1,关键思路

一般情况下,假设n个顶点分成两个集合:U(包含已落在生成树上的结点)和V-U(尚未落在生成树上的顶点),则在所有连通U中顶点和V-U中顶点的边中选取权值最小的边。 主数据结构:

邻接矩阵 辅助数据结构:

int

adjvex[MAXSIZE]; // U集中的顶点序号

第5页 北京邮电大学信息与通信工程学院

int

lowcost[MAXSIZE];

// U(V-U)的最小权值边

2.代码图解

第6页 北京邮电大学信息与通信工程学院

第7页 北京邮电大学信息与通信工程学院

3;代码详解

template void Graph::Prim() { for (int i = 0; i < vnum; i++)

//辅助数组存储所有到的V0边

{

adjvex[i] = 0; lowcost[i] = arc[0][i];

} lowcost[0] = 0; for (int j = 1; j < vnum; j++)

//循环n-1次

{

int k = Mininum(lowcost);

//求下一个顶点

cout << vertex[adjvex[k]] << "->" << vertex[k] << endl;

lowcost[k] = 0;

//U=U+{Vk}

for (int j = 0; j < vnum; j++)

//设置辅助数组

{

if ((lowcost[j] != 0 && arc[k][j] < lowcost[j]))

{

lowcost[j] = arc[k][j];

adjvex[j] = k;

}

}

第8页 北京邮电大学信息与通信工程学院

} } 4,时间复杂度:

时间复杂度O(n2),适合稠密图

五.最小生成树----克鲁斯卡尔算法

1,关键思路

先构造一个只含n个顶点的子图SG,然后从权值最小的边开始,若它的添加不使SG中产生回路,则在SG上加上这条边,如此重复,直至加上n-1条边为止。 2.代码图解:

3.代码详解

template void Graph::Kruskal()

//最小生成树—kruskal算法

{ cout<<"Krusal算法结果为:"<

int k = 0, j = 0;

while (k < vnum - 1) {

int m = vedgelist[j].fromv, n = vedgelist[j].endv;

int sn1 = vset[m];

int sn2 = vset[n];

//两个顶点分属

第9页 北京邮电大学信息与通信工程学院

不同的集合

if (sn1 != sn2)

{

cout << vertex[m] << "->" << vertex[n] << endl;

k++;

for (int i = 0; i < vnum; i++)

{

if (vset[i] == sn2)

vset[i] = sn1;

//集合sn2全部改成sn1

}

}

j++; } } 4.时间复杂度

时间复杂度O(nlogn),适合稀疏图

六.最短路径——Dijkstra算法 1.关键代码

• 按路径长度递增的次序产生源点到其余各顶点的最短路径。 • 1)设置集合s存储已求得的最短路径的顶点, • 2)初始状态:s=源点v • 3)叠代算法:

• 直接与v相连的最近顶点vi,加入s • 从v经过vi可以到达的顶点中最短的,加入s

……

2.代码图解

第10页 北京邮电大学信息与通信工程学院

3.代码详解

emplate void Graph::ShotPath(f x)

//关于最短路径的初始化 { int v=convert(x);

for (int i = 0; i < vnum; i++)

//初始化路径和点

{

s[i]=0;

disk[i] = arc[v][i];

if (disk[i] != maxs) path[i] = v;

else path[i] = -1; } s[v] = 1; disk[v] = 0; path[v]=-1; for (int i = 0; i < vnum; i++)

//反复经过从该点到其他点的路径

{

if ((v = FindMin()) == -1) continue;

s[v] = 1;

for (int j = 0; j < vnum; j++)

if (!s[j] && (disk[j]>arc[v][j] + disk[v]))

{

第11页 北京邮电大学信息与通信工程学院

disk[j] = arc[v][j] + disk[v];

path[j] = v;

} } Print();

//打印路径长度和遍历

} 4.时间复杂度

时间复杂度为:n^2

七.判断连通图算法

template bool Graph::judgegraph() { DFS(convert(vertex[0])); if(count==vnum)

{

cout<<"该图为连通图!*******输入成功!"<

return false;

} else {

cout<<"该图不为连通图!*******请重新输入"<

return true;

} }

时间复杂度:n^2

3. 程序运行结果

1. 测试主函数流程:

第12页 北京邮电大学信息与通信工程学院

函数流程图:

1. 输入图的连接边并打印

构造下面所示图的邻接矩阵:

第13页 北京邮电大学信息与通信工程学院

2.判断图连通是否成功

3.BFS DFS PRIM算法的实现

第14页 北京邮电大学信息与通信工程学院

4.克鲁斯卡尔算法实现过程

4. 有向图邻接矩阵的构建

第15页 北京邮电大学信息与通信工程学院

插入V0位置后打印距离并开始回溯

总结

1.调试时出现的问题及解决的方法

问题一:prim算法中

解决方法:调整循环条件,修正函数体注意有无Next的区别

第16页 北京邮电大学信息与通信工程学院

问题二:BFS和DFS同时在一个类里作用时会输出错误

解决方案:每次BFS/DFS使用时都把visited数组初始化一遍

问题三:在最短路径,经常出现了停止输入的情况

解决方法:改return为continue,并修改打印算法 2.心得体会

通过本次实验,基本熟练掌握了c++基本语句,尤其对图的结构及应用有了较深了解;调试代码时尽量做到完成一个代码段调试一次,可以最快检测出错误所在;类的封装和调用,类的共有成员和私有成员的设置。

3.下一步的改进

第一,设置增加图节点和边的函数

第二,实现图形化输出图的路径的功能

第三,主函数设计简单,不要过于累赘

4.程序中出现的亮点

1) 利用dfs算法衍生生成判断是否为连通图的连通算法

2) 采用graph类实现所有图的所有算法,所需的数据类型均在私有成员内,封装 3) 利用convert函数采取象意输入,采用ABCD的节点输入方式而并非转化成01234再输入。

4) BFS中采用c++标准库的。

5) 打印邻接矩阵时,打印出非链接的∞符号和与自身路径的0距离 6) 判断图为非连通图后,提示输入错误,重新输入图元素

第17页

第五篇:对数据进行聚类分析实验报告 徐远东

任争刚

权荣 一、基本要求 用 FAMALE.TXT、MALE.TXT 和/或 test2.txt 的数据作为本次实验使用的样本集,利用 C 均值和分级聚类方法对样本集进行聚类分析,对结果进行分析,从而加深对所学内容的理解和感性认识。

二、

实验要求

1、把 FAMALE.TXT 和 MALE.TXT 两个文件合并成一个,同时采用身高和体重数据作为特征,设类别数为 2,利用 C 均值聚类方法对数据进行聚类,并将聚类结果表示在二维平面上。尝试不同初始值对此数据集是否会造成不同的结果。

2、对 1 中的数据利用 C 均值聚类方法分别进行两类、三类、四类、五类聚类,画出聚类指标与类别数之间的关系曲线,探讨是否可以确定出合理的类别数目。

3、对 1 中的数据利用分级聚类方法进行聚类,分析聚类结果,体会分级聚类方法。。

4、利用 test2.txt 数据或者把 test2.txt 的数据与上述 1 中的数据合并在一起,重复上述实验,考察结果是否有变化,对观察到的现象进行分析,写出体会 三、

实验步骤及流程图

根据以上实验要求,本次试验我们将分为两组:一、首先对 FEMALE 与 MALE 中数据组成的样本按照上面要求用 C 均值法进行聚类分析,然后对 FEMALE、MALE、test2 中数据组成的样本集用 C 均值法进行聚类分析,比较二者结果。二、将上述两个样本用分即聚类方法进行聚类,观察聚类结果。并将两种聚类结果进行比较。

一、(1)、C 均值算法思想

C均值算法首先取定C个类别和选取C个初始聚类中心,按最小距离原则将各模式分配到C类中的某一类,之后不断地计算类心和调整各模式的类别,最终使各模式到其判属类别中心的距离平方之和最小 (2)、实验步骤 第一步:确定类别数 C,并选择 C 个初始聚类中心。本次试验,我们分别将 C 的值取为 2 和 3。用的是凭经验选择代表点的方法。比如:在样本数为 N 时,分为两类时,取第一个点和第   1 2 /  N INT 个点作为代表点;分为三类时,取第一、

  1 3 /  N INT 、  1 3 / 2  N INT 个点作为代表点; 第二步:将待聚类的样本集中的样本逐个按最小距离规则分划给 C 个类中的某一类。

第三步:计算重新聚类后的个各类心,即各类的均值向量。

第四步:如果重新得到的类别的类心与上一次迭代的类心相等,则结束迭代,否则转至第二步。

第五步:迭代结束时,换不同的初始值进行试验,将实验结果进行比较 (3)、实验流程图

(4)、本次试验我们用的聚类指标是误差平方和聚类准则 J e 设iN 是第 i 聚类iC 的样本数目,iz是这些样本的均值,则把iC 中得各样本 y 与均值iz 间的误差平方和对所有类相加后为:

  ci C yi eim y J12 当 C 取不同的值时各自算出它们的eJ,进行比较。

二、利用分级聚类方法进行聚类 1、分级聚类法思想:首先把全部样本作为一类看做一类,然后根据一定的目标

函数进行分解。

2、步骤 第一步:开始时,将全部样本当做一类,第二类即为空集。

第二步:将第一类中的第一个样本放入第二类,计算两类样本均值 1 X , 2 X ,并确定两类别中样本数目 N1,N2 以及目标函数 ) 2 1 ( )" 2 1 (2 1X X X XNN NE   

第三步:将第一类中剩下的所有样本依次放入第二类中,按照上面运算得出 E值,并比较 E 值大小,选择是 E 值最大的样本,将其归入第二类。并记录此时的E 为 E(2)

第三步:将新的两类按照上面的方法继续划分,直到第 i 次迭代的 E(i)

3、实验流程图

四、

实验结果

I I 、1、用 FAMALE.TXT 和 MALE.TXT 中的数据组合起来作为样本集:

C=2 时 (1)、取第一个和第五十一个样本作为初始聚类中心,得出的实验结果图如下:

得到结果是:星号表示的类别中样本总数为61,点表示的类别中样本总数为39 。

两个聚类中心分别为:z1 =(163.5738,53.1541),z2 =(175.8974,68.2692)

(2)、取第二十五个和七十五个样本作为初始聚类中心时得到的实验结果如下:

最终得到的两个聚类中心分别为: z1 =(163.5738,53.1541),z2 =(175.8974,68.2692)

结果可发现取不同的初始聚类中心时两次实验结果相同。

它们的eJ= 5.9707e+003 但是,经过后面的实验我们发现,随着 C 变大,选取不同的初值对聚类结果有较大影响,当 C=2 时影响很小,几乎可以不计。因为当分为两类时,样本的类别特征很明显,所以此时选取不同的初值对聚类结果没有影响,而随着 C 的 增加,初值选择对聚类结果影响将会逐渐变大。

下面是将男女样本所代表的点分别画到图上可得下图:

其中点表示的是女生样本,圆圈表示的是男生样本。其中,男生的样本均值为(173.9200 ,65.5020)女生的样本均值为(162.8400 ,52.5960)

通过比较两幅图,可以发现,当去 C=2 时,对数据进行聚类分析得到的聚类结果基本类似于男女生分类,他们的样本均值相差不大,不过还是有一定差别。差别出现在一些身高低于 1.70 米的男生处。

C=3 时得到的聚类结果图如下:

最终的三个聚类中心:z1 =(168.8158,57.0105)

z2 =(159.2333,49.9333)z3 =(176.4375,70.0156)

eJ= 3.9251e+003 从图中可以看出,当划分为三类时,其结果可以看做按照身高与体重的比将样本进行聚类,身高体重比大,较大,小的分别为一类。

C=4 时:得到的分来结果如下:

得到的四个聚类中心为:

z1 =(164.7727,53.3545),z2 =(157.4286,49.2381)

z3 =(176.4375,70.0156),z4 =(170.4400,58.2640)

eJ=3.4318e+003 C=5 时得到的聚类结果如下:

最终的五个聚类中心分别为:

z1 =(170.3462,58.1423),z2 =(158.1579,47.3684), z3 =(163.3913,54.4652)z4 =(176.0741,67.7593)

z5 =(178.4000,82.2000)

eJ= 2.6352e+003 C=6 时得到的聚类结果如下:

最终的 6 个聚类中心分别为:

z1 =(166.9259,54.5889),z2 =(183.3333,66.6667)

z3 =(158.3462,49.8462)z4 =(178.0000,80.6667)

z5 =(171.4737,60.8158)z6 =(175.6842,68.1842)

eJ=

2.5607e+003 1、画出 C 值与eJ之间的关系曲线如下:

由图可以看出,在 C=5 之后,eJ的减小变得缓慢,所以讲此样本集聚为五类最合理 2、把 test2.txt 的数据与上述 1 中的数据合并在一起,重复上述实验,实验结果如下:(1)、取第二十五个和第二百零一个个样本作为初始聚类中心,得出的实验结果图

其中, z1 =(165.0479,53.6491),z2 =(176.4506,69.9378)

eJ= 3.2952e+004 分为一类时的为 7.1410e+004 取第一百个和第三百个样本作为初始聚类中心时得出结果与前面相同。

(2)、C=3

z1 =(174.5561,64.5024)z2 =(163.3438,51.8742)

z3 =(178.8657 ,80.4776)

eJ =2.0594e+004 (3)、C=4 时:

eJ=1.6346e+004 z1 =(175.4783,65.7908),z2 =(159.8548 ,48.3145)

z3 =(179.3684,81.7368),z4 =(167.5567,56.6485)

(4)C=5 时:

eJ=1.3575e+004 z1 =(170.0510,57.5020),z2 =(175.3836 ,65.9452)

z3 =(160.5732,50.0512),z4 =(179.6667,91.3889)

z5 =(178.6429,75.7589) (5)、C=6 时

其中,eJ=

1.3018e+004 z1 =(170.6296,55.1241)z2 =(177.2955,68.0057)

z3 =(160.8427,50.6596)z4 =(172.6381,62.9143)

z5 =(181.5952,89.1905),z6 =(176.8488,76.8837)

画出 C 值与eJ之间的关系曲线如下

与图可知,在 C=5 之后,eJ的变化缓慢,所以认为此时仍是将样本集分为五类最合适 (4)、将两种样本即进行聚类后的样本中心进行比较,如下表:

样本

C 以 FEMALE 和 MALE 中得数据作为样本 以FEMALE和MALE以及test2中的数据作为样本 2 z1 =(163.5738,53.1541)

z2 =(175.8974,68.2692)

z1 =(165.0479,53.6491), z2 =(176.4506,69.9378)

3 z1 =(168.8158,57.0105)

z2 =(159.2333,49.9333)

z3 =(176.4375,70.0156)

z1 =(174.5561,64.5024)

z2 =(163.3438,51.8742)

z3 =(178.8657 ,80.4776)

4 z1 =(164.7727,53.3545)

z2 =(157.4286,49.2381)

z3 =(176.4375,70.0156)

z4 =(170.4400,58.2640)

z1 =(175.4783,65.7908), z2 =(159.8548 ,48.3145)

z3 =(179.3684,81.7368), z4 =(167.5567,56.6485)

5 z1 =(170.3462,58.1423)

z2 =(158.1579,47.3684)

z3 =(163.3913,54.4652)

z4 =(176.0741,67.7593)

z5 =(178.4000,82.2000)

z1 =(170.0510,57.5020), z2 =(175.3836 ,65.9452)

z3 =(160.5732,50.0512), z4 =(179.6667,91.3889)

z5 =(178.6429,75.7589) 6 z1 =(166.9259,54.5889), z2 =(183.3333,66.6667)

z3 =(158.3462,49.8462)

z4 =(178.0000,80.6667)

z5 =(171.4737,60.8158)

z6 =(175.6842,68.1842)

z1 =(170.6296,55.1241)

z2 =(177.2955,68.0057)

z3 =(160.8427,50.6596)

z4 =(172.6381,62.9143)

z5 =(181.5952,89.1905), z6 =(176.8488,76.8837)

从上表可以纵向比较可以看出,C 越大,即聚类数目越多,聚类之间差别越小,他们的聚类中心也越接近。横向比较用 FEMALE,MALE 中数据作为样本和用FEMALE,MALE,test2 中数据作为样本时,由于引入了新的样本,可以发现后者的聚类中心比前者都稍大。但是它们的分布类似,变化不大。

II、将两个样本分别用分级聚类方法进行聚类,得出结果,并与 C 均值聚类法进行比较:

1、对 FEMALE 与 MALE 中数据组成的样本集进行聚类:

由图可见,分即聚类法将样本分为两类,它们的聚类中心分别为 x1 =(163.4667, 53.0400)x2 =(175.7500,68.0625)

将它与 C=2 时的 C 均值聚类结果进行比较,分别比较它们的结果图以及聚类中心,下面是它们的聚类中心比较:

聚类方法

C 均值聚类 分即聚类 聚类中心 z1 =(163.5738,53.1541)

z2 =(175.8974,68.2692)

x1 =(163.4667,53.0400)

x2 =(175.7500,68.0625)

比较发现它们的聚类结果很相似。

2、对由 MALE、MALE、test2 中数据组成的样本集进行分级类:

由图可见,分即聚类法将样本分为两类,它们的聚类中心分别为 x1 =(164.9819,53.6229),x2 =(176.4487,69.8868)

将它与 C=2 时的 C 均值聚类结果进行比较,分别比较它们的结果图以及聚类中心,下面是它们的聚类中心比较:

聚类方法

C 均值聚类 分即聚类 聚类中心 z1 =(165.0479,53.6491),z2 =(176.4506,69.9378)

x1 =(164.9819,53.6229),x2 =(176.4487,69.8868)

比较发现它们的聚类结果也很类似 分析:比较发现利用分即聚类方法与利用 C 均值聚类法时 C 取 2 时的聚类结果极其相似,但是,从误差平方和角度考虑,利用 C 均值聚类时 C=2 并不是最好的聚类结果,C=5 时,才是最好的分类,由此可见,从误差平方和角度考虑,C均值聚类法比分即聚类法更优。

五、

心得体会 通过本次试验,我们队 C 均值聚类法以及分即聚类法都有了较好的理解,并且在用 MATLAB 编程方面都有了很大进步。

上一篇:苏州工业园生态园区下一篇:食源性疾病应急预案

本站热搜