探索性数据分析详解

标签: 数据 术→技巧 数据分析 | 发表时间:2023-04-18 22:54 | 作者:钱魏Way
出处:https://www.biaodianfu.com

什么是探索性数据分析?

探索性数据分析(Exploratory Data Analysis,简称EDA) 是指对已有的数据(特别是调查或观察得来的原始数据)在尽量少的先验假定下进行探索,通过作图、制表、方程拟合、计算特征量等手段探索数据的结构和规律的一种数据分析方法。

探索性数据分析(EDA)与传统统计分析(Classical Analysis)的区别:

  • 传统的统计分析方法通常是先假设样本服从某种分布,然后把数据套入假设模型再做分析。但由于多数数据并不能满足假设的分布,因此,传统统计分析结果常常不能让人满意。
  • 探索性数据分析方法注重数据的真实分布,强调数据的可视化,使分析者能一目了然看出数据中隐含的规律,从而得到启发,以此帮助分析者找到适合数据的模型。“探索性”是指分析者对待解问题的理解会随着研究的深入不断变化。

探索性数据分析除了日常的数据分析外,也是算法模型搭建过程中的必要环节。特别适合数据比较杂乱,不知所措的场景。

探索性分析用一句话概况就是:折磨数据,它会坦白任何事情。

探索性数据分析的一般流程

探索性分析的一般流程:

  • 数据总览
  • 探索性分析每个变量
  • 探索性分析变量与target标签的关系
  • 探索性分析变量之间的关系

数据总览

在数据处理前首先要充分了解数据,了解数据包含以下两部分:

  • 了解数据的外部信息。即数据的现实意义。可通过业务知识与流量计获取采集方式进行了解。
  • 了解数据的内部信息。即数据的自身情况。可通过统计学的相关知识,如计算均值,标准差,峰度,偏度等。另外,也可以通过绘图,来深入了解数据,为创建有效特征提供思路。

对于数据总览一般可借助Pandas的一些函数对数据有些大概了解:

  • describe() # 查看所有数据平均值,四分位数等信息
  • info() # 查看所有数据的数据类型和非空值个数。
  • shape # 查看数据行列数
  • isnull().sum() # 查看数据各个特征为空值的个数

探索性分析每个变量

需要了解的内容包括:

  • 变量是什么类型
  • 变量是否有缺失值
  • 变量是否有异常值
  • 变量是否有重复值
  • 变量是否均匀
  • 变量是否需要转换

在分析每个变量可通过描述统计量和图表进行描述。数据类型分为数值型,类别型,文本型,时间序列等。这里主要指的是数值型(定量数据)和类别型(定性数据),其中数值型又可以分为连续型和离散型。

1)连续数据分析

数据分析分为两个方面,一是统计汇总,二是可视化。离散也是这样。

统计计算:

  • 在统计学中,想要描述一个数据,要从三个方面进行说明:
    • 集中趋势:均值,中位数,众数。对于正太分布的数据,均值的效果比较好,而对于有偏数据,因为存在极值,所有会对均值产生影响,此时,用中位数去进行集中趋势的描述。
    • 离散程度:方差和标准差。这两个用哪个都可,不过标准差是具有实际意义的。另外,还可以用极差,平均差,四分位差,离散系数(针对多组数据离散程度的对比)。
    • 分布形状:偏度skew(),衡量数据偏斜情况。峰度kurt(),衡量数据分布的平坦度。检验数据正态性。一般可绘制P-P图,Q-Q图来进行判断。或者通过计算偏度,峰度进行判断,也有其他别的方法,但了解的较少。
  • 数据转化。这步一般在特征工程中,这里提一下,通过box-cox可以将非正态数据转为正态数据。
  • 游程检验。非参数统计的一种方法,判断数据是否是随机出现的。连续,离散都可以用。
  • 通过describe(),可观察数据的大致情况。

可视化:

  • 对连续数据可视化主要有以下几个图形:
    • 直方图。可以大致看出数据的分布情况,但会受限于bins的取值并且图形不光滑。可在直方图上再画出核密度图(KDE),进行更详细的查看。
    • 核密度估计
    • 核密度图
    • 箱线图。反映原始数据的分布特征,还能进行多组数据的比较。可看出数据的离群点。
    • 散点图。利用索引和连续数据作散点图,直观看数据是否随机。
  • 类型转换
    • 将连续型数据转为离散型数据。比如,年龄,可以将其分组为少年,青年,壮年,老年等。这种处理方式的关键是如何分组,在数据噪声处理中有过描述,介绍了人为区分,等深等宽分组,无监督算法分组,聚类等方法。
    • 关于为什么要把连续型数据转为离散型数据,大概的好处有:去噪声,易理解,算法需要。

