ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

数据分析总览--一文读懂数据分析

2022-02-25 12:33:37  阅读:249  来源: 互联网

标签:数据分析 分析 变量 -- 处理 总览 数据 属性


笔者从今天开始集中梳理数据分析的相关知识点,而今天主要是从总体的框架上面带领大家认识数据分析,并进一步帮助大家在心目中明确数据分析的范围和主要框架。

1.数据分析相关概念

分析指的是将一个整体分解成单独的部分进行单独的检查。数据分析是获取原始数据并将其转换成对用户决策有用的信息的过程。收集和分析数据以回答问题、测试假设或反驳理论。

统计学家John Tukey在1961年将数据分析定义为:“分析数据的程序,解释这些程序结果的技术,计划收集数据以使其分析更容易、更精确或更准确的方法,以及所有的机械和结果(数学)统计数据适用于分析数据。”可以发现,John的从统计学家的视角出发进行数据分析定义的,也就是说本质上数据分析是一系列的方法和程序。

2.数据分析的过程

与任何科学学科一样,数据分析遵循严格的分步过程。每个阶段都需要不同的技能和诀窍。数据分析可以分为以下几个过程:

2.1 定义数据分析目的

数据是数据分析的基本元素,因此数据作为分析的输入是必要的,而数据分析在数据输入前就需要明确数据分析的要求,而这些要求是根植于分析的目的的,也就是说数据分析的要求是根据指导分析的人或客户(他们将使用分析的最终产品)的要求指定的。将在数据分析要求的基础上收集数据的实体的一般类型被称为实验单元(例如,人或人群)。可以指定和获得关于人口的特定变量(例如年龄和收入)。数据可以是数字的或分类的(即数字的文本标签)。也可以是结构性性的和非结构性的,之前笔者讲过关于两者的区别,大家可以回顾一下。

从广义上面将,数据的要求既然根植于数据分析的目的,那么数据要求是确定数据分析的事前步骤,在正式进入数据分析前,我们需要做的是定义数据分析的目的,也就是明确我们分析的问题所在,为何要分析数据?我们要达成什么结果?我们是否值得要数据分析的项目成本?

比方说,定义你的目标意味着提出一个假设并弄清楚如何测试它。首先要问:我想解决什么业务问题?虽然这听起来很简单。例如,您组织的高级管理人员可能会提出一个问题,“我们为什么会失去客户?” 但这可能没有触及问题的核心。数据分析师的工作是足够深入地了解业务及其目标,以便他们能够以正确的方式构建问题。

因此,定义数据分析的目的不仅包含着数据分析的具体规划、要求、规定数据分析将要实现的结果、数据分析的方法论等,而且也要包含数据分析的主体、分析的模式、分析的分工和时间安排等。

2.2 数据收集

明确数据分析的要求后,那么就进入了数据的正式收集阶段,其实很多时候下,数据收集阶段是和数据要求确定过程并行的,笔者知晓很多学者在研究过程中,先是获得了一部分数据,而且基于此数据确定了研究的思路和方法,并进一步在扩充数据,因此可以说数据收集的时间是较为长久的,尤其对于很多的涉及到宏观和消费者行为的数据,每天都在变化,因此当你目前所收集到的数据无法满足研究或者说分析的要求时,就需要边收集边研究。

诚然,数据是从各种来源收集的。分析人员可以将这些要求传达给数据的保管人,例如组织内的信息技术人员。数据也可以从环境中的传感器收集,例如交通摄像机、卫星、记录设备等。它也可以通过面谈获得,从在线资源下载或阅读文档。当然这些不同的数据来源下,你所需要采用的数据收集方法也不同,对应的后期的数据分析程序或者解决方法也相应的呈现出差异性。

此外,我们还需要知道所有数据可以分为三类:第一方、第二方和第三方数据。我们以公司的数据分析举例。

①第一方数据是公司直接从客户那里收集的数据。它可能以交易跟踪数据或来自我们公司客户关系管理 (CRM) 系统的信息的形式出现。无论其来源如何,第一方数据通常都以清晰明确的方式进行结构化和组织。第一方数据的其他来源可能包括客户满意度调查、焦点小组、访谈或直接观察。

②第二方数据是其他组织的第一方数据。这可能是直接从公司或通过一个私人市场获得的。第二方数据的主要好处是,它们通常是结构化的,虽然它们的相关性会比第一方数据差,但它们也往往是相当可靠的。第二方数据的例子包括网站、应用程序或社交媒体活动,如在线购买历史,或运输数据。

