数据科学导论


数据科学导论

1 基础理论

数据富足时代——大数据时代

  • 现代处理器功能增强,密集度up
  • 存储、管理成本降低,新的存储技术使得数据运行更快,规模up
  • 跨计算机集群分布计算处理能力,提高了分析复杂数据的能力
  • 有更多业务数据集可供分析,而且大部分提供了API
  • 机器学习算法的开源社区日渐庞大
  • 可视化更容易使用

很多过去的研究方法和理论思维有明显的“面向数据贫乏时代”特点,不再适用

1.1 术语定义

数据、信息、知识、智慧

结构化数据、半结构化数据、非结构化数据 (可否用传统关系数据库存储)

结构化:先有结构,再捕获数据

4V: Volume Variety Value Velocity

涌现:质变

理解数据科学:现实映射到数据,研究问题,对现实进行预测、洞见、解释、决策

1.2 研究目的

最终目标:实现数据、物质、能量间的转换,降低后两者损耗、提高后两者效果和效率

具体:

  • 揭示大数据内容,元数据特征、规律,帮助人们理解大数据的本质特征
  • 从数据到智慧的转换 P11
  • 数据洞见:将数据转化为实际行动
  • 数据业务化
  • 数据驱动型决策支持,将数据当作驱动方式
  • 数据产品研发:0-3次数据 原生 干净 增值 洞见数据
  • 数据生态系统建设
    • 数据生产
    • 数据采集
    • 数据处理
    • 业务流程

1.3 研究视角

原本:我能为数据做什么

​ 传统的数据工程、数据结构、数据库、数据仓库、数据挖掘都是这个

​ 强调通过人的努力改变数据,使数据更有价值,便于后续利用

现在:数据能为我做什么

​ 大数据辅助决策、决策支持,带来商业机会,降低不确定性,发现可用的新模式

​ 新术语:数据驱动、数据业务化、让数据说话、以数据为中心、数据柔术 都强调该视角

1.4 理论体系

领域知识:决定数据科学的主要关注点、应用领域和未来发展,重要

理论基础:统计学、机器学习、数据可视化与故事化

核心内容:

  • 基础理论:理念、方法、技术、工具、原则、目标等等
  • 数据加工:融入3C精神,更强调增值活动
  • 数据计算:过渡至云计算,则关注的问题发生根本变化
  • 数据管理:出现新兴的NoSQL、NewSQL和关系云等
  • 数据分析
  • 数据产品开发

1.5 基本原则

  1. 三世界原则

    数据世界,使用“痕迹数据”,更加客观,而不是”采访数据“

    第四范式:数据密集型科学发现范式——更注重相关性而不是因果

  2. 三要素

    理论、实践、精神(3C)

    提升实践能力:参加竞赛+参加开源项目

    Creative Working

    Critical Thinking

    Curious Asking

  3. 数据密集型原则

    挑战来自数据本身复杂性而不是计算

  4. 数据中心原则

    从数据出发,改变业务

  5. 数据范式

    用数据直接解决问题

  6. 数据复杂性原则

    复杂性被认为是大数据不可分割的属性,数据在先,模式在后或无模式

  7. 数据资产原则

  8. 数据驱动原则

  9. 协同原则

  10. 从简原则

    数据科学追求简单高效,面向具体应用需求,不考虑通用而复杂的算法

1.6 能力要求

  • 创新精神、独特视角、不断进取
  • 团队合作、协同工作
  • 提出“nice”研究假设和问题,能够完成对应试验设计
  • 参与项目的经验
  • 灵活运用领域实务知识经验
  • 研发数据产品

1.7 学习

加法:操作系极强,培养动手操作能力,利用python和R

减法:不同学科领域对数据科学的研究视角和侧重点不同,应优先学习领域共性的数据科学,再日后专精

乘法:经典理论X最佳实践,优先学习最代表数据科学的理论和实践,数据科学里实践领先于理论

除法:注意学习知识的完整性和逻辑性,用最简单的逻辑和最清楚的语言来学习

八个步骤:

  1. 数学、统计学、机器学习

  2. 学会写代码

  3. 理解数据库

  4. 探索数据科学流程

    采集、探索、加工、建模、验证、报告

  5. 重视并学习大数据

  6. 竞赛,建立自己的项目,培养精神

  7. 实习、集训、进入职场

  8. 参与社区

2 理论基础

2.1 学科地位

跨学科视角

关注理论研究和领域务实知识(需要相关专家参与)的结合

主要精神是hacker精神

2.2 统计

从行为目的和思维方式看

描述统计+推断统计

从方法论角度看

基本分析法:对低层数据(0次1次)分析

回归、分类、时间序列、线性分析、方差分析、聚类分析、其他

元分析法:对高层数据(尤其是基本分析法得出的)进一步分析