针对连续变量常见的描述统计量:平均值,中位数,众数,最小值,最大值,四分位数,标准差等

图表:频数分布表(需进行分箱操作),直方图,箱形图(查看分布情况)

2)离散数据分析

统计计算

  • 主要查看数据的结构。用众数看哪类数据出现的最多。利用value_counts()函数,查看各个类别出现的次数。

可视化

  • 饼图。对于查看数据结构比较直观,所占百分比。
  • 柱形图。对各类别出现次数进行可视化。可排序,这样观察数据更直观。

针对 无序型离散变量常见的描述统计量:各个变量出现的频数和占比

图表:频数分布表(绝对频数,相对频数,百分数频数),柱形图,条形图,茎叶图,饼图

针对 有序型离散变量常见的描述统计量:各个变量出现的频数和占比

图表:频数分布表,堆积柱形图,堆积条形图(比较大小)

变量间关系分析

当对单个数据分析完后,还要看各个数据与目标特征的关系,和除目标特征外,其他数据间的关系。

  • 探索性分析变量与target标签的关系
  • 探索性分析变量之间的关系

1)连续型变量与连续型变量关系

统计计算:

  • 协方差,可以得到两个变量间的相关性。但协方差越大,并不表明越相关。因为协方差的定义中没有考虑属性值本身大小的影响。
  • 相关系数考虑了属性值本身大小的影响,因此是一个更合适的统计量。取值在[-1,1]上,-1表示负相关,即变换相反,1表示正相关,0则表示不相关。相关系数是序数型的,只能比较相关程度大小(绝对值比较),并不能做四则运算。而相关系数一般常用的有三种:
    • Pearson相关系数:这个比较常用,主要用于正态的连续型数据间的比较。但在使用时,限制的条件比较多,对于偏态数据,效果不是很好。
    • Spearman相关系数:相比于Pearson,这个的限制条件比较少,不受异常值影响。可以应用在多种场合。但若对正太正态数据使用,则效果一般。
    • Kendall相关系数:限制条件同Spearman。一般用在分类数据的相关性上。
    • 注:Pearson和协方差,主要看数据间的关系是不是线性的,如不是线性,但有其他联系,这两个系数是判断不出来的。比如指数函数这种。而Spearman和Kendall则可以进行一定的判断,主要是单调增函数。

可视化

  • 散点图。可看出两个特征间的关系大致是什么样的。如果要具体探究数据间的关系,需要进行一定的计算。
  • 相关性热力图。如果是一个数据与另一个时间序列进行搭配,则这个图可以很好地看出变化趋势。

对于连续变量与连续变量之间的关系,可以通过散点图进行查看。对于多个连续变量,可使用散点图矩阵,相关系数矩阵,热图。

量化指标:皮尔逊相关系数(线性关系),互信息(非线性关系)

2)离散变量和离散变量关系

对于离散变量与离散变量之间的关系,可以通过交叉分组表(crosstab),复合柱形图,堆积柱形图,饼图进行查看。对于多个离散变量,可以使用网状图,通过各个要素之间是否有线条,以及线条的粗线来显示是否有关系以及关系的强弱。

量化指标:卡方独立性检验—>Cramer’s φ (Phi) or Cramer’s V

3)离散变量和连续变量关系

对于离散变量和连续变量之间的关系,可以使用直方图,箱线图,小提琴图进行查看,将离散变量在图形中用不同的颜色显示,来直观地观察变量之间的关系。

量化指标:独立样本t检验中的t统计量和相应的p值(两个变量),单因素方差分析中的η²(三个变量及以上)

4) 其他

检查数据的正态性:直方图,箱线图,Q-Q图(Quantile-Quantile Plot )

  • 直方图,箱线图:看图形是否对称
  • Q-Q图:比较数据的分位数与某个理论分布的分位数是否匹配

探索性数据分析的的产出

根据EDA我们可以得出以下结论:

  • 变量是否需要筛选、替换和清洗
  • 变量是否需要转换
  • 变量之间是否需要交叉
  • 变量是否需要采样

探索性数据分析的辅助工具

参考链接:

其他参考:

相关 [数据分析] 推荐:

Excel 数据分析

- - ITeye博客
用Excel做数据分析——直方图. 已有 0 人发表留言,猛击->> 这里<<-参与讨论. —软件人才免语言低担保 赴美带薪读研.

