时间:2023-01-19 | 标签: | 作者:Q8 | 来源:网络
小提示:您能找到这篇{数据分析的准备工作:从问题分析到数据清洗}绝对不是偶然,我们能帮您找到潜在客户,解决您的困扰。如果您对本页介绍的数据分析的准备工作:从问题分析到数据清洗内容感兴趣,有相关需求意向欢迎拨打我们的服务热线,或留言咨询,我们将第一时间联系您! |
先复习一下前几天,我们学习了数据分析的框架: 今天我们开始对框架进行详细的拆解: 今天首先给大家介绍一下数据分析前的准备工作,一共分为四部分:首先是对问题的分析,其次是数据的收集,然后是数据的预处理,最后是数据的预分析。 首先是对问题的分析: 对问题的分析不是今天想要说的重点,但是为了框架的完整性,今天做一些简单的介绍。关于对问题本身的分析,人类的知识体系在这方面沉淀了大量的智慧和经验。 其中尤其是以维特根斯坦的语言哲学分析,还有诺贝尔奖得主西蒙的满意决策论,还有大量关于宗教哲学政治关于标准和价值观方面探讨的积累。任何一个纬度的叙述,都有可能会穷尽一个人一生的经历。所以今天只能点到为止,简单给大家做一个介绍。 关于问题的提出首先是关于问题的提出。 问题的提出可能来自老板,也可能来自同事。关于公司人际关系的分析,不是我们探讨的重点。当然这一点在实际工作中尤其重要,因为每个人的精力都是有限的,然而每个人面对的任务其实是无限的,我们必须有选择的去完成一些对我们同时对公司重要的项目。 我们首先来看一下,当我们面对一个提出的问题的时候,我们是在提问什么? 在大多数时候都觉得当我们需要去解决一个问题的时候,我们需要创造性的提供一种解决方案,实际情况可能和我们的常识不是很一样。 我们可以想象这样一种情景:
现实工作中,我们很多时候当面对一个问题的时候,我们往往需要自己寻找一个解决方案,而不是去创造一个解决方法,所以我们工作的重点应该是怎么去和我们已有的积累形成联系,或者用更加数学化的语言描述说。怎么将现实问题映射到我们的模型空间中去,这应该是我们的工作重点。 关于问题种类的分析有问题种类的分析,我们先来看一下我们为什么要分析一个问题的种类。现实中我们面临的实际问题,它的表达形式可能是千变万化的。然而我们资源是有限的,又不能为每一种问题都去积累经验,都去建立模型。我们只能为一些包含重要特征的问题,去建立模型空间。 所以当我们面临一个问题的时候,首先应该去看一下这个问题,它本质上在说什么,它的标准形式是什么样的。 这个过程中,我们首先要做的第一步需要剥离自然语言。这一点比较容易理解,我们平时在说话的过程中,语言中有很多冗余的成分。我们首先要做的就是把这些冗余的成分删除掉,其次是把我们一些似是而非的名词替换成我们的标准名词。经过对自然语言的整理之后,我们更容易发现一个问题的本质。
用集合的语言和系统泡泡图,去重新描述问题。去把一个在复杂现实情景中的问题,转化为若干研究对象和这些研究对象之间的关系的问题。 当工作进行到这一步的时候,我们就已经已经可以清晰的看出一个问题说出的类别了。 一般在世界上所有的问题都大概可以分为三类:
这三类问题在模型空间里也有标准的对应形式,价值观的探索问题,本质是一类标记或者分类问题。关于是什么的探索问题,往往是一类预测相关性的问题。 关于怎么办一类的工程问题,本质上是一类关于过程描述模型和概率描述模型的问题。 对问题边界的边界分析对问题的边界分析就是我们这个问题解决之后,最好可以达到什么样的效果,如果问题没有能够解决,最坏的结果是什么样的。 为什么我们要对问题进行边界分析?因为我们工作中,面临的大多数问题,都是在给定限制条件下寻求满意解,因为给定了资源限制,也给定了我们能力的边界。 从更深层次上来看,一个工程问题优化的空间永远都是有限的。 为什么呢? 因为从本质上来看首先对问题的测量就有很大误差,然后图灵机限制/哥德尔不完备定理/摩尔定律这些底层规律都对工程问题的优化做了边界上的限定。所以,千万不能以科学的态度和方法对待工程问题.。 那么我们如何对问题进行边界分析呢?这里给出一个参考思路,我们工作中往往面临来自三方面的限制:时间/质量/成本;我么可以选择一个必须达到要求的,然后去调节另外俩者的关系。
数据的收集: 数据收集分为内部数据读取和外部数据收集俩部分,今天主要谈内部数据读取的问题。 内部数据收集1. 数据库种类关系型数据库,是指采用了关系模型来组织数据的数据库。关系模型是在1970年由IBM的研究员E.F.Codd博士首先提出的,在之后的几十年中,关系模型的概念得到了充分的发展并逐渐成为主流数据库结构的主流模型。 简单来说,关系模型指的就是二维表格模型,而一个关系型数据库就是由二维表及其之间的联系所组成的一个数据组织。 关系型数据库的最大特点就是事务的一致性:传统的关系型数据库读写操作都是事务的,具有ACID的特点,这个特性使得关系型数据库可以用于几乎所有对一致性有要求的系统中,如典型的银行系统。 但是,在网页应用中,尤其是SNS应用中,一致性却不是显得那么重要,用户A看到的内容和用户B看到同一用户C内容更新不一致是可以容忍的。或者说,两个人看到同一好友的数据更新的时间差那么几秒是可以容忍的。因此,关系型数据库的最大特点在这里已经无用武之地,起码不是那么重要了。 相反地,关系型数据库为了维护一致性所付出的巨大代价就是其读写性能比较差,而像微博、facebook这类SNS的应用,对并发读写能力要求极高,关系型数据库已经无法应付(在读方面,传统上为了克服关系型数据库缺陷,提高性能,都是增加一级memcache来静态化网页。 而在SNS中,变化太快,memchache已经无能为力了),因此,必须用新的一种数据结构存储来代替关系数据库。 关系数据库的另一个特点就是其具有固定的表结构,因此,其扩展性极差,而在SNS中,系统的升级,功能的增加,往往意味着数据结构巨大变动,这一点关系型数据库也难以应付,需要新的结构化数据存储。 于是,非关系型数据库应运而生,由于不可能用一种数据结构化存储应付所有的新的需求。因此,非关系型数据库严格上不是一种数据库,应该是一种数据结构化存储方法的集合。必须强调的是,数据的持久存储,尤其是海量数据的持久存储,还是需要一种关系数据库这员老将。 2. 数据库读取工具SQL概述 结构化查询语言(Structured Query Langu中小企业 营销实施age)简称SQL(发音:/es kju el/ “S-Q-L”),是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统,同时也是数据库脚本文件的扩展名。 结构化查询语言是高级的非过程化编程语言,允许用户在高层数据结构上工作。它不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以具有完全不同底层结构的不同数据库系统, 可以使用相同的结构化查询语言作为数据输入与管理的接口。结构化查询语言语句可以嵌套,这使它具有极大的灵活性和强大的功能。 SQL语法总结:
hive概述 Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供完整的sql查询功能,可以将sql语句转换为MapReduce任务进行运行。其优点是学习成本低,可以通过类SQL语句快速实现简单的MapReduce统计,不必开发专门的MapReduce应用,十分适合数据仓库的统计分析。 Hvie是建立在Hadoop上的数据仓库基础架构。它提供了一系列的工具,可以用来进行数据提取转化加载(ETL),这是一种可以存储、查询和分析存储在Hadoop中的大规模数据的机制。 Hive定义了简单的类SQL查询语句,称为HQL,它允许熟悉SQL的用户查询数据。同时,这个语言也允许熟悉MapReduce开发者的开发自定义的mapper和reducer来处理内建的mapper和reducer无法完成的复杂的分析工作。 由于Hive采用了SQL的查询语言HQL,因此很容易将Hive理解为数据库。其实从结构上来看,Hive和数据库除了拥有类似的查询语言,再无类似之处。 本文将从多个方面来阐述Hive和数据库的差异,数据库可以用在Online的应用中,但是Hive是为数据仓库而设计的,清楚这一点,有助于从应用角度理解Hive的特性。传统数据库都使用的SQL语句,而Hive使用的是HQL语句,在大部分情况下其增删改查的语句都是类似的。因此广义上而言,学会了SQL语句的语法也就学会了HQL语句。 外部数据收集外部数据的收集往往作为我们数据收集的补充,对于我们对问题获得一个外部性的概括认知有一定帮助。 优秀数据源:
数据的预处理(数据清洗): 数据清洗(Data cleaning)– 对数据进行重新审查和校验的过程,目的在于删除重复信息、纠正存在的错误,并提供数据一致性。 主要有三种类型: (1)残缺数据 这一类数据主要是一些应该有的信息缺失,如供应商的名称、分公司的名称、客户的区域信息缺失、业务系统中主表与明细表不能匹配等。对于这一类数据过滤出来,按缺失的内容分别写入不同Excel文件向客户提交,要求在规定的时间内补全。补全后才写入数据仓库。 (2)错误数据 这一类错误产生的原因是业务系统不够健全,在接收输入后没有进行判断直接写入后台数据库造成的,比如:数值数据输成全角数字字符、字符串数据后面有一个回车操作、日期格式不正确、日期越界等。 这一类数据也要分类,对于类似于全角字符、数据前后有不可见字符的问题,只能通过写SQL语句的方式找出来,然后要求客户在业务系统修正之后抽取。日期格式不正确的或者是日期越界的这一类错误会导致ETL运行失败,这一类错误需要去业务系统数据库用SQL的方式挑出来,交给业务主管部门要求限期修正,修正之后再抽取。 (3)重复数据 对于这一类数据——特别是维表中会出现这种情况——将重复数据记录的所有字段导出来,让客户确认并整理。 数据清洗是一个反复的过程,不可能在几天内完成,只有不断的发现问题,解决问题。 对于是否过滤,是否修正一般要求客户确认,对于过滤掉的数据,写入Excel文件或者将过滤数据写入数据表,在ETL开发的初期可以每天向业务单位发送过滤数据的邮件,促使他们尽快地修正错误,同时也可以做为将来验证数据的依据。 数据清洗需要注意的是不要将有用的数据过滤掉,对于每个过滤规则认真进行验证,并要用户确认。 数据清洗方法一般来说,数据清理是将数据库精简以除去重复记录,并使剩余部分转换成标准可接收格式的过程。数据清理标准模型是将数据输入到数据清理处理器,通过一系列步骤“ 清理”数据,然后以期望的格式输出清理过的数据(如上图所示)。 数据清理从数据的准确性、完整性、一致性、惟一性、适时性、有效性几个方面来处理数据的丢失值、越界值、不一致代码、重复数据等问题。 数据清理一般针对具体应用,因而难以归纳统一的方法和步骤,但是根据数据不同可以给出相应的数据清理方法。
目前开发的数据清理工具大致可分为三类。
数据清洗工具:Python简介Python是一种计算机程序设计语言,是一种动态的、面向对象的脚本语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越来越多被用于独立的、大型项目的开发。 设计者开发时总的指导思想是,对于一个特定的问题,只要有一种最好的方法来解决就好了。这在由Tim Peters写的Python格言(称为The Zen of Python)里面表述为:There should be one– and preferably only one –obvious way to do it. 这正好和Perl语言(另一种功能类似的高级动态语言)的中心思想TMTOWTDI(There’s More Than One Way To Do It)完全相反。
Python学习的一点心理体会Python的学习又是一个大的模块,本质我们其实只是在学习如何使用Python的包而已,新人最容易有畏惧心理:我从来没学过任何语言,会不会很难? 其实,我们只是把以前用在记忆软件操作上的时间用在了记忆代码上,并没有什么非常难的问题要解决,我们前期只需要明白输入/输出是什么就可以,至于中间的原理可以后期去学,甚至可以跳过。 我简单提两点注意事项:
数据的预分析: 数据的描述统计分析: 描述性统计,是指运用制表和分类,图形以及计算概括性数据来描述数据特征的各项活动。描述性统计分析要对调查总体所有变量的有关数据进行统计性描述,主要包括数据的频数分析、集中趋势分析、离散程度分析、分布以及一些基本的统计图形。
在SPSS软件里,可以很容易地绘制各个变量的统计图形,包括条形图、饼图和折线图等。 数据的相关性探索分析数据(data)是事实或观察的结果,是对客观事物的逻辑归纳,是用于表示客观事物的未经加工的的原始素材。数据可以是连续的值,比如声音、图像,称为模拟数据。也可以是离散的,如:符号、文字,称为数字数据。 数据相关性是指数据之间存在某种关系,如正相关,负相关。 数据相关性是指数据之间存在某种关系。大数据时代,数据相关分析因其具有可以快捷、高效地发现事物间内在关联的优势而受到广泛关注,并有效地应用于推荐系统、商业分析、公共管理、医疗诊断等领域。 数据相关性可以时序分析、空间分析等方法进行分析。数据相关性分析也面对着高维数据、多变量数据、大规模数据、增长性数据及其可计算方面等挑战。 对于不同测量尺度的变数,有不同的相关系数可用:
可视化探索分析数据可视化主要旨在借助于图形化手段,清晰有效地传达与沟通信息。但是,这并不就意味着数据可视化就一定因为要实现其功能用途而令人感到枯燥乏味,或者是为了看上去绚丽多彩而显得极端复杂。 为了有效地传达思想概念,美学形式与功能需要齐头并进,通过直观地传达关键的方面与特征,从而实现对于相当稀疏而又复杂的数据集的深入洞察。然而,设计人员往往并不能很好地把握设计与功能之间的平衡,从而创造出华而不实的数据可视化形式,无法达到其主要目的,也就是传达与沟通信息。 推荐学习网站:博客园/知乎/网易云课堂/社区/GitHub 最后讲个小故事: 七十六岁这一年,爱因斯坦因为腹主动脉瘤破裂引起内出血,被送到医院。这不是什么疑难杂症,医生建议马上手术,但是爱因斯坦拒绝了。 爱因斯坦说:“当我想要离去的时候请让我离去,一味地延长生命是毫无意义的。我已经完成了我该做的,现在是该离去的时候了,我要优雅地离去。” 希望我们离开这个世界的时候也可以这样说一句:我要优雅的离去
作者:小祁爱数据,公众号:小祁同学的成长故事 本文由 @小祁爱数据 于。, ,基于CC0协议 |
上一篇:数据分析的三大框架:底层技术、分析建模、工
下一篇:一个真实案例教你运用数据分析
小提示:您应该对本页介绍的“数据分析的准备工作:从问题分析到数据清洗”相关内容感兴趣,若您有相关需求欢迎拨打我们的服务热线或留言咨询,我们尽快与您联系沟通数据分析的准备工作:从问题分析到数据清洗的相关事宜。
关键词:3年, 中级, 数据分析, 数据