方向:

  • 不再是随机样本,而是全体数据
  • 不是精确性,而是复杂性,目的不再是追求精确性,而是提升效率
  • 不是因果关系,而是相关关系

2.3 机器学习

基础理论来自多个学科:

人工智能、贝叶斯方法、计算复杂性理论、控制论、信息论、哲学、心理学与神经生物学、统计学

分类P62

按照输出结果:

  • 概念学习:用结果推出未知的布尔函数,找到最好你和训练样本的假设
  • 决策树学习:逼近离散值目标函数过程
  • 分析学习:用先验知识分析每个样本,推算各特征与目标函数的相关性
  • 归纳学习

按照学习方式:

  • 人工神经网络
  • 贝叶斯学习
  • 遗传算法
  • 基于实例学习
  • 增强学习

按照学习任务不同:

  • 监督学习
    • 最近邻
    • 朴素贝叶斯
    • 决策树
    • 随机森林
    • 线性回归
    • 支持向量机
    • 神经网络分析
    • 。。。。
  • 无监督学习
    • K-Means聚类
    • 主成分分析
    • 关联规则分析
  • 半监督学习
    • 半监督分类:生成式、判别式
    • 半监督回归:基于差异、基于流形学习
    • 半监督聚类:基于距离、大间隔方法
    • 半监督降维:基于类标签、基于成对约束

挑战

  • 过拟合(Overfitting)

    训练集准确率高,测试集准确率低

  • 维度灾难(Curse of Dimensionality)

    低维算法难以移植到高维

  • 特征工程(Feature Engineering)

    还得考虑相关领域知识

  • 算法可拓展性(Scalability)

P74常用统计模型和机器学习算法

3. 流程与方法

数据科学没有统一的流程,不同专家、应用场景中所提出的流程可能不同,学习数据科学流程的母的在于掌握活动类型,而不是活动之间的严格先后顺序。

3.1 基本流程

图P83

数据化、数据加工、数据规整化、探索性分析、数据分析与洞见、结果展现和数据产品的提供

  1. 数据化

  2. 数据加工和规整化

    本质是将低层数据化为高层数据0->1->2->3

    干净数据(相对脏):质量没问题,没有缺失值,错误值和噪声信息

    规整数据(相对乱):形态符合计算与算法要求,从数据形态分类

    注意应该是增值过程,不等于传统的“数据预处理”和“数据工程”

  3. 探索性分析

    在尽量少的先验假定下探索,通过作图、制表、方程拟合、计算特征量等探索数据的结构和规律

    先探索后验证

    • 耐抗性:

      对局部不良行为的非敏感性,因为大数据难免有部分差错

      耐抗性分析统计量:集中趋势、离散程度、分布状态、频度等

    • 残差

    • 重新表达

      找到合适的尺度或数据表达方式进行准换,有利于化简分析,主语对称性,恒定性,线性和可加性,和线性代数概念类似,也叫变换

    • 启示

  4. 数据分析与洞见

    在理解数据的基础上,设计、选择、应用具体的机器学习算法和统计模型进行分析

    • 描述性分析:转换为信息
    • 预测性分析:转换为知识
    • 规范性分析:转换为智慧
  5. 结果展现,提供数据产品

3.2 数据加工

需求:数据质量要求 和 数据计算要求

往往需要综合运用多种数据加工方法

图见P92

  1. 数据清洗(多轮审计和清洗)

    • 缺失数据

      识别、分析(特征,影响,原因)、处理(忽略,删除,插值)

    • 冗余(重复、无关)数据

      重复数据用重复过滤

      无关数据用条件过滤

    • 噪声(错误、虚假、异常)

      分箱、聚类、回归


  2. 数据变换

    使形式符合算法要求,常见策略:

    1. 平滑处理——去噪声
    2. 特征构造——构造新属性,描述客观现实(体积+质量->密度)
    3. 聚集——汇总聚合数据,进行粗粒度计算(日销量->月销量)
    4. 标准化
    5. 离散化——用区间标签和概念标签表示属性值
  3. 数据集成

    内容集成:结构相同、描述不同对象,或可通过映射变为相同(同时进行冲突检测、处理等清洗操作)

    结构集成:来源不同、描述同一对象,分结构和内容两层次,可进行属性选择

    难点:

    • 模式集成:如何匹配来自多个数据源的同一实体
    • 数据冗余:冗余属性可以从其他属性推演出来,命名不一致,用相关分析P99
    • 冲突检测和消除:比例尺度或编码不同(kg 和 g)
  4. 数据脱敏(Data Masking)

    1. 单向性:无法从脱敏数据 推导 出原始数据
    2. 无残留:用户无法用其他途径还原敏感信息,小心用户画像技术
    3. 易于实现:涉及数据量大,所以不能太复杂
  5. 数据归约(Data Reduction)

    在不影响数据完整性和分析结果正确性前提下,减少数据规模和数据量

    1. 维归约

      避免维度灾难,减少考虑的随机变量或属性,通常采用线代方法

      主成分分析、奇异值分解、离散小波转换

    2. 值规约

      用参数模型或非参数模型近似表示数据,只存储生成方法和参数??

    3. 数据压缩

      重构数据来压缩

  6. 数据标注:

    对目标数据补充必要的标签类元数据来提高检索、洞察、分析、挖掘效率

    自动化程度:有手工、半自动、自动化标注

    实现层次:语法标注和语义标注 不懂