③第三方数据是第三方组织从众多来源收集和汇总的数据。通常(尽管并非总是)第三方数据包含大量非结构化数据点(大数据)。许多组织收集大数据以创建行业报告或进行市场研究。研究和咨询公司 Gartner 是收集大数据并将其出售给其他公司的组织的一个很好的现实例子,国内的有易观、艾瑞、TalkingData等。此外,开放数据存储库和政府门户网站也是第三方数据的来源。

2.3 数据处理

数据的处理对于数据分析至关重要,一方面她影响数据分析的精度和准确性,另一方面较好的数据处理方法可以加快数据分析的过程,提高数据分析的效率。因此,必须对最初获得的数据进行处理或组织,以便进行分析。例如,这些可能涉及将数据以表格格式(即结构化数据)放入行和列中以供进一步分析,例如在电子表格或统计软件中。

正常情况下,数据处理相关的工作时间占据了整个项目的70%以上。数据的质量,直接决定了模型的预测和泛化能力的好坏。它涉及很多因素,包括:准确性、完整性、一致性、时效性、可信性和解释性。而在真实数据中,我们收集的数据可能包含了大量的缺失值,可能包含大量的噪音,也可能因为人工录入错误导致有异常点存在,非常不利于算法模型的训练。

数据处理(data processing),即是对数据的采集、存储、检索、加工、变换和传输。根据处理设备的结构方式、工作方式,以及数据的时间空间分布方式的不同,数据处理有不同的方式。不同的处理方式要求不同的硬件和软件支持。每种处理方式都有自己的特点,应当根据应用问题的实际环境选择合适的处理方式。

数据处理主要有四种分类方式①根据处理设备的结构方式区分,有联机处理方式和脱机处理方式。②根据数据处理时间的分配方式区分,有批处理方式、分时处理方式和实时处理方式。③根据数据处理空间的分布方式区分,有集中式处理方式和分布处理方式。④根据计算机中央处理器的工作方式区分,有单道作业处理方式、多道作业处理方式方式和交互式作业处理方式。

具体而言,关键的数据处理任务包括以下四个部分:

