探索性数据分析
探索性数据分析(Exploratory Data Analysis,简称EDA)是数据分析中的一种非常重要的技术,它利用各种方法对数据集进行初步分析,以便对数据有一个直观的感受和基本的了解。
探索性数据分析是拿到原始数据后,通过技术手段帮助自己更好的理解数据、提取出「好特征」、建立初步模型的过程。
有2种方法来帮助我们理解陌生领域:
graph TD
A[理解陌生领域] --> B{选择方法}
B -->|咨询业内人士| C[获取经验]
B -->|研究数据| D[收集数据]
D --> E[分析数据]
E --> F[得到见解]
- 咨询业内人士。资深的业内人士会传授一些他们的经验。
- 去研究一下陌生领域的数据。我们可以把手球运动员的身体数据和成绩数据拿过来做分析,看看最优秀的手球运动员都有哪些特点。在没有任何行业经验的情况下,通过对数据的洞察,也能有一些发现。
EDA的目标
上面的第二条路就是:探索性数据分析 | Exploratory Data Analysis | EDA
探索性数据分析就是利用各种技术手段(大部分都是利用数据可视化)探索数据内部结构和规律的一种数据分析方法和理念。
探索性数据分析的目的是尽可能是洞察数据集、发现数据的内部结构、提取重要的特征、检测异常值、检验基本假设、建立初步的模型。
- 最大限度地展示数据的信息,发现数据的特点
- 找到数据中的模式、关系和结构
- 检查数据质量,发现异常值
- 验证假设,确定影响因素
-
为建模和predictions做准备
EDAs的目标是开发对数据集的理解,找到数据中的问题,并识别出主要变量之间的关系。这有助于为将来的正式的模型拟合做好准备。
EDA的步骤
graph LR
A[数据分类] --> B[数据可视化]
B --> C[洞察数据]
探索性数据分析的过程大致分为3步:
数据分类
数据可视化
洞察数据
第一步:数据分类
当我们拿到数据后,第一步就是把这些数据进行分类,然后用不同方法来处理不同类型的数据。
数据由粗到细可以按照下面的方式来分类:
graph TB
A[数据] --> B{分类}
B --> |结构化| C[Excel]
B --> |非结构化| D[文本]
C --> E{类型}
E --> |定量| F[数值]
E --> |定性| G[描述]
F --> H{等级}
G --> M{等级}
M --> |定类| I[血型]
M --> |定序| J[评分]
H --> |定距| K[温度]
H --> |定比| L[金钱]
结构化数据 VS 非结构化数据
结构化数据 :能够用表格来组织的数据都算是结构化的数据。
例如:Excel里的数据、MySQL里的数据…
非结构化数据 :非表格形式组织的都是。
例如:文本、图片、视频…
定量数据 VS 定性数据
定量数据:数值类型,衡量某样东西的数量。
例如:1985
定性数据:类别,描述某样东西的性质。
例如:80后
数据的4个等级
定类等级(norminal level) :是数据的第一个等级,其结构最弱。只需要按照名称来分类。
例如:血型(A,B,AB,O)、姓名、颜色
定序等级(ordinal level) :定序等级在定类等级的基础上加了自然排序,这样我们就可以对不同数据进行比较。
例如:餐厅的评星,公司的考核等级
定距等级(interval level) :定距等级一定是数值类型的,并且这些数值不仅可以用来排序,还可以用来加减。
例如:华氏度、摄氏度(温度有负数,不可以进行乘除运算)
定比等级(ratio level) :在定距等级的基础上,加入了绝对零点,不但可以做加减的运算,还可以做乘除的运算。
例如:金钱、重量
第二步:数据可视化
为了更好的洞察数据,我们可以将数据可视化,从而更好的观察数据的特点。
下面整理了一个表格,可以帮助大家更好的选择可视化的方案。都是一些基础的可视化方案,在实际应用中,会有更复杂的,组合图表可以使用。
数据等级 | 属性 | 描述性统计 | 图表 |
---|---|---|---|
定类 | 离散、无序 | 频率占比、众数 | 条形图、饼图 |
定序 | 有序类别、比较 | 频率、众数、中位数、百分位数 | 条形图、饼图 |
定距 | 数字差别有意义 | 频率、众数、中位数、均值、标准差 | 条形图、饼图、箱线图 |
定比 | 连续 | 均值、标准差 | 条形图、曲线图、饼图、箱线图 |
第三步:洞察数据
数据的可视化可以帮助我们更好的洞察数据,我们可以更高效的发现哪些数据更重要,不同数据之间可能存在的关系,哪些数据会相互影响…
graph TD;
A[数据质量检查] --> B[描述性统计]
B --> C[数据可视化]
C --> D[探索性分析]
D --> E[建立假设]
E --> F[总结结论]
探索性数据分析(Exploratory Data Analysis,简称EDA)是一种数据分析方法,旨在通过对数据的可视化和摘要统计,发现数据中的模式、规律和异常,并对数据进行初步的理解和分析。虽然EDA的具体步骤可以根据不同的数据类型和分析目的进行调整,但是一般来说,可以遵循以下经典的步骤:
- 数据质量检查:包括缺失值、异常值、离群值等的检查和处理。
- 描述性统计:包括计算各种统计量,如均值、中位数、方差、标准差、最大值、最小值等,以及绘制频率分布表、箱线图等。
- 数据可视化:包括绘制直方图、散点图、折线图、饼图等,以及利用颜色、形状、大小等视觉元素展现数据的多维性。
- 探索性分析:包括分析不同变量之间的关系、发现数据中的模式和趋势、探索变量之间的交互作用等。
- 建立假设:根据探索性分析的结果,建立假设并进行统计检验,验证假设是否成立。
- 总结结论:根据探索性分析和统计检验的结果,总结结论并提出进一步的研究方向或行动建议。
举个例子,假设我们有一批销售数据,包括每个区域每个月的销售额。我们可以按照上述步骤进行探索性数据分析:
- 数据质量检查:检查数据是否有缺失值、异常值、离群值等,并进行处理。
- 描述性统计:计算每个区域每个月的销售额的均值、中位数、方差、标准差、最大值、最小值等,并绘制频率分布表、箱线图等。
- 数据可视化:绘制每个区域每个月的销售额的直方图、散点图、折线图等,并利用颜色、形状、大小等视觉元素展现数据的多维性。
- 探索性分析:分析不同区域之间的销售额差异、发现销售额的季节性变化、探索不同区域之间的销售额和天气、人口等因素的关系等。
- 建立假设:根据探索性分析的结果,建立假设,如“北方地区的销售额比南方地区的销售额高”、“销售额和天气、人口等因素有显著的相关性”等,并进行统计检验,验证假设是否成立。
- 总结结论:根据探索性分析和统计检验的结果,总结结论,如“北方地区的销售额确实比南方地区的销售额高”、“销售额和天气、人口等因素有显著的相关性”,并提出进一步的研究方向或行动建议。
总结
探索性数据分析就是利用各种技术手段(大部分都是利用数据可视化)探索数据内部结构和规律的一种数据分析方法和理念。
步骤 | 描述 |
---|---|
处理缺失值 | 检查并处理数据集中的缺失值。您可以选择删除含有缺失值的行或列,或者进行填充(例如用均值、中位数或其他合适的值来填充)。 |
处理异常值 | 检查是否存在异常值,并决定如何处理这些异常值。异常值可能会对模型的性能产生负面影响,因此需要小心处理。 |
探索特征之间的关系 | 通过绘制散点图、热图或其他相关性图表,分析不同特征之间的相关性和相互影响。 |
特征工程 | 根据您对数据的理解,进行特征的提取、转换或创建新特征,以更好地反映问题背后的实际情况。 |
graph TD;
A[处理缺失值] -->|删除含有缺失值| B[数据清洗];
A -->|填充| C[数据清洗];
D[处理异常值] -->|删除| B;
D -->|替换| C;
B --> E[探索特征之间的关系];
C --> E;
E --> F[特征工程];
EDA的技巧
进行EDA时的一些技巧:
- 尽量可视化,多角度看数据
- 同时检查变量的分布
- 找出主要变量及其之间的关系
- 检查并处理异常值
- 转换变换,如标准化
- 尝试不同类型的图表
- 采用小数据样本测试
EDA的重要性
EDA在数据分析过程中非常重要,原因有:
- 帮助检验假设,确定主要影响变量
- 找到可疑数据,提高后续模型的质量
- 直观理解数据,取得分析思路
- 减少建模的时间,找到最佳方法
- 提高分析结果的说服力和可解释性
总之,EDA是连接数据和模型的重要桥梁,让我们在黑盒建模前对数据有直观的理解。
之所以叫探索性数据分析,就是没什么固定的套路。
原创文章,作者:曾确令,如若转载,请注明出处:https://www.zengqueling.com/tsxsjfx/