3.3 数据审计

按照数据质量的一般规律与评价方法审计,发现问题

比如缺失值、噪声值、不一致值(相互矛盾)、不完整值(被篡改或无法溯源)

P102

  1. 预定义审计、自描述性规则
  2. 自定义审计
  3. 可视化审计

常用技巧:第一数字定律、小概率原理、语言学规律、数据连续性理论、数据鉴别技术

3.4 数据分析

描述性->诊断性->预测性->规范性

​ ↑商务智能 ↑数据科学

  1. 描述性

    已经发生了什么

    描述性统计分析方法

  2. 诊断性

    为什么发生

    关联分析法(数据科学家)和因果分析法(领域专家)

  3. 预测性

    将要发生什么

    分类分析方法、趋势分析方法

  4. 规范性

    关注模拟与优化问题,如何从将要发生的事情受惠、如何优化将发生的事

    运筹学、模拟与仿真技术

3.5 数据可视化

  1. 科学可视化
  2. 信息可视化
  3. 可视分析学

可视分析学以可视交互为基础,综合运用图形学、数据挖掘、人机交互,实现人机协同完成可视化任务

P112有一个模型,有以下特点:

  1. 强调从数据到知识的转换过程

    不是单纯的展示,而是转换成知识,两种途径 👇

  2. 强调可视化分析与自动化建模之间的相互作用

  3. 强调数据映射和数据挖掘的重要性

    (用来实现👆,作为重要支撑技术),配合使用

  4. 强调数据加工工作的必要性

    不然会影响可视化效果

  5. 强调人机交互的重要性

    人机互补和人机协同,重视互补优势

方法体系

  1. 方法论基础

    主要指 视觉编码 作为数据可视化方法体系的根基

    通常采用视觉图形元素和视觉通道两个维度进行视觉编码

  2. 基础方法

    建立在👆之上,应用不局限于特定领域,提供高层不同应用领域的共性方法,比如统计图表、图论方法、视觉隐喻、图形符号学

  3. 领域方法

    往往仅限于特定领域或任务范围,不具备跨领域/任务性

    但在该领域的信度和效度高于基础方法的直接应用

    比如地理信息可视化、时间数据可视化、不确定性、文本、媒体、实时数据之类的

    很多领域已出现了自己独特的数据可视化方法,比如地铁路线图全球统一

  4. 视觉感知与视觉认知

    视觉编码的关键在于找到符合目标用户群体的视觉感知习惯的表达方法

    • 视觉感知(Visual Perception)

      指客观事物通过视觉感觉器官在人脑中产生直接反映的过程

      应充分利用人类视觉感知特征

    • 视觉认知(Visual Coginiton)

      指个体对视觉感知信息的进一步加工处理过程

      包括抽取、转换、存储、简化、合并、理解、决策等,很好的例子是完图法则

  5. 可视化视角下的数据类型

    • 定类数据

      主要用于记录事物的所属类型或标签信息,只能进行相等判断

    • 定序判断

      主要记录事物的排信息,支持相等判断和大小比较运算

    • 定距排序

      用于记录事物的量化信息,“0”的位置具有任意性,不代表事物是否存在,如温度为0°

    • 定比数据

      用于记录事物的量化信息,“0”为基准,表示不存在,例如我的身高是他的1.5倍

  6. 视觉通道的选择方法P118

    从人类的视觉感知和认知习惯看,数据类型与视觉通道时存在一定的关系的

    一般有:位置、尺寸、数值、纹理、颜色、方向、形状,分别能够对应不同的数据类型

    要综合考虑目标用户需求、可视化任务本身、原始数据的数据类型,成为数据可视化工作的重要挑战

    不同视觉通道的数据表现力不同,评判标准:

    1. 精确性

      编码结果与原始数据间的吻合程度

    2. 可辨认性

      字面意思,不要让视觉通道和背景混淆之类的

    3. 可分离性

      不同视觉通道的表现力之间应具有一定的独立性,比如面积颜色表现力会受到面积大小影响

    4. 视觉突出性

      编码结果能否在非常短的时间内迅速、精确传达出主要意图

    但是应注意:各种视觉通道的表现力往往是相对的,与原始数据、通道类型选择、用户感知习惯都有关

  7. 数据假象

    不可忽视的特殊问题

    目标用户产生的错误或不正确的视觉感知:

    1. 可视化试图所处的上下文可能导致视觉假象
    2. 人眼对亮度和颜色的相对判断容易造成视觉假象
    3. 目标用户的经历和经验可能造成视觉假象