​​​​2.3.1 数据清理(data cleaning

数据清理是通过填补缺失值、光滑噪声数据,平滑或删除离群点,并解决数据的不一致性来“清理“数据。

(1)缺失值的处理

由于我们在获取信息和数据的过程中,会因为各类的原因导致数据丢失和空缺。针对这些缺失值的处理方法,主要是基于变量的分布特性和变量的重要性(信息量和预测能力)采用不同的处理方法。主要分为以下几种:

  • 删除变量:若变量的缺失率较高(大于80%),覆盖率较低,且重要性较低,可以直接将变量删除。
  • 定值填充:如工程中常见用-9999进行替代。
  • 统计量填充:若缺失率较低(小于95%)且重要性较低,则根据数据分布的情况进行填充。对于数据符合均匀分布,用该变量的均值填补缺失,对于数据存在倾斜分布的情况,采用中位数进行填补。
  • 插值法填充:包括随机插值,多重差补法,热平台插补,拉格朗日插值,牛顿插值等
  • 模型填充:使用回归、贝叶斯、随机森林、决策树等模型对缺失数据进行预测。
  • 哑变量填充:若变量是离散型,且不同值较少,可转换成哑变量,例如性别SEX变量,存在male,fameal,NA三个不同的值,可将该列转换成 IS_SEX_MALE, IS_SEX_FEMALE, IS_SEX_NA。若某个变量存在十几个不同的值,可根据每个值的频数,将频数较小的值归为一类'other',降低维度。此做法可最大化保留变量的信息。

(2)离群点处理

异常值是数据分布的常态,处于特定分布区域或范围之外的数据通常被定义为异常或噪声,比如一般身高数据不可能超过2.6等,如果出现了此类异常数据,就需要进行离群点数据处理。

具体而言,异常数据分为两种:“伪异常”,由于特定的业务运营动作产生,是正常反应业务的状态,而不是数据本身的异常;“真异常”,不是由于特定的业务运营动作产生,而是数据本身分布异常,即离群点。主要有以下检测离群点的方法:

  • 简单统计分析:根据箱线图、各分位点判断是否存在异常,例如pandas的describe函数可以快速发现异常值。
  • 3\sigma原则:若数据存在正态分布,偏离均值的3\sigma外. 通常定义:P\left ( |x-\mu |>3\sigma\right ) <=0.003范围内的点为离群点。
  • 基于绝对离差中位数(MAD):这是一种稳健对抗离群数据的距离值方法,采用计算各观测值与平均值的距离总和的方法。放大了离群值的影响。
  • 基于距离的方法:通过定义对象之间的临近性度量,根据距离判断异常对象是否远离其他对象,缺点是计算复杂度较高,不适用于大数据集和存在不同密度区域的数据集
  • 基于密度的方法:离群点的局部密度显著低于大部分近邻点,适用于非均匀的数据集
  • 基于聚类的方法:利用聚类算法,丢弃远离其他簇的小簇。

 (3)噪声处理

噪声是变量的随机误差和方差,是观测点和真实点之间的误差,即obs=x+\xi  。通常的处理办法:对数据进行分箱操作,等频或等宽分箱,然后用每个箱的平均数,中位数或者边界值(不同数据分布,处理方法不同)代替箱中所有的数,起到平滑数据的作用。另外一种做法是,建立该变量和预测变量的回归模型,根据回归系数和预测变量,反解出自变量的近似值。

​​​​2.3.2 数据集成(data cleaning

数据集成将多个数据源中的数据结合成、存放在一个一致的数据存储,如数据仓库中。这些源可能包括多个数据库、数据方或一般文件。

①实体识别问题:例如,数据分析者或计算机如何才能确信一个数据库中的 customer_id 和另一个数据库中的 cust_number 指的是同一实体?通常,数据库和数据仓库有元数据——关于数据的数据。这种元数据可以帮助避免模式集成中的错误。

②冗余问题。一个属性是冗余的,如果它能由另一个表“导出”;如年薪。属性或维命名的不一致也可能导致数据集中的冗余。 用相关性检测冗余:数值型变量可计算相关系数矩阵,标称型变量可计算卡方检验。

③数据值的冲突和处理:不同数据源,在统一合并时,保持规范化,去重。

​​​​2.3.3 数据规约(data cleaning

数据归约技术可以用来得到数据集的归约表示,它小得多,但仍接近地保持原数据的完整性。 这样,在归约后的数据集上挖掘将更有效,并产生相同(或几乎相同)的分析结果。一般有如下策略:

(1)维度规约

用于数据分析的数据可能包含数以百计的属性,其中大部分属性与数据分析的任务没有相关关系,也就是说数据属性是冗余的。维度归约通过删除不相关的属性,来减少数据量,并保证信息的损失最小。

①属性子集选择:目标是找出最小属性集,使得数据类的概率分布尽可能地接近使用所有属性的原分布。在压缩的属性集上挖掘还有其它的优点。它减少了出现在发现模式上的属性的数目,使得模式更易于理解。

  • 逐步向前选择:该过程由空属性集开始,选择原属性集中最好的属性,并将它添加到该集合
    中。在其后的每一次迭代,将原属性集剩下的属性中的最好的属性添加到该集合中。
  • 逐步向后删除:该过程由整个属性集开始。在每一步,删除掉尚在属性集中的最坏属性。
  • 向前选择和向后删除的结合:向前选择和向后删除方法可以结合在一起,每一步选择一个最 好的属性,并在剩余属性中删除一个最坏的属性。

python scikit-learn 中的递归特征消除算法Recursive feature elimination (RFE),就是利用这样的思想进行特征子集筛选的,一般考虑建立SVM或回归模型。

②单变量重要性:分析单变量和目标变量的相关性,删除预测能力较低的变量。这种方法不同于属性子集选择,通常从统计学和信息的角度去分析。

  • pearson相关系数和卡方检验,分析目标变量和单变量的相关性。
  • 回归系数:训练线性回归或逻辑回归,提取每个变量的表决系数,进行重要性排序。
  • 树模型的Gini指数:训练决策树模型,提取每个变量的重要度,即Gini指数进行排序。
  • Lasso正则化:训练回归模型时,加入L1正则化参数,将特征向量稀疏化。
  • IV指标:风控模型中,通常求解每个变量的IV值,来定义变量的重要度,一般将阀值设定在0.02以上。

(2)维度变换

维度变换是将现有数据降低到更小的维度,尽量保证数据信息的完整性。楼主将介绍常用的几种有损失的维度变换方法,将大大地提高实践中建模的效率

  • 主成分分析(PCA)和因子分析(FA):PCA通过空间映射的方式,将当前维度映射到更低的维度,使得每个变量在新空间的方差最大。FA则是找到当前特征向量的公因子(维度更小),用公因子的线性组合来描述当前的特征向量。
  • 奇异值分解(SVD):SVD的降维可解释性较低,且计算量比PCA大,一般用在稀疏矩阵上降维,例如图片压缩,推荐系统。
  • 聚类:将某一类具有相似性的特征聚到单个变量,从而大大降低维度。
  • 线性组合:将多个变量做线性回归,根据每个变量的表决系数,赋予变量权重,可将该类变量根据权重组合成一个变量。
  • 流行学习:流行学习中一些复杂的非线性方法。

 ​​​​2.3.4 数据变换(data cleaning

数据变换包括对数据进行规范化,离散化,稀疏化处理,达到适用于数据分析的目的。

(1)规范化处理

数据中不同特征的量纲可能不一致,这使得数值间的差别可能很大,不进行规范化处理可能会影响到数据分析的结果,因此,需要对数据按照一定比例进行缩放,使之落在一个特定的区域,便于进行综合分析。特别是基于距离的挖掘方法,聚类,KNN,SVM一定要做规范化处理。

在规范化处理方面,主要可以采用下面的几种方法:

(2)离散化处理

数据离散化是指将连续的数据进行分段,使其变为一段段离散化的区间。分段的原则有基于等距离、等频率或优化的方法。

①等频法:使得每个箱中的样本数量相等,例如总样本n=100,分成k=5个箱,则分箱原则是保证落入每个箱的样本量=20。

②等宽法:使得属性的箱宽度相等,例如年龄变量(0-100之间),可分成 [0,20],[20,40],[40,60],[60,80],[80,100]五个等宽的箱。

③聚类法:根据聚类出来的簇,每个簇中的数据为一个箱,簇的数量模型给定。

(3)稀疏化处理

针对离散型且标称变量,无法进行有序的LabelEncoder时,通常考虑将变量做0,1哑变量的稀疏化处理,例如动物类型变量中含有猫,狗,猪,羊四个不同值,将该变量转换成is_猪,is_猫,is_狗,is_羊四个哑变量。若是变量的不同值较多,则根据频数,将出现次数较少的值统一归为一类'rare'。稀疏化处理既有利于模型快速收敛,又能提升模型的抗噪能力。(此部分参考自:整理一份详细的数据预处理方法 - 知乎

2.4 数据分析

2.4.1 探索性数据分析

一旦数据被清除,就可以进行分析。分析人员可以应用各种称为探索性数据分析的技术来开始理解数据中包含的消息。探索过程可能会导致额外的数据清理或额外的数据请求,因此这些活动本质上可能是迭代的。可以生成描述性统计数据,例如平均值或中位数,以帮助理解数据。数据可视化也可以用于以图形格式检查数据,以获得关于数据中消息的其他见解。

2.4.2 数据建模与算法

数学公式或称为算法的模型可以应用于数据,以识别变量之间的关系,例如相关性或因果关系。一般而言可以开发模型,根据数据中的其他变量来评估数据中的特定变量,一些剩余误差取决于模型精度(即数据=模型+误差)。

进一步的,推论统计包括测量特定变量之间关系的技术。例如,回归分析可以用来模拟广告的变化(自变量 X )是否解释了销售额的变化(因变量 Y )。在数学术语中,Y (销售)是X (广告)的函数 。它可以描述为Y = aX + b +错误,其中模型的设计使得当模型预测Y的给定范围的X 值时,a 和b使误差最小化。分析人员可能试图建立描述数据的模型,以简化分析和传达结果。

2.4.3 数据分析可视化

一旦分析了数据,就可以以多种格式向分析用户报告,以支持他们的需求。用户可能会有反馈,这导致额外的分析。因此,大部分分析周期是迭代的。

在决定如何传达结果时,分析人员可能会考虑数据可视化技术,以帮助清晰有效地向受众传达信息。数据可视化使用信息显示(如表格和图表)来帮助传达数据中包含的关键消息。表格有助于查找特定数字的用户,而图表(例如条形图或折线图)有助于解释数据中包含的定量信息。

标签:数据分析,分析,变量,--,处理,总览,数据,属性
来源: https://blog.csdn.net/qq_25018077/article/details/123128760

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有