扯扯数据分析

- - 互联网分析
在别人的眼里数据分析既是很深奥的职业,也是被人挑战的职业,更是让你又恨又爱的职业. 其实这些都不重要的,重要的是对此行感兴趣,骨子里有量化一切的 意识. 很多人首先脑海中出现的是1、2、3……等等,为何有这样的印象. 其实是我们数据分析师为了更好的运用“统计学”所以要将许多 数据想尽办法来转化为1、2、3这样的数据形式,从而更深入、科学的分析data,不扯这个了,这个没什么意思,看图:.

数据分析那些事

- - 小蚊子乐园
今早突然有个想法,就是经常有网友会对数据分析方面有一些困惑,并且咨询我该怎么办. 并且经常是同样的问题,所以觉得有必要对一些经典共性的问题进行整理,与大家分享,这里并非标准答案,仅作参考. 欢迎提出自己对数据方面的疑问,将在此篇将持续更新,敬请关注. ----------------------------------------我不是完美的分割线--------------------------------------- .

谈大数据分析

- - 人月神话的BLOG
对于数据分析层,我们可以看到,其核心重点是针对海量数据形成一个分布式可弹性伸缩的,高查询性能的,支持标准sql语法的一个ODS库. 我们看到对于Hive,impala,InfoBright更多的都是解决这个层面的问题,即解决数据采集问题,解决采集后数据行列混合存储和压缩的问题,然后形成一个支撑标准sql预防的数据分析库.

Twitter收购数据分析公司BackType

- zou guangxian - 36氪
Twitter刚刚宣布已经收购BackType,一家帮助公司和品牌衡量社交媒体影响力的数据分析公司. BackType在博客上宣布这一消息时称团队将集中精力为Twitter发布商合作伙伴开发工具. 总部位于旧金山的BackType是一家由YC孵化的创业公司,自2008年以来已获得130万美元投资. 作为交易的一部分,BackType将停止BackTweets(帮助内容发布商了解推讯是如何转化为网站流量和销售额)的新用户注册.

数据分析中遇到的“圆”

- simple - 所有文章 - UCD大社区
与十年前不同,当今令数据分析师迷茫的,可能不再是数据很少,而是数据很多;今天不是不知道玩好数据的重要性,而是不知道玩错数据的危害性,即所谓甜蜜的烦恼. 一个数据分析师,如果能体会到,当下数据存在的核心问题,并且能清楚解决办法,就可以精益求精了. 这次想跟大家讲的是一个由受、想、行、识四个部份所组成生生不息的圈(Feedback Loop),彼此互相推进.

数据分析师的基本素质

- AWard - 小蚊子乐园
摘自《谁说菜鸟不会数据分析》第一章.     Mr.林看到小白斗志昂扬的样子非常高兴:别光说不做啊,要成为一名优秀的数据分析师,并非一件容易的事. 虽然所学的专业与数据分析不相关,但你可以通过工作中的实践学习数据分析,需要付出大量的时间和精力,不经一番寒彻骨,怎得梅花扑鼻香.     下面,我给你介绍一名合格的数据分析师需要具备的五大基本能力和素质.

新读图时代:500px.com数据分析

- holic536 - 东西
500px是一个由世界各地的摄影爱好者组成的高品质图片社区. 网站旨在寻找最优秀的摄影人才,分享和发现精彩的照片,找到志同道合的朋友. 网站创建于2003年,2009年500px重新改版升级成为2.0版. 从2009年的1000用户发展到现如今的4.5万用户,也就是在社交网络兴起之后,网站发展更加迅猛.

数据分析如何反恐 ?

- Chin - 未来趋势 电子商务趋势
喜欢做数据分析源于因为每个数据背后都有一个故事. 从少到大都有一个兴趣从来没变过,就是Forecast, 跟朋友说我其实不喜欢数据没人相信,但心底里其实想得到的是那仲Discover的快感. 曾经当个警察,喜欢风水算命,帮过职业赌徒做数据分析,这一切的快感就是来自类似以下这样的经历.  (节录自: 超级魔鬼经济学).

数据分析师的级别

- - 博客 - 伯乐在线
虽然这个工作的人还不能称作数据分析师,但是往往作这样工作的人还都自称是数据分析师,. 这样的人,只能通过×××系统看到有限的数据,并且很少去处理数据,甚至不理解数据的由来和含义,只是机械的把自己看到的数据拷贝出来,转发给相应的人. 这类人发出来的数据,是否有意义,怎么解读,他自己是不知道的,只能期望收到数据的人了.