首页 数据分析的方法

数据分析的方法

举报
开通vip

数据分析的方法数据分析的方法 第1章 数据分析的方法 假设你从前任手中得到了表1.1所示的数据库,现在要知道从中能得到什么——而且要尽快。老板走进来说,“这是上一任收集到的一些软件项目数据。里面有没有令人感兴趣的 东西?我希望你在下周的管理会上就能给出结果。”考虑到经常要花好几年时间才能收集到 足够的软件项目数据用于分析,再加上软件界居高不下的跳槽率,因此,我们很可能分析 由他人收集到的数据。 数据是什么?简写代表着什么?应该使用哪些统计方法?首先应该做什么?先不要着 急,往下看。经过长达8年的收集、验证、分析及界定软件项...

数据分析的方法
数据 分析 定性数据统计分析pdf销售业绩分析模板建筑结构震害分析销售进度分析表京东商城竞争战略分析 方法 快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载 第1章 数据分析的方法 假设你从前任手中得到了表1.1所示的数据库,现在要知道从中能得到什么——而且要尽快。老板走进来说,“这是上一任收集到的一些软件项目数据。里面有没有令人感兴趣的 东西?我希望你在下周的管理会上就能给出结果。”考虑到经常要花好几年时间才能收集到 足够的软件项目数据用于分析,再加上软件界居高不下的跳槽率,因此,我们很可能分析 由他人收集到的数据。 数据是什么?简写代表着什么?应该使用哪些统计方法?首先应该做什么?先不要着 急,往下看。经过长达8年的收集、验证、分析及界定软件项目之后,我才写出了这本书。 以前,有人让我从欧洲航天局的软件项目数据库中“找出令人感兴趣的东西”,我多么希望 那时候就能看到这样一本书。 在本章中,我将和大家分享自己的数据分析方法。在阐述任一步骤时,使用的都是表 1.1中的软件项目数据。大家不需要理解工具条1.1中那份“步骤清单”后面的统计信息。 目前我只简单地解释:做什么;为什么这么做;如何解释统计输出结果;在各个阶段应注 意什么。 表1.1 软件项目数据 id effort size app telonuse t13 t14 2 7871 647 TransPro No 4 4 3 845 130 TransPro No 4 4 5 21272 1056 CustServ No 3 2 6 4224 383 TransPro No 5 4 8 7320 209 TransPro No 4 2 9 9125 366 TransPro No 3 2 15 2565 249 InfServ No 2 4 16 4047 371 TransPro No 3 3 17 1520 211 TransPro No 3 3 18 25910 1849 TransPro Yes 3 3 19 37286 2482 TransPro Yes 3 1 21 11039 292 TransPro No 4 2 25 10447 567 TransPro Yes 2 2 续表 软件管理的应用统计学 2 id effort size app telonuse t13 t14 26 5100 467 TransPro Yes 2 3 63694 3368 27 TransPro No 4 2 1745 185 30 InfServ No 4 5 1798 387 31 CustServ No 3 3 2957 430 32 MIS No 3 4 963 204 33 TransPro No 3 3 1233 71 34 TransPro No 2 4 3850 548 38 CustServ No 4 3 5787 302 40 MIS No 2 4 5578 227 43 TransPro No 2 3 1060 59 44 TransPro No 3 3 5279 299 45 InfServ Yes 3 2 8117 422 46 CustServ No 3 2 1755 193 50 TransPro No 2 4 5931 1526 51 InfServ Yes 4 3 3600 509 53 TransPro No 4 2 4557 583 54 MIS No 5 3 8752 315 55 CustServ No 3 3 3440 138 56 CustServ No 4 3 13700 423 58 TransPro No 4 2 4620 204 61 InfServ Yes 3 2 工具条1.1 数据分析的步骤清单 步骤清单: 尽可能多的优质数据。 一个统计分析软件包。 很好的判断力。 第1步:验证数据 第2步:选择变量及模型 第3步:执行前期分析(使用图表、 表格 关于规范使用各类表格的通知入职表格免费下载关于主播时间做一个表格详细英语字母大小写表格下载简历表格模板下载 、相关性及逐步回归分析) 第4步:建立多变量模型(使用方差分析) 第5步:检验模型 第6步:提取方程式 第1章 数据分析的方法 3 完全理解了本章中解释的第1~6步后,可以接着阅读第2~5章中的案例研究,取得一些较复杂数据库分析的经验,学习如何把这些方程式转变成管理方法。参见第5章,那里有个例子演示了如何把分析成果呈给顾客。如果有时间,还可以参见第6章,进一步学习这份“步骤清单”中用到的不同统计方法。 数据验证 最重要的步骤就是数据验证了。与分析数据相比,在数据验证上花费的时间要多得多。 通常,数据并不像本书这样用一张表格干脆利落地被展现给我们,相反,数据存在于多个 有待合并的文件中,这些文件中还可能包含一些自己不需要或不理解的信息。数据也会存 在于多份纸介材料中。 数据验证到底指什么?一般意义上,这指的是,查明数据是否确实满足要求,撰写问 卷并让人们填写这些问卷。这并不够,大家还要有点先见之明。这就像在开始开发软件之 前,先要得到需求规范一样。特别地,大家需要判断各个变量的取值是否有意义。 如果收集数据时脑子里既没有明确的目标,也没有统计分析需求,那么 只是理清数据头绪就会浪费数月时间。在开始分析数据之前,最好先对拥有的数据、 对这些数据的信任程度等有个确切的想法。不管数据涉及到的是巧克力的销售,还是 金融指标、软件项目,它都适用一句古代谚语——“进去的是垃圾,出来的还是垃圾”。 如果在数据分析结束之后才发现原始数据出错了,那么结论将毫无意义。即使在最好 的情况下,我们也要进行一些校正,然后重新从头分析。然而,如果问 快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题 起因于变量 的定义,也许就不可能再回去接着收集所需的数据了。如果是自己负责收集数据,则 要确保一开始提的问题就是正确的——大家可能再也没有第2次机会了。 首先提出如下问题: , 数据是什么? , 数据是什么时候被收集的? , 为什么收集数据? , 谁收集了数据? , 那个人如何保证其他人都能理解数据的定义? , 各个变量的定义是什么? , 各个变量的度量单位是什么? , 各个变量值的定义是什么? 软件管理的应用统计学 4 表1.1中的软件开发项目数据描述了某家银行中大型机环境中运行的34个COBOL应用程序。其中,大多数程序除了COBOL之外还使用了其他语言。项目主管在各个项 目完工之际收集了这些数据。另外有个人负责将所有项目数据输入到公司数据库中并 进行验证。这次数据收集的意图是帮助管理这家银行的项目文件。表1.2定义了变量。这里推荐大家在分析每个数据库时都创建一张类似的表格。这对条理化是很重要的, 这样你才能保证在隔一段时间之后仍可以回来继续工作并理解它(或者,其他人看到 留下来的这张表格后也能理解数据)。 表1.2 变量的定义 变量 全名 定义 id identification number(标识号) 每个已完工项目都有一个唯一的标识号(每个项目原来 都有一个名称而不是数字,不过这里出于数据机密性缘故 而用数字代替了名称) effort effort(投入) 软件供应商从制定规范到交付软件期间所做的工作,度量 单位是小时 size application size(应用程序规模) 利用“经验法”测得的函数个数 app application type(应用程序类型) CustServ=Customer service(客户服务) MIS=Management information system(管理信息系统) TransPro=Transaction processing(事务处理) InfServ=Information/on-line service(信息/在线服务 ) telonuse Telon use(Telon使用情况) Telon是一种自动生成代码的工具 No=未使用Telon Yes=已使用Telon t13 人员的应用程序知识 项目团队(供应商和顾客)拥有的应用程序领域知识: 1=非常低。团队拥有的平均应用程序经验少于6个月 2=低。应用程序经验较低,有些成员拥有经验,平均经验 为6~12个月 3= 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 。应用程序经验较好,平均拥有1~3年的经验 4=高。供应商、顾客双方都拥有较好的应用程序经验,平 均拥有3~6年的经验,了解业务动态 5=非常高。供应商、顾客双方都很了解应用程序领域(包 括业务),平均拥有的经验多于6年 t14 人员的工具技能 项目启动时,项目团队(供应商和顾客)对开发工具和文 档工具等的经验水平: 1=非常低。团队对必需的工具全无经验,团队的平均经验 少于6个月 2=低。对工具的经验比平均水平低,有些成员对某些工具 第1章 数据分析的方法 5 续表 变量 全名 定义 拥有经验,平均经验为6~12个月 3=标准。团队中约有半数人拥有较好的工具经验,有些成 员相当了解开发工具及文档工具,平均经验为1~3年 4=高。大多数团队成员都很了解工具,有些成员还可以帮 助其他人,平均经验为3~6年 5=非常高。团队对所有工具都很了解,一些特定的项目需 要可以得到支持,平均经验多于6年 理解了这些变量是什么之后,接着要检验其取值是否有意义。为此有一种简单的方法, 即,对所有数值型变量使用数据汇总函数。示例1.1给出了每个变量的观察次数(Obs)、平均值(Mean)、标准差(Std. Dev.)、最小值(Min)及最大值(Max)。目前,我们只对观察 次数和取值区间感兴趣。如果有些变量的观察次数与众不同,则意味着缺失了某些数据。 这也许是正常的,譬如,可能无法对所有项目都收集到全部变量,或者这意味着存在一个 问题。在采取下一步行动之前,看看能否找到这些缺失的值并将它们添加到数据库中。另 外,还要查看变量的最大值、最小值是否有意义。在这个例子中,这些值确实都有意义。 但是,如果t13或t14出现了最大值7,则我们立刻就知道出了问题,因为根据定义,能够 取得的最大数字是5。 人们通过Internet向大家传送非常大的数据库时,采取这样的检查同样很有用。如果无 法逐个检验所有值,可以与发送数据的那个人校对一下数据摘要。这里还建议大家:对第 一个项目、最后一个项目以及数据库中部的几个随机项目,都应该逐一检验所有变量,从 而确保传输期间数据没有任何改变。 示例1.1 . summarize Variable Obs Mean Std. Dev. Min Max id 34 31.5 17.9059 2 61 effort 34 8734.912 12355.46 845 63694 size 34 578.5882 711.7584 59 3368 t13 34 3.235294 .8548905 2 5 t14 34 2.911765 .9000891 1 5 接着罗列出各个字母型变量或词语型变量。除了给出各类别项目数之类的有用信息之 外,这也是一种检验拼写错误的简单方法。举个例子,如果CustSer的观察次数为1,CustServ的观察次数为5,那么就要检验是否确实存在这两个不同类别了。 在示例1.2和示例1.3中,Freq(频率)是各类别项目的观察次数,Percent(百分比)是各个类别项目的观察次数百分比,Cum.(累计)是观察次数的累计百分比。可以看出, 软件管理的应用统计学 6 应用程序(约59%)主要是一些事务处理型(TransPro)应用,其中有7个应用程序除了 COBOL之外还使用了Telon。在商业演讲中,这类信息最好被显示成饼状图。 示例1.2 . tabulate app Application Type Freq. Percent Cum. CustServ 6 17.65 17.65 MIS 3 8.82 26.47 TransPro 20 58.82 85.29 InfServ 5 14.71 100.00 Total 34 100.00 示例1.3 . tabulate telonuse Telon Use Freq. Percent Cum. No 27 79.41 79.41 Yes 7 20.59 100.00 Total 34 100.00 : , 空白意味着什么?(缺失?未知?无?) , 0意味着什么?(0?缺失?一个接近于0的数被近似成0?) , 如果存在“other(其他)”类别,该类别会包含哪些内容吗?如果“其他”类别极 其分散,则不能将它作为一种同质类别进行分析。 , 能否交叉检验任意变量以查看它们是否有意义?譬如,如果收集了项目的start date (起始日期)、end date(终止日期)和duration(持续周期),那么应该能检验end date - start date是否等于duration。 变量与模型的选择 理解了自己确实拥有哪些数据之后,接着需要判断从这些数据中能学到什么。可以研 究哪些可能的关系?应该研究哪些可能的关系?首先研究哪一种关系?对最后这两个问题 的回答取决于分析的整体目标。 数据可能确实是出于某个明确陈述的目标而被收集的。即便如此,在分 析数据期间,也许还是会出现其他一些有待研究的有趣关系——这些关系也许会蛊惑大家先去调查它们。不过,重要的是提前决定自己应该先做什么,然后再小心翼翼、 有条不紊地完成这项任务。否则,就会发现自己闯进了很多不同的岔道,产生了很多 第1章 数据分析的方法 7 计算机输出,开始混淆哪些是已尝试过的、哪些是未尝试过的,简单地说,大家被数 据淹没了。也正是在这个阶段,会决定增减分析中的变量个数。分析中应该去除:意 义存在疑问的变量;与自己希望研究的内容不太有关系的变量;观察次数不足的类别 型变量值(请参见第2章~第5章中的案例研究,那里有一些削减和修改变量的例子)。 在下面这个例子中,我们使用了表1.1中给出的全部变量。 类别型取值的最小观察次数是app变量取MIS类别时观察到的3次(如示例1.2所示)。考虑到数据集一共包含34次观察,用3个项目来表示MIS已经很合适了。不管数据库中含有多少次观察,如果代表某项事物的项目少于3个,据此对该事物做出的 判断就是不明智的。大家可以自问:如果MIS类别只含有一个项目,并且自己在统计 分析中发现,MIS类别的项目拥有明显的、高于统计的生产率,那么,自己是否就能 断定这家银行中的所有MIS项目都拥有很高的生产力呢?我不会这么武断的。如果有 两个项目是这样呢,自己是否相信这个论断?我仍然不会。如果有3个项目这样呢,这时是否应该相信这个论断?对,这时我会相信该论断。不过,如果数据库中有3 000个项目,我还是希望MIS类别能被3个以上的项目所表示。大家可以自由运用自己的判断。 即使是这个小型软件项目数据样本,也能调查出很多关系。我们可以调查:收集 到的某些因子是否会影响软件开发的投入(effort);哪些因子会影响软件开发的生产率 (即size/effort比例);应用程序规模(size)与Telon使用情况(telonuse)之间的关系;应用程序规模(size)与应用程序类型(app)之间的关系;或应用程序类型(app)与人员的应用程序知识(t13)之间的关系——这只不过是多罗列了几种可能性而已。在 本示例中,重点是判断哪些因子会影响effort。也就是说,应用程序规模(size)、应用程序类型(app)、Telon使用情况(telonuse)、人员的应用程序知识(t13)、人员的工具技能(t14)等因子或者其组合是否影响了投入(effort)?effort是否是这些变量的一个函数?从数学上说,即是否存在下面这个方程式: effort=f (size, app, telonuse, t13, t14) 在这个方程式中,effort处于等号左侧(left-hand side, LHS),其他变量处于等号右 侧(right-hand side, RHS)。我们称,RHS变量为独立变量,LHS变量为非独立变量。 , 要想开发出有预见性的模型,必须确保独立变量都是自己所了解的因子,或者, 这些独立变量能提前做出相当精确的预测。 , 在所有多变量分析中,都应该丢弃那些观察次数不足3次的类别型取值。 软件管理的应用统计学 8 前期分析 在进行“盲目的”统计测试之前,首先要检验作为测试基础的假设确实成立。除此之 外,还希望对数据有一定的第一印象;这里的目标并不是完全理解所有这些变量之间的全 部可能关系。举例来说,在第2步“选择变量及模型”中,只决定了首要目标是判断收集 到的哪些变量会影响effort。为达成这个目标,在建立多变量模型(第4步)之前,首先会进行本节中阐述的步骤。 图表 一开始,先逐个观察各个数值型变量的图表,看看有多少个较小值、较大值与中 间值(即各个变量的分布)。这些图表也被叫做柱状图。 我们想看看这些变量是否满足正态分布。很多统计技术假定底层数据必 须满足正态分布,因此,应该先检验是否如此。正态分布也被叫做钟形曲线。大多数 人在大型竞争性学府中都用过这种钟形曲线进行评级。在一条钟形曲线上,大多数值 落在中部,只有极少数非常高或非常低的值。举个例子,对某次考试评级后,发现其 结果符合正态分布(如图1.1所示):大多数学生都是C;取得B或D的学生较少;而 取得A或F的学生甚至更少。平均考试成绩会处在中点C的位置,而不管分数是50、 90或100以上。参见第6章,那里可以进一步学习正态分布以及正态分布为什么如此 重要。 学生人数 考试成绩 图1.1 一个正态分布的例子 若要人工创建变量t13的柱状图,需要先数出1有多少个、2有多少个,等等。 第1章 数据分析的方法 9 接着,需要做一幅柱形图:x轴是t13的各种取值;y轴是观察次数或观察百分比。不 过,大家没有必要浪费时间去亲手绘制它。 可以让一种统计分析工具替我们完成上述工作。大家需要学习的是,如何用统计 分析工具来分析数据。我在职业生涯中用过SAS、Excel及Stata这几种分析工具。我 对这几种工具的看法如下:为大型机构做分析时,SAS的表现非常好,不过要是自己 掏钱使用该工具的话,就太昂贵了;对我的分析意图而言,Excel不够强大、直观;Stata 相对便宜(不需要每年交许可费),它能够满足我的所有要求,而且使用起来十分容易 (参见www.stat.com)。不过,不管使用哪一种统计软件,输出看起来都应该是相同的。 如何解释这些输出才是本书的焦点。 effort、size这两个变量的分布表明,它们并不满足正态分布(如图1.2和图1.3所示)。 数据库中有几个项目的effort非常高或size非常大,它还包含了很多effort较低、size 较小的项目。这是软件开发项目数据库的典型现象。不仅这个样本中的effort和size不 满足正态分布,而且在整个软件开发项目大环境中,也不能寄希望于这两个变量满足 正态分布。 小数 小数 图1.2 effort的分布 图1.3 size的分布 为了接近正态分布,必须变换这些变量。一种常用的变换手段是取这些变量的自然对 数(ln)。取自然对数会使较大的值变小,让数据彼此更加接近。例如,有两个项目的size分别是100个函数和3 000个函数。3 000要远远大于100。如果对这两个数字取ln,会发现ln(100)=4.6,而ln(3 000)=8.0。 变换后的size要彼此接近得多。正如所见,对effort和size取自然对数可以更近似地模 拟正态分布(如图1.4和图1.5所示)。 t13、t14这两个变量的图表看起来更像是正态分布(如图1.6和图1.7所示),大多数项目都取得平均值3。另外,即使在这个样本子集所隶属的那个大型多公司数据库中,这两个 因子的分布仍接近于正态分布。事实上,这两个因子的定义都是被特意选择的,目的就是 软件管理的应用统计学 10 让大多数项目都平庸起来。这两个变量不需要任何变换。 小数 小数 图1.4 ln (effort) 的分布 图1.5 ln (size)的分布 小数 小数 人员的应用程序知识 人员的工具技能 图1.6 t13的分布 图1.7 t14的分布 , 仅仅因为变量的值是数字,并不能暗示它们具有数值意义。例如,应用程序类型 (app)也可以被编码成1、2、3、4,而不是CustServ、MIS、TransPro与InfServ。app是一种标准尺度的类别型变量,也就是说,app的值的排列次序毫无意义。我 可以随意排列这些app值,譬如,让MIS排在CustServ之前。这里建议,在开始 分析数据之前,首先赋予这类变量一些有意义的名称而不是数字。这可以帮助大 家记住这些变量是什么(在第6章中会学到更多的与变量类型相关的知识)。 , 另一方面,也有一些类别型变量的名称确实具有数值意义。例如,人员的应用程 序知识(t13)也可以被编码成very low(非常低)、low(较低)、average(平均)、high(较高)与very high(非常高),而不是1、2、3、4、5(这通常被称作Likert尺度)。人员的应用程序知识(t13)是一种值排列次序有一定含意的类别型变量。 这里建议,在开始分析数据之前,首先把这类变量变换成一些有序的数字,接着
本文档为【数据分析的方法】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_531654
暂无简介~
格式:doc
大小:70KB
软件:Word
页数:18
分类:生活休闲
上传时间:2017-10-08
浏览量:49