数据分析的一般流程介绍
数据分析的真正价值在于发现问题,解决问题,创造价值。使用什么软件、工具并不是重要。现在市面上的出现的好多机构,解决的更多的是入门使用工具的问题,演变成手段问题。
数据分析是把现实的问题转化为数据能够解决的问题,使用我们学习到的知识和经验,将数据提炼出来的信息应用,创造价值的过程。
分为三部:
从问题到数据,数据到信息,信息到行动。
-
问题到数据:[5-15%]
- 准确定义实际问题
- 评估当前状况
- 确定数据挖掘的目标
- 制定项目计划
-
数据到信息
数据准备[10-15%]- 收集数据
- 描述数据
- 初步探索变量关系
数据处理[45-55%] - 数据处理
- 数据变换
- 变量选择
建模 [5-15%]
模型评估[5-10%]
-
模型应用[10-15%]
- 结果交流展示
- 行动计划
- 模型监测维护
- 项目评估反馈
从问题到数据
(准确定义实际问题,评估当前状况,确定数据挖掘目标,制定项目计划)
谁是你的客户知道你的客户嘛,你要怎么与他们交流r> 你能把问题具体化嘛r> 理解你的客户的问题
问题1:如何提高产品销售量r> 问题2:今年年初推出的新促销手段是不是提高了先锋先玉696玉米种子在西南地区的销售量strong>
-
这个问题够不够具体化p>
-
类别:比较,描述,聚类,判别还是回归
回归问题 -
需要什么样的数据r> 现有数据质量收集什么数据量,因变量
问题3:
某服装公司:要通过精准营销提高效率p>
-
这个问题关键在于对精准什么些品牌,品牌价位,风格质量p>
比如:
-
是对某个品牌在线广告广告的精准营销所投入的营销费用;
-
某个特定款式进行打折,想知道哪类客户比较对打折感兴趣;
-
或是有不同的品牌和价位,哪些消费者会倾向于什么样的品牌,什么价位,什么款式;
-
在不同的平台上打广告,不同的平台不同的消费群体,想知道让这个广告更有争对性。
-
-
明确问题为:感兴趣为不同品牌应该锁定什么样的客户p>
-
哪些品牌个品牌描述都是什么样的,质量,风格等
-
对于销售者口统计学数据(教育,性别,区域,男女等),公司内部消费实体店消费,在线消费
-
用户调查的偏好数据
数据到信息
数据准备(收集数据,描述数据,初步探索变量关系),数据处理(数据清理,数据变换,变量选择),建模和模型评估
-
数据预处理:
清洗,变换,缺失值填补,整形整合等
数据错误的清洗,标准化,中心化,(模型在离群值,缺失值,一个标度,数据类型…) -
建模和评估:
数据划分和再抽样,评估标准- 数据划分和再抽样:
严格划分数据测试集,训练集,交叉验证 ,保证模型没有过度拟合,在新数据上表现良好 - 评估标准:
- 模型选择:奥卡姆原则:在几个模型效果相同,或是差距不大,选择简单的模型
- 明确目标:模型类别
- 权衡:没有免费的午餐
- 数据划分和再抽样:
信息到行动
- 行业知识
- 讲故事的能力(对方的接纳方式,对方的做事方式,让他们买帐)
数据预处理
数据清洗的不同阶段:
- 技术上正确的数据:读PDF类型、数据类型是否正确读入(带千分位,但单位)
- 用于模型的数据 :使用的模型类型,缺失值,离群值,标准化,数据格式…
- 整合后的数据:从日单位到周或月的整合
呈现 - 生成可读性强的方便客户读的结果
分别存储每一步得到的数据
缺失值填补
-
了解缺失值原因
- 缺失值的随机发生:
中位数或众数填补 - 缺失值的发生有潜在机制(比如年龄大的人不愿意透露年龄):
将缺失值当作因变量进行建模预测
- 缺失值的随机发生:
-
建模的目的:解释和推断 VS 预测
-
预测:黑箱模式对缺失值的抗性比较强 :中位数(连续)或众数(字符,分类)填补
-
推断解释:用模型填补缺失值
-
数据变换
中心化和标量化
-
对于PCA,偏最小二乘等,它需要对变量进行线性变换,变成不相关的变量,找出最大解释方差的方法
-
对最后的参数估计大小加个罚函数:lass,regression 一个尺度
有偏分布
-
左偏分布
-
右偏分布
在回归分析中需要变换成对称:销量,销售额等
离群点
- 离群点只要不是错误的原因是含有数据信息的。
- 模型对离群值的敏感程度:回归 VS 黑箱模型
查找离群点:
-
可视化查看
-
Z分值确定离群点
共线性
对预测模型影响较小
对解释推断模型有影响:
高线性相关性导致系数估计不稳定,p_values不可信
- corrplot()可视化
- 删除高度相关变量:caret中的findCorrelation()函数,阈值作为调参参数 0.65-0.85
算法:处理高度相关变量 (《应用预测模型》3.5小节)
计算自变量的相关系数矩阵
找出相关系数绝对值最大的那对自变量(记为自变量A和B)
计算A和其他自变量相关系数的均值。对B也做同样的计算
如果A的平均相关系数更大,则将A移除;如若不然,移除B
重复步骤2到4,直至所有相关系数的绝对值都低于设定的阈值
稀疏变量
取值较少,数值取值相同,信息量较少
对回归模型有影响,对树模型黑箱模型影响较少:过度拟合和可解释性差
通常识别这样的变量有两个法则:
- 不同取值数目和样本量的比值
- 最常见的取值频数和第二常见的取值频数之间的比值
- caret包中的nearZeroVar()函数
###添加哑变量、交互作用
什么是名义变量r> nnet包中的class.ind()函数
caret包中的dummyVars() 函数
添加交互效应
###数据整合和整形
apply()、lapply()和sapply()
plyr包中的ddply()
reshape2中的melt()和dcast()
总结
数据预处理流程:
检查数据:变量分布,是不是存在错误的观测
缺失值填补:了解缺失原因,选择填补方式
数据变换:取决于需要建立的模型,对不符合正态分布假设,变量尺度差异大,有离群值的数据进行变换
检查共线性:找到高度线性相关的变量,决定删除变量,还是使用PCA,CFA这类非监督方法得到不相关的变量线性组合
稀疏变量:查找并且删除稀疏变量
编码名义变量:对于不能作用于分类变量的模型,将分类变量转化成0/1名义变量
附录:用到的R包
caret: 提供获取、使用、评估成百上千个机器学习模型及其拟合效果的系统交互界面,为机器学习提供了结构化的方法并且对一系列机器学习过程进行评估
e1071: 各类计量经济和机器学习的延伸;我们通过naiveBayes()函数进行朴素贝叶斯判别
gridExtra: 绘图辅助功能,讲不同的图形组合在一起成为图表
lattice: 建立在核心绘图能力上的格子框架图形
imputeMissings: 填补缺失值
RANN: 应用k邻近算法
corrplot: 相关矩阵的高级可视化
nnet: 拟合单个潜层级的神经 络模型
car: 回归模型解释和可视化工具,其它附加功能; 其中包括some()和scatterplotMatrix()函数
gpairs: 广义散点图;对混合类别和连续变量产生散点图矩阵
reshape2: 灵活重构和整合数据,主要有两个函数melt()和dcast()
psych: 心理计量学方法和抽样调查分析,尤其是因子分析和项目反应模型;
plyr: 可以将数据分割成更小的数据,然后对分割后的数据进行些操作,最后把操作的结果汇总
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!