【6.3】--books--深入浅出数据分析

作者:米尔顿(Michael Milton) 一本简单通俗易懂的数据入门书,基于真实的案例,交代如何去用数据解决业务问题。这本书精彩的地方在案例,更多的讲解解决问题的思维,建议直接看书。

一、前言

案例:如何提高护手霜的销量?

1. 形而上的道道:

  1. 你对外界的假设和你确信的观点就是你的心智模式
  2. 统计模型取决于心智模式
  3. 心智模式应当包括你不了解的东西

2. 一些tips:

  1. 一定要保留原始数据 (哎,我就在这上面翻过船)
  2. 数据多是好事,但一定不要记住自己的假设,不要迷失(只关注跟目标有关的东西)
  3. 详细的记录分析的过程,最后给出建议
  4. 分析的逻辑见下图(解决问题才是正道)

二、试验

案例:试验哪个变量影响着咖啡的销售

  1. 统计与分析最基本的原理之一就是比较法,数据只有通过比较才有意义
  2. 为了控制观察研究混杂因素,有时候,将数据拆分为更小的数据块是个好想法。这些小数据块不包含那些有可能扭曲你的分析结果及让你产生错误想法的内部偏差。
  3. 提出问题,设计对照组,实验组,比较结果的差异。

三、寻找最大值

当你希望尽量多获得(或减少获得)某种东西,而为了实现这个目的需要改变其他一些量的数值,你就碰到了一个最优化问题

处理业务的时候,你需要将数据分成两类:

  • 无法控制的因素(约束条件)
  • 能控制的因素(决策变量)

一切模型都是错误的,但其中一些是有用的–George Box

好玩的工具: Excel Solver

四、数据图形化

案例:推测网页哪个因素跟销量有关

1.体现数据

创建优秀数据图形的第一要务就是促使顾客谨慎思考并制定正确决策,优秀的数据分析由始至终都离不开“用数据思考”

2.使用散点图探索原因

散点图是探索性数据分析的奇妙工具,统计雪茄用这个术语秒速在一组数据中寻找一些假设条件进行测试活动。 分析师喜欢用散点图发现因果关系,即一个变量影响另一个变量的关系。

3.当你描素图形的时候,需要讨论可相互换用的两种因果模型或图解。(因果互换的来考虑问题)

不仅展示出结论,还自己提出可能出现的问题点。

五、假设并非如此(证伪法)

案例:根据已有信息推断手机什么时候上市

满意法:选择看上去最可信的第一个假设的做法

满意法最严重的问题是,当人们在未对其他假设进行透彻分析的情况下选取的某种假设时,往往会坚持这个假设,即使翻面证据堆积如山,也往往视而不见。证伪法则是让人们对各种假设感觉更敏锐,从而防止掉入认知缺陷。

诊断性: 是证据所具有的一种功能,能够帮助你评估所考虑的假设的相对似然,如果证据具有诊断性,能够帮助你对假设排序。

六、穿越第一关(贝叶斯统计)

案例:感染蜥蜴流感,且患病的概率

  • 假阳性
  • 真阴性

条件概率:一事件的发生为前提的另一件事情的发生率。

这里强调的是一种概率模型,后面会单独来聊这个的。

七、信念数字化(主观概率)

案例: 不同人对政策的预测(每个人将可能,有可能,不可能用百分比表示出来)

主观概率: 如果有一个数字形式的概率来表示自己对某事的确认程度。

主观概率是根据规律进行分析的巧妙方法,尤其是在预测孤立事件却缺乏从前在相同条件下发生过的事件的可靠数据的情况下。

用主观概率的方法表明,有些方面的分歧并不像原乡想象的那么严重。主观概率是对分歧内容和分歧大小的一种精确规范,分析师用主观概率帮助自己抓住问题焦点,以图解决问题。

(优秀的数据分析师同时也是优秀的沟通者,主观概率则是一种向别人精确传达你的想法和信念的富有启示性的表达方法)

标准偏差

平均值

故事转折一下,消息传来,主观概率得到的结论错了。。。。

PS:分析肯定没错,它正确地反映了分析师们用有限的数据得出的信念;问题在于分析师们错了–没有理由相信使用主观概率能保证主观概率的正确性

贝叶斯修正主观概率的好办法

八.启发式(凭人类的天性作分析)

案例: 证明垃圾宣传活动是有效的

调查问卷(公众观点)?

对刁钻的问题作出这种反应属极其常见,极其人性的现象。我们都到过在经济上或认知上很费力的刁钻问题, 对于这种棘手的问题,人们天生的反应就是答非所问。

在分析问题时,这种简单化的方法可能会显得极其简单,尤其对于数据分析师来说,但可笑的是,这方法在很多情况下确实有效,而且,正如你即将看到的,有时这是唯一的选择。

每当解决一个最优化问题,就会找到代表目标函数最小值或最大值的一个或多个答案。对于数据分析师来说,最优化可谓理想境界,要是所有的分析问题都能确定无意地获得解答,可谓顺风顺水。然而,大多数思维活动都是启发式的。

启发法:

1.(心理学) 用一种更偏于理解的属性代替一种难解的,令人困惑的属性 2.(计算机科学) 一种解决问题的方法,可能得出正确的答案,但不保证得出最优化的答案。

有一些心里学家甚至论述,人类的一切推理都是启发式的,而最优化是一种理想境界,只有在问题超规范的情况下才能发挥作用。

