探索性数据分析(Exploratory Data Analysis,EDA)
Posted huzihu
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了探索性数据分析(Exploratory Data Analysis,EDA)相关的知识,希望对你有一定的参考价值。
探索性数据分析(Exploratory Data Analysis,EDA)主要的工作是:对数据进行清洗,对数据进行描述(描述统计量,图表),查看数据的分布,比较数据之间的关系,培养对数据的直觉,对数据进行总结等。
探索性数据分析(EDA)与传统统计分析(Classical Analysis)的区别:
传统的统计分析方法通常是先假设样本服从某种分布,然后把数据套入假设模型再做分析。但由于多数数据并不能满足假设的分布,因此,传统统计分析结果常常不能让人满意。
探索性数据分析方法注重数据的真实分布,强调数据的可视化,使分析者能一目了然看出数据中隐含的规律,从而得到启发,以此帮助分析者找到适合数据的模型。“探索性”是指分析者对待解问题的理解会随着研究的深入不断变化。
应用传统统计分析方法的数据分析步骤:
- 提出问题 Problem => 准备数据 Data => 建模 Model => 分析 Analysis => 得出结论 Conclusions
应用探索性数据分析方法的数据分析步骤:
- 提出问题 Problem => 准备数据 Data => 分析Analysis => 建模 Model => 得出结论 Conclusions
探索性数据分析通常有以下几个步骤:
A. 检查数据:
- 是否有缺失值?
- 是否有异常值?
- 是否有重复值?
- 样本是否均衡?
- 是否需要抽样?
- 变量是否需要转换?
- 是否需要增加新的特征?
注:数据类型分为数值型,类别型,文本型,时间序列等。这里主要指的是数值型和类别型,其中数值型又可以分为连续型和离散型。
B. 使用描述统计量和图表对数据进行描述:
1)连续变量:
常见的描述统计量:平均值,中位数,众数,最小值,最大值,四分位数,标准差等
图表:直方图,箱线图(查看分布情况)
2)无序型离散变量:
常见的描述统计量:各个变量出现的频数和占比
图表:频数分布表,柱形图,条形图,茎叶图,饼图
3)有序型离散变量:
常见的描述统计量:各个变量出现的频数和占比
图表:频数分布表,堆积柱形图,堆积条形图(比较大小)
C. 考察变量之间的关系:
1)连续变量和连续变量(Continuous & Continuous):
对于连续变量与连续变量之间的关系,可以通过散点图进行查看。对于多个连续变量,可使用散点图矩阵,相关系数矩阵,热图。
量化指标:皮尔逊相关系数(线性关系),互信息(非线性关系)
2)离散变量和离散变量(Discrete & Discrete):
对于离散变量与离散变量之间的关系,可以通过频数分布表,堆积柱形图,饼图进行查看。对于多个离散变量,可以使用网状图,通过各个要素之间是否有线条,以及线条的粗线来显示是否有关系以及关系的强弱。
量化指标:卡方检验中的卡方统计量和相应的p值
3)离散变量和连续变量(Discrete & Continuous):
对于离散变量和连续变量之间的关系,可以使用直方图,箱线图,小提琴图进行查看,将离散变量在图形中用不同的颜色显示,来直观地观察变量之间的关系。
量化指标:独立样本t试验中的t统计量和相应的p值(两个变量),单因素方差分析中的η²(三个变量及以上)
D. 其他
1)检查数据的正态性:直方图,箱线图,Q-Q图(Quantile-Quantile Plot )
直方图,箱线图:看图形是否对称
Q-Q图:比较数据的分位数与某个理论分布的分位数是否匹配
总结一下,如果要对数据集进行探索性分析:(以名字为data的数据集为例)
第一步,用pandas读取数据集,并显示前5行,看是否加载正确;
第二步,有必要时对列名重命名;
第三步,查看数据整体情况(行列数data.shape,数据类型data.dtypes,或者用data.info()同时查看这两项,用data.describe()查看连续变量的描述统计量);
第四步,处理缺失值,异常值,重复值问题(各列分别有多少缺失值data.apply(lambda x: sum(x.isnull()),axis=0),各行分别有多少缺失值data.apply(lambda x: sum(x.isnull()),axis=1),总共有多少行有缺失值
len(data.apply(lambda x: sum(x.isnull()),axis=1).nonzero()[0]),删除重复值data.drop_duplicates());
第五步,有必要时转换数据类型;
第六步,看是否需要添加新的特征;
第七步,确定分析思路,用思维导图画出来;
第八步,按照分析思路进行分析并画出图形;
第九步,总结分析结果;
附:
图形的选择:描述趋势使用折线图,描述数量使用柱状图(且必须从 0 开始),描述关系使用散点图,描述比例使用饼状图。
科学家经过 30 年的研究,发现人对位置、长度和角度的感知最敏锐,可以用来表示数量,其次是面积和密度,可表示顺序,对于颜色和形状的感知是最不精确的,只可用来区分类别。
参考:https://www.jianshu.com/p/2e590d306bd2
以上是关于探索性数据分析(Exploratory Data Analysis,EDA)的主要内容,如果未能解决你的问题,请参考以下文章
探索性数据分析(Exploratory Data Analysis,EDA)
R探索新数据分析(Exploratory Data Analysis,EDA)
python进行探索性数据分析EDA(Exploratory Data Analysis)分析
特征工程-EDA(Exploratory Data Analysis)
用pandas_profiling快速探索数据,算不算EDA(Exploratory Data Analysis)首选工具
Exploratory data analysis and feature extraction with Python