硅谷资深数据科学家教你认清探索性数据分析(EDA)的价值

简介: 本文主要介绍了探索性数据分析的价值,说明了探索性数据分析(EDA)是什么以及详细介绍了两种假设,另外文中分析了探索性数据分析对于建模而言是很重要的一步,能够帮助数据科学家找到模型结果出错的原因。

更多深度文章,请关注:https://yq.aliyun.com/cloud

作者介绍

Chloe Mawer:硅谷资深数据科学家,具有地球物理学和水文学的学习背景,精通利用数据进行预测以及提供有价值的见解;她的学术研究和工程经验使她能够解决新问题,创造实用、有效的解决方案。

领英:http://www.linkedin.com/in/chloemawer/

编者Chloe MawerSVDS员)4月3日的波士顿TDWI 大会上发言,可以从幻灯片上获取更多的信息 


从外表来看,数据科学通常被认为完全由高统计学和机器学习技术组成。然而,另一个重要组成部分往往被低估或遗忘:探索性数据分析(EDA)。EDA指对已有的数据(特别是调查或观察得来的原始数据)在尽量少的先验假定下进行探索,通过作图、制表、方程拟合、计算特征量等手段探索数据的结构和规律的一种数据分析方法。在深入机器学习或统计建模之前,EDA是一个重要的步骤,这是因为它提供了为现有问题开发适当模型并正确解释其结果所需的来龙去脉
随着工具的兴起,只需要简单的将数据提供给黑盒就可以轻松实现强大的机器学习算法,因此略过EDA这一步将变得异常诱惑然而简单地将数据提供给黑盒并不总是一个好主意——这是因为EDA对于所有类型的数据科学问题具有关键价值。
EDA对数据科学家而言是有价值这是因为EDA能确保他们生成的结果是有效的、能被正确解析以及适用于所需的业务环境。在确保技术交付成果之外,EDA通过确认正在提出正确的问题而不是基于假设调查以及通过提供问题的背景来确保数据科学家的输出潜在的价值可以最大化。

这篇文章将高度概述EDA通常涉及的内容,然后描述EDA对于成功建模和解释其结果至关重要的三个主要方式。无论您是数据科学家还是数据科学的消费者,希望在阅读本文后,您将了解为什么EDA应该是在项目数据科学操作中的关键部分。
什么是EDA
尽管EDA已经存在数据分析,据说1977年约翰·图克(John W. Tukey)写“探索性数据分析”一书已经创造了这个词并发展了这个领域。概括来讲,EDA用于理解和总结数据集的内容,通常用于调查特定问题或更高级的建模。EDA通常很大程度上依赖于可视化数据来评估模式利用一些定量方法来描述数据。
EDA通常涉及以下几种方法的组合:

原始数据集中每个字段的单变量可视化和汇总统计(见图1) 

    图1

  • 用于评估数据集中每个变量与感兴趣目标变量之间的关系的双变量可视化和汇总统计(例如,时间流失,花费)(见图2

 图2

  • 多元可视化了解数据中不同字段之间的交互作用(见图3)。 

图3

  • 降维以了解数据中的字段,这些字段占据了观察值之间的最大差异,并允许处理减少数据量
  • 通过将数据折叠成几个小数据点观察值聚类成有区别的小组,可以更容易地识别行为模式(参见图4) 

图4

通过这些方法,数据科学家验证假设并识别有助于理解问题和模型选择的模式,为数据建立直觉以确保高质量分析,并验证数据是按预期的方式生成。
验证假设和模式识别
EDA的主要目的之一是在假设任何事情之前查看数据很重要的。首先,数据科学家可以验证在构建模型时可能已经做出的任何假设,或者是使用某些算法所必需的假设。其次,对数据的自由假设探索可以帮助识别模式以及观察行为的潜在原因,这可能有助于回答遇到的问题或告知建模的选择。 

通常有两种类型的假设可能影响分析的有效性:技术和商业正确使用特定的分析模型和算法依赖于具体的技术假设是正确,例如变量之间没有共线性数据中的方差与数据值无关以及数据是否以某种方式丢失或损坏。在EDA,评估各种技术假设以帮助选择数据和任务而言的最佳模型。如果没有这样的评估,可以使用一个模型来违反那些假设使得该模型不再适用于有关数据,并可能导致对组织有负面影响的不良预测和不正确的结论。

第二种假设,商业假设有点更难以捉摸。通过对模型的了解,数据科学家知道每种类型的假设必须对其使用有效并可以系统地检查它们。另一方面,商业假设可以完全无法识别并深深地纠缠于问题及其框架。一次,我们正在与一位正在试图了解用户与他们的应用程序如何进行互动以及发生什么交互信号可能会流失的用户的客户进行合作他们深深地嵌入在假设出现问题框架中,他们的假设是用户群是由有经验的厨师组成,希望通过复杂的食谱提高他们的烹饪水平。事实上,用户群主要由无经验的用户组成,试图找到快速易于准备的食物的食谱。当我们发现客户假设是错误后,他们不得不开始理解一整套新的问题以告知之后的应用开发。
在验证这些技术和商业假设的同时,数据科学家将系统地评估每个数据字段的内容及其与其他变量的相互作用,特别是表示企业想要了解或预测的行为的关键度量(例如使用生命周期支出)。人类是自然模式识别器通过以不同的方式对数据进行详尽的可视化,并将这些可视化策略性地配置在一起,数据科学家可以利用其模式识别能力来识别行为的潜在原因识别潜在的有问题或虚假的数据点以及开发可以通知其分析和模式的假设。
建立数据的直觉
为什么EDA是更先进的建模前采取的必要步骤,还有一个较为具体的原因数据科学家需要亲自熟练掌握数据,并为培养一种对数据是什么的直觉,这种直觉对于能够快速识别何时出现问题尤为重要。比如在EDA绘制使用寿命与年龄曲线并进行比较,可以发现年轻用户倾向于停留某个产品时间更长,那么结论是当年龄下降时会增加使用周期。如果训练模型显示不同的行为,会很快意识到应该调查发生了什么,并确保没有犯任何的错误。没有EDA,数据突出的问题或模型的实施中的错误会被长时间忽视,这可能会导致基于错误信息做出决策。
验证数据是不是像你认为的那样
在Tukey风格的EDA,分析师通常很清楚他们分析的数据是如何生成的。然而,现在随着组织内部生成大量数据集以及获取第三方数据,分析师通常远离数据生成过程。如果数据不是你认为的那样,那么你的结果可能会受到不良影响更糟的误解采取行动。
这个例子会展示数据生成的方式可能被误解,我们来具体看看该例子:A公司正在尝试预测哪些用户将订阅新产品以瞄准产品定位。他们正在努力开发一个模型,但每次尝试都会导致糟糕的预测结果。然后有人认为执行广泛的EDA,他们最初认为这是没有必要的。但结果表明,预测的用户是控制员工订阅的产品的较大企业账户的一部分。这种控制意味着用户可以以各种方式在数据中看起来完全相同,但具有不同的目标结果,这意味着个人层面的数据几乎没有能力告知预测。在这种情形中,EDA不仅在技术问题上暴露了所采取方法技术问题,而且还表明出现错误问题。如果用户的行为受到其组织的控制,则无法对用户进行定位。该公司需要瞄准并预测新产品订阅的企业帐户。
我们已经看到数据生成过程被错误地假设的其他例子:

  • 数据在产品的相同版本或跨平台上生成。
  • 数据根据X时区或相同跨时区被盖上时间戳。
  • 记录所有活动的数据,但仅在用户登录时记录。
  • 用户标识符保持不变标识符唯一。
如何去获得这些所有价值呢?
既然知道 EDA为什么是有价值的,你可能想知道如何 去实现 EDA 。一种方法是 参加 4月3号举办的 TDWI讨论 会,会上将探讨 EDA的最佳 方法,另外 有一些 针对 各种EDA方法发布 博客。 以下博客强调了 EDA获得的见解:

本文由北邮@爱可可-爱生活老师推荐,阿里云云栖社区组织翻译。

文章原标题《The Value of Exploratory Data Analysis》,作者Chloe Mawer,译者:海棠,审阅:,附件为原文的pdf。

文章为简译,更为详细的内容,请查看原文

相关文章
|
5月前
|
人工智能 数据可视化 数据挖掘
【python】Python航空公司客户价值数据分析(代码+论文)【独一无二】
【python】Python航空公司客户价值数据分析(代码+论文)【独一无二】
498 1
|
5月前
|
数据采集 机器学习/深度学习 数据可视化
数据科学项目实战:完整的Python数据分析流程案例解析
【4月更文挑战第12天】本文以Python为例,展示了数据分析的完整流程:从CSV文件加载数据,执行预处理(处理缺失值和异常值),进行数据探索(可视化和统计分析),选择并训练线性回归模型,评估模型性能,以及结果解释与可视化。每个步骤都包含相关代码示例,强调了数据科学项目中理论与实践的结合。
506 2
|
24天前
|
数据挖掘 PyTorch TensorFlow
|
23天前
|
机器学习/深度学习 数据采集 数据可视化
探索性数据分析(EDA)
探索性数据分析(EDA)
|
5月前
|
数据可视化 前端开发 数据挖掘
R语言对综合社会调查GSS数据进行自举法bootstrap统计推断、假设检验、探索性数据分析可视化|数据分享(上)
R语言对综合社会调查GSS数据进行自举法bootstrap统计推断、假设检验、探索性数据分析可视化|数据分享
|
3月前
|
数据挖掘 PyTorch TensorFlow
Python数据分析新纪元:TensorFlow与PyTorch双剑合璧,深度挖掘数据价值
【7月更文挑战第30天】随着大数据时代的发展,数据分析变得至关重要,深度学习作为其前沿技术,正推动数据分析进入新阶段。本文介绍如何结合使用TensorFlow和PyTorch两大深度学习框架,最大化数据价值。
74 8
|
3月前
|
数据采集 机器学习/深度学习 数据可视化
了解数据科学面试中的Python数据分析重点,包括Pandas(DataFrame)、NumPy(ndarray)和Matplotlib(图表绘制)。
【7月更文挑战第5天】了解数据科学面试中的Python数据分析重点,包括Pandas(DataFrame)、NumPy(ndarray)和Matplotlib(图表绘制)。数据预处理涉及缺失值(dropna(), fillna())和异常值处理。使用describe()进行统计分析,通过Matplotlib和Seaborn绘图。回归和分类分析用到Scikit-learn,如LinearRegression和RandomForestClassifier。
69 3
|
3月前
|
数据采集 机器学习/深度学习 数据可视化
完整的Python数据分析流程案例解析-数据科学项目实战
【7月更文挑战第5天】这是一个Python数据分析项目的概览,涵盖了从CSV数据加载到模型评估的步骤:获取数据、预处理(处理缺失值和异常值、转换数据)、数据探索(可视化和统计分析)、模型选择(线性回归)、训练与评估、优化,以及结果的可视化和解释。此流程展示了理论与实践的结合在解决实际问题中的应用。
96 1
|
3月前
|
消息中间件
数据架构问题之流批一体在数据分析型应用中的价值是什么
数据架构问题之流批一体在数据分析型应用中的价值是什么
|
5月前
|
机器学习/深度学习 数据可视化 数据挖掘
时间序列预测:探索性数据分析和特征工程的实用指南
时间序列分析在数据科学和机器学习中广泛应用于预测,如金融、能源消耗和销售。随着技术发展,除了传统统计模型,机器学习(如树模型)和深度学习(如LSTM、CNN和Transformer)也被应用。探索性数据分析(EDA)是预处理关键步骤,它通过Pandas、Seaborn和Statsmodel等Python库进行。本文展示了时间序列分析模板,包括描述性统计、时间图、季节图、箱形图、时间序列分解和滞后分析。使用Kaggle的小时能耗数据集,展示了如何通过这些方法揭示数据模式、季节性和趋势,为特征工程提供见解。
93 3
下一篇
无影云桌面