民众调查 + 环卫工人感受 (计量垃圾量的成本太高)

九、直方图(数字的形状)

案例: 如何合理的提出加薪?

ps:

难道不提加薪,工资涨得就很慢?

十、回归(预测)

案例:预测加薪幅度

可能需要预测的问题:

  • 人们的措施
  • 市场动态
  • 重大事件
  • 实验结果
  • 数据中未体现的资料

不能不问的问题:

  1. 我有足够的数据进行预测吗?
  2. 我的预测准确性如何?
  3. 是定性预测还是定量预测?
  4. 我的客户能顺利利用这个预测吗?
  5. 我的预测有何局限性?

回归线:

发现这个方法的英国科学家高尔顿爵士,当时他正在研究如何通过父亲的身高预测儿子的身高。他的数据显示,从平均情况看,矮个子的父亲会生出比自己高的儿子,而高个子的父亲会生出比自己矮的儿子。他把这种现象称为“向平均数回归”。

    employees  sd(employees$received)
    [1] 2.432138

    > summary(employees$received)
         Min. 1st Qu.  Median    Mean 3rd Qu. 
     -1.800   4.600   5.500   6.028   6.700 
         Max. 
     25.900 

    #分组了解数据
    > hist(employees$received[employees$year==2008],breaks=50)
    > hist(employees$received[employees$gender=='F'],breaks=50)

    employees = read.csv("http://www.headfirstlabs.com/books/hfda/hfda_ch10_employees.csv",header=TRUE) 
    #这个文件需要翻墙才能下下来  employees = read.csv('hfda_ch10_employees.csv',header=T)

    plot(employees$requested[employees$negotiated==TRUE],employees$received[employees$negotiated==TRUE])

    cor(employees$requested[employees$negotiated==TRUE],employees$received[employees$negotiated==TRUE])
    [1] 0.6656481

    > myLm = lm(employees$requested[employees$negotiated==TRUE]~employees$received[employees$negotiated==TRUE],data=employees)

    > myLm$coefficients
    (Intercept) employees$received[employees$negotiated == TRUE] 
    3.0297199                                        0.6110991 

任何软件都无法判断回归线是否有用

R和你所使用的电子数据陈旭能够神速的生成回归方程,但是否能发挥这个回归方程“以一个变量预测另一个变量”的作用取决于你。创建无用,无意义的回归方程并非难事。

十一、误差(合理误差)

案例:加薪线性回归预测不准确?

用回归方程预测数据范围以外的数值称为外插法。

内插法:对数据范围内的点进行预测

如果打算使用外插法,就需要制定附件假设条件,明确表示不考虑数据集意外发生的情况。

机会误差(残差):实际结果与预测结果之间的偏差

> myLmBig = lm(employees$requested[employees$negotiated==TRUE & requested>10]~employees$received[employees$negotiated==TRUE & requested>10],data=employees)
> myLmSmall = lm(employees$requested[employees$negotiated==TRUE & requested<=10]~employees$received[employees$negotiated==TRUE & requested<=10],data=employees) > summary(myLmBig)$coefficients
                                                                                                        ue
(Intercept)               11.94444936 0.52031635 22.956129
employees$received[employees$negotiated == TRUE & requested > 10]  0.08798038 0.04128938  2.130824
                                                                                                                                    |t|)
(Intercept)                                                       2.181909e-53
employees$received[employees$negotiated == TRUE & requested > 10] 3.457618e-02
> summary(myLmSmall)$coefficients
                                                                                                                            lue
(Intercept)                                                        2.9175853  0.1402494 20.80283
employees$received[employees$negotiated == TRUE & requested <= 10] 0.5502578 0.0184014 29.90304 Pr(>|t|)
(Intercept)                                                         1.105096e-77
employees$received[employees$negotiated == TRUE & requested <= 10] 6.588020e-134 #均方根误差 > summary(myLmSmall)$sigma
[1] 1.050259
> summary(myLmBig)$sigma
[1] 2.450365

指出误差并不意味着你的分析师错误的,只能说明你对预测的真是程度无所隐瞒。你的客户越是理解你的预测,越能根据预测做出正确的决策。

十二、关联数据库(你能关联吗?)

案例: 杂志的文章数量和销量联系起来

关联数据库管理系统(RDBMS)是最重要最有效的数据管理方法之一。关联数据库是一个大课题,你对它了解越深,它就越能发挥存储在其中的数据的作用。

PS:这个章节其实就是在铺垫数据库在存储数据上的重要性

十三、整理数据(井然有序)

案例: 求职名单

数据分析有一个不可告人的秘密–作为数据分析师,你花在整理数据上的时间多过数据分析的时间。

excel中常用几个整理数据的命令

find
left
right
trim
len
concatenate
value
substitue

总结:

这是一个数据分析入门的书,没有很详细介绍工具,也没有过多的去涉及算法。当然,无论是工具,还是算法,最后回归都是要解决问题,这也就是数据分析美妙的地方。通过这个入门级的数据,我们可以大致对数据分析有这么一个认知:

  1. 数据分析本质是解决问题,优化已有的模式

  2. 可视化呈现数据,熟练的掌握各种工具(r,excel,sql),还有统计学知识

  3. 对问题的描述要精确

参考资料:

《深入浅出数据分析》

个人公众号,比较懒,很少更新,可以在上面提问题,如果回复不及时,可发邮件给我: tiehan@sina.cn

Sam avatar
About Sam
专注生物信息 专注转化医学