Chap1.绪论
数据分析横跨了:计算机科学、人工智能、机器学习、统计学、数学以及专业领域知识等多个领域。
1.1 计算机科学
编程、数据库管理、网络管理、高性能运算
1.2 人工智能
模拟智能行为的算法。实施需要推理、相似性搜索或者无监督分类的智能活动。
1.3 机器学习
没有明确编程的情况下,赋予计算机进行学习的能力。
(有监督学习、无监督学习、强化学习)
1.4 统计学
模拟、贝叶斯方法、 预测、回归、线性分析、分类。
1.5 数学
线性代数、数值法、条件概念算法。
1.6 专业领域知识
1.7 数据、信息和知识
1.7.1 内部联系
数据data(facts)---->信息information(organized facts)---->知识knowledge(apply our experience to data & information)
e.g.
data:(直接调查)多少顾客购买、满意程度
information:(项目报告)基于竞争者的产品,得到价格与顾客满意度的关系
knowlegdge:(改进方案)产品的制造成本、运输成本、品质
1.7.2 数据的本质
分类型:定类的、定序的
数值型:离散的、连续的
1.8 数据分析过程
问题--->数据准备(获取、清洗、标准化、转化)--->数据探索(统计、可视化)--->预测建模--->成果可视化
1.8.1 问题
推理性、预测性、描述性、探索性、因果、相关性
1.8.2 数据准备
可能出现的数据问题:无效数据、数据分歧、超过范围的数据、缺失数据
好的数据的特征:完整性、一致性、无歧义、可计量、正确性、标准化、无冗余
1.8.3 数据探索
采用图形或者统计的形式来考查数据,找到数据中存在的模型、关联或关系。可视化的方法可以提供数据预览,从而找到可能有意义的模式。(D3.js)
1.8.4 预测建模
预测建模:一种统计手法,通过分析现有信息以及历史的数据预测未来的行为。是一种数据分析的过程,创造或者选择一种统计模型,目的是为了更好地预测可能的输出。
模型 | 算法 |
分类的结果(分类) | 朴素贝叶斯分类法 |
自然语言工具包 + 朴素贝叶斯分类法 | |
数值型结果(回归) | 随机游走 |
支持向量机 | |
基于距离的方法+K最邻近值 | |
细胞自动机 | |
描述性建模(聚类) | 快速动态事件规整(Fast Dynamic Time Warping, FDTW)+ 距离度量 |
force 布局和 Fruchterman-Reingold 布局 |
需要对模型进行评估从而实现对特定问题的解答最优化。较优的预测结果会有一种模型符合潜在的假设。
如何判断预测模型是否准确?证明有价值的信息被正确表达?(确保不过分优化、不过分拟合)
· 交叉验证:将数据划分为样本量相等的子集,测试预测建模的结果进而评估模型的实际表现。执行交叉验证进而判断各模型的健壮性,同时评估多个模型的结果以确认最优模型。
· 保持样本:大数据集随机分为训练集、验证集、测试集。
1.8.5 结果可视化
三维图、散点图矩阵…(模型假设、 特征空间维度、数据)
D3.js、Python 里的 matplotlib 工具
1.9 定量与定性数据分析
· 定量数据:结构化数据、统计分析、客观的结论
· 定性数据:非结构化数据、概括、主观的结论
(1)数据没有逻辑顺序,只能分类
(2)数据有逻辑顺序,不同值之间差别不连续
(3)数据连续并有逻辑顺序。不同值之间存在标准化的差异,不包括零值
(4)数据连续并有逻辑顺序,包含零值
1.10 数据可视化的重要性
对数据中暗含的新模式或关系进行揭露。
探索性数据分析的目标:发现数据错误、检验假设、找到潜在的模式、适合模型的初步选择、决定变量间的相互关系
1.11 大数据
数据量庞大:(并联分布式架构云计算平台提供处理数据的方式)
数据形式:结构化、非结构化、多结构化
速度:需要实施快速分析
最常见的架构是 MapReduce ,通过分布式集群来对大数据集进行同步的编程模式。Apache Hadoop 是 MapReduce 架构中最常用的实施方式。
另外有 NoSQL 和大规模平行处理数据储存(Massively Parallel Processing, MPP)
如何处理 PB 级的数据?数据模糊性?
“更好的算法、更多的数据、更好的数据”
1.12 自我量化
传感器和摄像头、社交网络分析