3.6 数据故事化

“数据的故事化描述”是为了提升数据的可理解性、可记忆性、可体验性

将“数据”还原成成关联至特定的“情景”的过程,因此故事化也是数据转换的表现形式之一

三类“情景”:

  • 还原情景

    还原数据所计算和计算信息的“原始情景”

  • 移植情景

    将数据移植到另一个真实发生(比如客户熟悉的情景)的情景中

  • 虚构情景

  1. 重要地位

    这被认为是“最后一公里”问题,直接影响整个数据科学项目的成败

    • 易于记忆

    • 易于认知

      可视化易于感知、故事化易于认知

    • 易于体验

      一是故事讲述者和倾听者之间共享相同、相似的情景

      二是故事的具体表现形式和情节设计

  2. 故事化描述与故事的展现方式

    👆是两个不同的概念,电影、图书、海报等都是故事化处理后、选择特定的形式具体展现

    • 故事化描述是故事展现的前提条件,不同展现方式表现效果不同
    • 故事的展现对故事化描述起反馈作用
  3. 故事化描述的基本原则

    1. 忠于数据原则

      尤其不得以“提高故事生动性”为借口扭曲原始数据

    2. 设计共同情景原则

      要真正了解目标倾听者,结合他们的经验和知识

    3. 体验式讲述原则

      比如尽量用第一、第二人称,多一些交互式体验

    4. 个性化定制原则

    5. 有效性利用原则

      有时候故事化不一定合适,要论证是否合适,是否应采取其他方法

    6. 3C精神原则

      实现增值,避免套路化

近年来,自动化故事化描述成为新的关注点!

3.7 数据科学项目管理

遵循一般项目管理的原则和方法

涉及 整体、范围、时间、成本、质量、人力资源、沟通、风险、采购 九个方面的管理 P129

So Complex!

  1. 主要角色 P130

    项目发起人、项目经理、客户、数据科学家、数据工程师、操作人员

  2. 基本流程

    都是双向的链条,主要活动包括六项

    • 项目目标的定义

      我们通此项目解决什么问题

    • 数据的获得与管理

      我们需要哪些数据?如何获得?如何管理

    • 模式/模型的洞见

      我们从数据洞见了什么模式/模型?

    • 模式/模型的验证与优化

      已洞见的模式/模型是否可靠、适用以及如何优化

    • 结果的可视化与文档化

      我们用什么方式记录和展现数据预期结果

    • 模式/模型的应用与维护

      如何运用已确定的模式/模型解决实际问题,并根据数据和问题的动态变化优化模式/模型。

3.8 数据科学常见错误

主要原因在于人们尚未完全理解数据科学理念、理论、方法、工具

用自己一贯采用的习惯性思维和传统理论去“解决”大数据问题

  1. 不检查数据

    80%时间获取、清理数据,检查是否可用,谨慎使用模拟数据

  2. 不理解数据

    应该在训练数据模型前仔细研究数据,更快的利用直觉

  3. 不评估数据

    对数据内容及其模态和目标任务之间的匹配度进行评估,寻找新的途径而不老是局限于过去

    从小目标开始、不要一开始就挑战技术难题

  4. 不测试模型

  5. 只有目标、没有假设

    合情的假设可以从一开始缩小范围,减少在这个问题上浪费的时间

  6. 采用过时失效的模型

    当你的竞争对手从你的市场表现中学习时就已经过时了

  7. 不评估最终结果

  8. 忽略业务专家的作用

    比如在确定需要的特征时节省大量的时间

    开始项目前,数据团队和业务专家之间进行对话,确保每个人都清楚项目要实现什么效果,然后做探索性的数据分析,看看能否实现它,如果不能,可能需要用一种新的方法重新表述该问题,或者采用不同的数据源,但这个具体领域的专家应该帮助确定目标是什么以及项目是否符合目标

  9. 选择过于复杂的模型/算法

    简单优先,先考虑简单的,注意到过拟合更可能发生在复杂的算法中

  10. 模型与算法选择上的偏见

    最好从开源模型中构筑自己的版本

  11. 曲解基本概念和基础原理

  12. 低估目标用户的理解能力

奥卡姆剃刀定律:

  1. 剃掉不必要的假设
  2. 分割两个类似的结论来区分两个假设

不应盲目追求数据量,以最必要的数据集为基础数据,不要追求”高大上“。。


文章作者: Darren
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Darren !
评论
  目录