看完这篇就够了 之《深入浅出数据分析》
问题一:如何提升销量
已知数据:近半年的数据报表,含总销量、目标销量、广告费、社会网络费、单价
分析流程:
①确定:确定客户的真正意图,观察现有数据的规律,了解其现象
②分解:将客户的意图拆解为一个个小问题,回答小问题进而解决大问题,找出高效的比较因子
③评估:根据现有信息和数据,分解问题,总结客户确信的观点和你观察数据后的想法,从不同的角度、心智模型做假设,搞清楚客户不知道的事情。
④决策:做出自己明确的假设和结论,背景+数据解说+建议
注:数据分析的根本在于密切关注需要了解的数据、核心是有效的比较。且分析前务必要保存原始数据!
问题二:找出解决销量下滑的办法
已知数据:近半年市场调查汇总表(含月份、调查项、各家分店参加调查的人对各个调查项给出的平均分)
分析流程:
①观察法(找出最相关影响因素):找出最明显相关因素,把所想到的造成该因素变化现象的事务之间的联系画出来(因果图)
②比较法(对比找出较优解决方法):注意排除混杂因素的影响,随机选择是种避免方法,要注意将可能成为混杂因素的那些因素最终在控制组和实验组中具有同票同权,采用控制组做对比
注:数据分析的重点在于分析的结论有意义。
问题三:制定最佳的组合生产方案
已知数据:两种产品的利润、有多少橡胶可以用来生产两种产品、生产两种产品的时间分别多久、两种产品近3年每月的销售量表
分析流程:
①最优化问题:找出约束条件/限制条件(原材料限制、生产时间限制、销量可能限制)、决策变量/目标变量(利润最大化)
②Solver求解器:excel一键求解
注:你要做好修改模型的准备!
问题四:选择最优主页(3选1)
已知数据:3种主页分别的营业额、用户浏览时间、页面浏览次数、用户回头率
分析流程:
①多元数据探索原因,将数据图形化
②用散点图(R语言实现)探索原因,发现因果关系;X轴是自变量(可能多个原因,浏览时间、浏览次数、回头率),Y轴是因变量(结果/期望目标,营业额)
③每个观察数据是图上的每个点,同时分别用虚线和实线画出XY的目标值和当前平均值
注:面对大量数据时,需记住目标,将目光停留在和目标有关的数据上,无视其他。
问题五:何时开始提前生产新产品
已知数据:3种主页分别的营业额、用户浏览时间、页面浏览次数、用户回头率
分析流程:
①用网路图画出数据变量之间的关系图,并观察其间是正相关还是负相关
②假设检验:证伪法,用已有的证据剔除错误的假设
③证据的诊断性:用具有诊断性的证据评级排序已有假设,挑选出可能性最强的假设
注:回避满意法,保持敏锐,防止掉入认知陷阱。
问题六:判断患病的概率
已知数据:L患病,~L未患病,+阳性,-阴性
①基础患病概率:P(L),研究表明总人口中有1%的人患有蜥蜴流感,可以同时计算出“基础未患病概率”P(~L)=1-P(L)=99%
②真阳性率:若某人已患蜥蜴流感,试验结果为阳性的概率为90%
③假阳性率:若某人未患蜥蜴流感,试验结果为阳性的概率为9%
分析流程:贝叶斯规则
①P(L|+) 实验结果为阳性的患病概率
②P(L|+) = a / b
a= 基础患病概率P(L) *真阳性率P(+|L)
b=基础患病概率P(L) *真阳性率P(+|L)+基础未患病概率P(~L) *假阳性率P(+|~L)
注:避免基础概率谬误的唯一方法就是对基础概率提高警惕,而且务必要将它整合到分析中去。贝叶斯规则可以反复使用,注意每次使用时,要根据上一次的结果调整新的基础概率。
问题七:如何解决分歧、确定决策方向?
已知数据:分歧的主要问题有哪些、不同人对这些问题的可能性看法
分析流程:
①主观概率:即用一个数字形式的概率来表示对某事的确认程度。
②散点图:图形化观察大家对不同问题的看法分歧度有多分散
③标准偏差:标准偏差越大表明值分布越分散、差异越大。(=STDEV函数(数据范围))通过标准偏差排序,选出大家分歧最小的问题
④贝叶斯规则:出现新信息,对我们已有的主观概率可能会造成影响时,用来修正已有的主观概率。修正后再制作散点图,观察该观点的分歧度
新证据E:俄罗斯宣布将卖出油田
已获得的基础主观概率:P(S1),可以同时计算出P(~S1)=1-P(S1)
需要修订假设S1:俄罗斯下一季【是否】将继续补贴石油业
需要收集数据:在S1的情况下出现E的主观概率P(E|S1)、在~S1的情况下出现E的主观概率P(E|~S1)
需要计算的结果:在E的条件下出现S1的主观概率,即P(S1|E)
公式: P(S1|E) = ① / ②
①= P(S1) *P(E|S1)
②= P(S1) *P(E|S1) +P(~S1) *P(E|~S1)
注:主观概率特别适合在预测孤立事件,且缺乏从前在相同条件下发生过的事件的可靠数据的情况下使用。
问题八:如何对无法量化的工作做成果评估
已知数据:实际决策变量和约束条件太多,要得到量化数据的成本太高
分析流程:
①启发法: 选择一两个变量,然后根据这些变量对整个系统做出结论,据此评价工作成效。
②使用快省树描述启发法
注:固定模式都具有启发性。启发法并非百试不爽,快而省的经验可能有助于找出某些问题的答案,但在其他情况下,也会先入为主、危险至极!
问题九:是否该主动向老板要求加薪?
已知数据:过去三年公司3000名员工的加薪记录(含序号、得到的加薪幅度、是否主动提出加薪、性别、加薪年份)
分析流程:
①直方图:显示出数据点在数值范围内的分布情况(excel:数据-数据分析-histogram)
source("http://www.headfirstlabs.com/books/hfda/hfda.R")
hist(emplyees$received[emplyees$negotiated==FALSE, breaks=50)
hist(emplyees$received[emplyees$negotiated==TRUE], breaks=50)
②平均值、中间值、标准偏差
sd(emplyees$received[emplyees$negotiated==TRUE])
summary(emplyees$received[emplyees$negotiated==TRUE])
sd(emplyees$received[emplyees$negotiated==FALSE])
summary(emplyees$received[emplyees$negotiated==FALSE])
问题十:(接问题九)如果主动,加薪幅度该要求多少?(预测)
已知数据:同问题九
分析流程:
①散点图
employees<-read.csv("http://www.headfirstlabs.com/books/hfda/hfda_ch10_employees.csv", header=TRUE)
head(employees, n=30)
plot(employees$requested[employees$negotiated==TRUE], employees$requested[employees$negotiated==FALSE])
②回归线:输入x预测y值,y=a+bx,a代表y轴截距(x=0),b代表斜率
myLm<-lm(received[negotiated==TRUE]~requested[negotiated==TRUE], data=employees)
myLm$coefficients
得出的前一个数字是a,后一个数字是b
注:回归线对具有线性相关特点的数据很有用
问题十一:(接问题十)预测有偏差?
已知数据:同问题九
分析流程:
①外插法:数据范围以外的情况,因为缺少数据无法进行预测,可以提前增加注释“预测范围介于x%至y%之间有效”
②内插法:数据范围以内的情况,但偏离回归线
③机会误差:实际结果与模型预测结果之间的偏差
④回归线的均方根误差值:又称残差标准差。增加注释“大部分(但并非全部)结果会落在高于或低于预测结果x%的范围内”
summary(myLm)$sigma
⑤管理误差:将数据分拆为几个组(分割),例如按10%分界分成两条回归线
myLmBig<-lm(received[negotiated==TRUE&requested>10]~requested[negotiated==TRUE&requested>10], data=employees)
myLmSmall<-lm(received[negotiated==TRUE&requested<=10]~requested[negotiated==TRUE&requested<=10], data=employees)
summary(myLmBig)$coefficients
summary(myLmBig)$sigma
summary(myLmSmall)$coefficients
summary(myLmSmall)$sigma
注:预测总是与机会误差同在。你的分析应该介于具有完全解释功能和完全预测功能之间。
问题十二:找出每期刊物上刊登文章的最优数量(确保带来更大销量)
已知数据:销量、期数、文章、作者表格
分析流程:
①数据库:一系列相互有特定关系的数据。通过数据串联得出dispatch表(含期刊ID、发行时间、文章数量、销量)
dispatch<-read.csv("dispatch analysis.csv", header=TRUE)
plot(Sales~jitter(Article.count), data=dispatch)
②关系数据库管理系统(RDBMS)
多个散点图
library(lattice)
xyplot(webHits~commentCount|authorName, data=articleHitsComments)
问题十三:整理数据
已知数据:一列混杂在一起的数据
分析流程:
①excel通过分隔符分列
②用SUBSTITUTE(单元格,“要替换字符”,“新字符”)
③正则表达式:
NewLastName<-sub("\\(.*\\)", "", hfhh$LastName)
④排序剔重
注:正则表达式是整理混乱数据的杀手锏。