可以学到分析现实问题的系统性方法。从卖咖啡到开橡皮玩具厂,再到要求老板涨工资,此书告诉我们如何发现和解密数据在日常生活中的强大作用。从图形图表到Excel和R计算程序,《深入浅出数据分析》想尽办法让各个层次的读者都体会到系统化的数据分析对于制定大大小小的决策的强大作用

一、数据分析引言
背景:作为一名职场新人,接受首席执行官提高Acme公司貌洁超强保湿霜的销量的任务
数据:Acme六个月实际销售与目标销售情况和产品单价以及广告费与社会网络费的投放情况
第一步,确定(了解信息)【提高销售量至目标定额,消费群体是少女且潜力可观,竞争对手很强大】
第二部,分解(更小、更好管理的组块)【客户的需求是什么?广告投放比例?】
第三步,评估(作出自己的明确假设,以自己的信用为自己的结论打赌)【数据的分析解说】
第四步,决策(得到客户理解、鼓励客户以数据为基础)【Acme化妆品公司的分析报告-针对少女消费者做广告促销】
外界消息:貌洁超强保湿霜在少女消费群体市场完全饱和
分析差池:来自首席执行官的信息有误,影响心智模型(你对外界的假设和你确信的观点)

心智模型决定你的观察结果,是你观察现实的棱镜(你无法看到一切,因此大脑必须做出选择,以便集中注意力)
统计模型取决于你的心智模型,如果用错了心智模型,分析就会胎死腹中
心智模型应当包括你不了解的因素(盲点)【客户不了解出库后的消费情况,不了解广告的效果,不了解除了少女的潜在消费者】

第一步,确定(了解信息)【原始数据,各个出库经销商信息,发现有一家泛美批发公司】
第二部,分解(更小、更好管理的组块)【搜集更多貌洁保湿霜客户数据】
第三步,评估(作出自己的明确假设,以自己的信用为自己的结论打赌)【发现老年男子是潜在消费群体】
第四步,决策(得到客户理解、鼓励客户以数据为基础)【Acme化妆品公司的分析报告-扩大老年男子市场-创建“须洁”品牌】

二、实验
背景:星巴仕咖啡寒冬,销售量下降
数据:客户多维度评分调查表
比较法:发现咖啡价值下降很快,可能是引起销量下降的原因
因果关系:反向思考销售量下降导致价值感下降
观察分析法混杂因素:店址不同导致研究对象的个人差异
拆分数据块管理混杂因素:SOHO分店、东岸分店、西岸分店
实验验证策略:降价、游说客户价值观;实验组和控制组的比较
精心选择分组,避免混杂因素:历史实验法不可取。大区域范围微区域随机选择相似组
随机控制实验:发现价值游说组的销量比降价实验组高,也比控制对照组的高。检验你的理论

三、寻找最大值
背景:浴盆宝公司生产橡皮鸭和橡皮鱼,想提高利润,找出理想的产品组合
所需数据:无法控制因素(产品的利润、时间、原材料总量);控制因素-决策变量(产品的数量)
任何最优化问题都有一些约束条件和一个目标函数
合理的选择都出现在可行区域里(Microsoft Excel Solver求解器)

模型只是描述了你规定的情况(一切模型都是错误的,但其中一些是有用的)
按照分析目标校正假设->实际情况的假设优化模型(Solver求解器并未表明产品实际购买情况需求)
根据产品的历史销售数据发现逐月变化的规律(预估其产品的销量,并作为约束条件加入Solver)
新方案的最大利润没有第一次那么大,但没有滞销
你的假设立足于不断变化的实际情况,反复不断地进行构建是分析师的工作

四、数据图形化
背景:新军队需要优化网站,挑出最优秀的风格页,让销量最大化,成为网站的回头客
数据:关心数据的质量及其含义,讨厌炫目的设计,会妨碍作出分析的判断
庞杂的数据:记住目标,目光停留在和目标有关的数据上,无视其他
数据图形化的根本在于正确比较,使用散点图探索原因,同时展示多张图形,体现更多变量
当你描述你的数据图形时,需要论述可相互换用的两种因果模型或图解
继续使用主页3,对用户体验进行细化测试,细化内容包括各种导航方式、风格、内容,对主页3与众不同的表现可以有各种各样的解释
对此进行调查形成图表

五、假设检验
背景:手机“皮肤”制造商想弄清楚手机巨头PodPhone下个月是否会出新手机,商机
根据已知的全部信息进行电肤分析,数据信息是否与假设存在矛盾
电肤得到机密的《战略备忘录》,变量之间可以正相关也可以负相关
现实世界中的各种原因呈网络关系,而非线性关系
假设几个PodPhone备选方案,用手头资料进行假设验证,核心是证伪法
满意法:选出看上去最可信的第一个假设的做法,当人们在未对其他假设进行透彻分析的情况选取某种假设时,往往会坚持这个假设,即使反面证据堆积如山,也往往视而不见。
证伪法:让人们对各种假设感觉更加敏锐
无法剔除的剩下假设,借助证据找出最强的假设:通过观察诊断性对证据和假设进行比较
诊断性:证据所具有的一种功能,能够帮助你评估所考虑的假设的相对似然,如果证据具有诊断性,就能帮助你对假设排序
在证据表种加入新证据:确定新证据的诊断强度

六、贝叶斯统计
背景:医生给了一份蜥蜴流感诊断书,诊断结果成阳性,根据这个信息,判断自己患蜥蜴流感的概率有多大?
数据:蜥蜴流感诊断试验:若某人已患蜥蜴流感,试验结果为阳性的概率90%;若某人未患蜥蜴流感,结果为阳性9%
想象有两个不同的空间:一个空间有大量的人患蜥蜴流感、另一个空间几乎没有人患蜥蜴流感
对于未患病但试验结果未阳性这种情况:蜥蜴流感在总人数中占的分量有显著差别
假阳性:未患病但检验结果为阳性
真阴性:患有疾病但检验结果为阴性
条件概率:以一件事的发生为前提的另外一件事的发生概率
基础概率:又称作事前概率
你能用基础概率和条件概率估计新的条件概率


第二次高级蜥蜴流感试验结果为阴性,结合新的基础概率(患流感的概率9%),重新加入贝叶斯计算,得到最终的的条件概率

避免基本概率谬误的唯一办法就是对基础概率提高警惕,而且务必要将基础概率整合到分析中

七、主观概率
背景:背水投资公司的数据分析师针对地缘政治趋势分歧严重,帮助了解分歧内容,分歧的主要问题
数据:分析师针对不同的事件给出不同层度概率性的主观判断
主观概率:用一个数字形式的概率来表示自己对某事的确认程度
方法:电子表格框架,需要各位分析师提供的主观概率,并且将数据转换成图形,表明分歧其实并没有想象中那么大
标准偏差:标准偏差量度是典型数据分析点与数据平均值的差距STDEV()
新信息的引入:引发对主观概率可信度的思考,利用贝叶斯规则,将第一次的概率作为基础概率进行修正
新旧看法对比,还是很相似,所以支持原主观想法不变

八、启发法
背景:邋遢集向市会议提交报告:有关劝说人们不要乱扔垃圾
数据:如何证明散乱垃圾的减小量数据
公众问卷调查表明人们的行为习惯意识上有改善,但无法证明减少散乱垃圾量,计量垃圾量不可行
数据邦散乱的垃圾结构,无法建立和运用统一的散乱垃圾计量模型
启发法:1.心理学定义,用一种更便于理解的属性代替一种难解的,令人困惑的属性
2.计算机科学定义一种解决问题的方法,可能会得到正确的答案,但不保证得出最优化的答案


启发法+手头数据+环卫工人问卷结果,可以证明邋遢集的活动效果
所有数据都是观察数据,我们无法证明公众乱扔垃圾意识的改善以及环卫工人相信已经发生的散乱垃圾的减少是邋遢集的工作成果,但我们确有理由相信,是邋遢集的活动造成了这些结果

九、数字的形状
背景:历年加薪记录,汇总数据,直方图体现每组数据的发生频数,安装并运行R
图表:hist直方图有两个峰,通过子集图表呈现表明加薪谈判有回报
R语言的安装使用(www.r-project.org)
官方数据源失效,可参考github数据源
下载文件:点击download或者是点击raw另存为文件

getwd() #查看R的当前路径
employees <- read.csv("hfda_ch09_employees.csv",header=TRUE) #读取当前路径下的CSV文件
> hist(employees$received,breaks=50) #画直方图
> sd(employees$received) #求标准差
[1] 2.432138
> summary(employees$received) #求数据情况Min. 1st Qu.  Median    Mean 3rd Qu.    Max. -1.800   4.600   5.500   6.028   6.700  25.900

十、预测
背景:以获取大幅度加薪为目的进行分析,散点图数据点,比较两种变量,回归预测出人们实际加薪幅度

> 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(received[negotiated==TRUE]~requested[negotiated ==TRUE],data=employees)
> myLm$coefficients(Intercept) requested[negotiated == TRUE] 2.3121277                     0.7250664


加薪计算器的算法正是回归方程,你的加薪计算器没有按照计划行事

十一、合理误差
背景:线性回归算法工具误差比较大,客户大为恼火
外插法:用回归方程预测数据范围以外的数值
机会误差:实际结构与预测结果之间的偏差,又叫做残差
定量指出误差,统计值相对于回归线的平均偏移量,用均方根误差定量表示残差分布
标准偏差描述的是平均值周围的分布情况;均方根误差描述的是回归线周围的分布情况

> employees <-read.csv("hfda_ch10_employees.csv",header=TRUE)
> myLm <- lm(received[negotiated==TRUE]~requested[negotiated==TRUE],data=employees)
> summary(myLm)


2.3 截距、0.7 斜率、 2.3 均方根误差
分割的根本目的是管理误差,以加薪要求10为分割,分区模型能更好地去处理误差
Intercept 截距 coefficients系数 sigma均方根误差

> 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)$coefficientsEstimate Std. Error  t value     Pr(>|t|)
(Intercept)                                    7.813403  1.8760371 4.164845 4.997597e-05
requested[negotiated == TRUE & requested > 10] 0.302609  0.1420151 2.130824 3.457618e-02
> summary(myLmBig)$sigma
[1] 4.544424
> summary(myLmSmall)$coefficientsEstimate Std. Error   t value      Pr(>|t|)
(Intercept)                                     0.7933468 0.22472009  3.530378  4.378156e-04
requested[negotiated == TRUE & requested <= 10] 0.9424946 0.03151835 29.903041 6.588020e-134
> summary(myLmSmall)$sigma
[1] 1.374526



十二、关系数据库
背景:关系数据库管理系统让多变量数据的存储和检索变得极其简单
数据:《数据邦新闻》希望分析销量,了解数据表之间的相互关系
通过汇总将文章数目和销量关联起来

> dispatch <- read.csv("dispatch analysis.csv",header=TRUE)
> plot(Sales~jitter(Article.count),data=dispatch)
# jitter指令在数字中添加了一些噪音,使数据相互分隔,以便易于在散点图上识别



SQL 是Structured Query Language的缩写,即结构化查询语言

> articleHitsComments <- read.csv("hfda_ch12_articleHitsComments.csv",header=TRUE)
> library(lattice) # 加载lattice数据包
> xyplot(webHits~commentCount|authorName,data=articleHitsComments)
# |符号告诉xyplot函数按照作者名称给散点图分组

十三、整理数据
背景:只要眼前清楚浮现数据外观,再用上一些文本处理工具,就能抽丝剥茧地整理数据
你花在数据整理上的时间多过数据分析上的时间,保存备份原始数据,一旦组织好数据就能修复数据
Excel通过分隔符将数据分成多个列,函数(FIND,LEFT,RIGHT,TRIM,LEN,CONCATENATE,VALUE,SUBSTITUTE)
R能用正则表达式处理复杂的数据模式

> hfhh <- read.csv("hfda_ch13_data_for_R.csv",header=TRUE)
> head(hfhh)

NewLastName <- sub("\\(.*\\)","",hfhh$LastName)

> hfhh$LastName <- NULL
> hfhh["LastName"] <- NewLastName
> write.csv(hfhh,file="hfhh.csv")

为数据排序,让重复数值集中出现

> hfhhSorted <- hfhh[order(hfhh$PersonID),]
> head(hfhhSorted,n=50)


删除重复名字

> hfhhNamesOnly <- hfhhSorted
> hfhhNamesOnly$CallID <- NULL
> hfhhNamesOnly$Time <- NULL
> hfhhNamesOnly <- unique(hfhhNamesOnly)
> head(hfhhNamesOnly,n=50)
> write.csv(hfhhNamesOnly,file="hfhhNamesOnly.csv")


创建了美观、整洁、具有唯一性的记录

附录:正文未及的十大要诀

  1. 统计知识大全
  2. Excel技巧
  3. 爱德华塔夫特的图形原则
  4. 数据透视表
  5. R社区
  6. 非线性与多元回归
  7. 原假设-备选假设检验
  8. 随机性
  9. Google Docs实时在线数据资源
  10. 你的专业技能

不管还有没有力量,多少都要撞一撞南墙

《深入浅出数据分析》小结相关推荐

  1. 《认知设计》-提升学习体验的艺术

    最近看完了<认知设计-提升学习体验的艺术>这本书,不得不说里面有很多关于设计学习体验的知识.同时也了解到自己也有很多在学习上面的误区.值得推荐给大家看一看.先上思维导图 这本书的封面: 首 ...

  2. 《认知设计:提升学习体验的艺术》——小结

    小结 成功的学习体验并不仅仅是使学习者学习到更多的知识,更应让他们能够运用这些知识做更多的事情. 有些时候,学习者的主要差距在于知识层面,但更多时候知识和信息是次要问题,主要问题是应培养学习者的技能. ...

  3. 《认知设计:提升学习体验的艺术》——学习者喜欢什么

    学习者喜欢什么 除了知道学习者想要什么外,你也需要了解他们喜欢什么.我的游戏设计师朋友同样提倡(主张)发现你的学习者的偏好(不同于爱好): --你能发现,如果我们专注于开发用户需要和喜爱的软件,本质上 ...

  4. 《认知设计:提升学习体验的艺术》——差距在哪里

    差距在哪里 差距是你的学习者当前的起点和他们希望达到的终点之间的距离.其中一部分可能是知识上的差距,但从我们之前的讨论可以看出,其实还有其他类型的差距. 如果你能够认识这些差距,那么你就能够设计出更好 ...

  5. Web用户体验设计提升实践

    本文首发于微信公众号"Shopee技术团队". 前言 本文是基于 Shopee 供应链团队内部 WMS(Warehouse Management System,仓库管理系统) 项目 ...

  6. Web 用户体验设计提升指南

    转载自:https://juejin.cn/post/6932647134944886797 前端优秀实践不完全指南 一个 Web 页面,一个 APP,想让别人用的爽,也就是所谓的良好的用户体验,我觉 ...

  7. 简单的文本设计就能影响游戏体验?游戏中提升玩家体验的小设计

    除去少部分以"折磨"玩家为己任的"受苦"游戏,电子游戏其本质上还是为了给予使用者美好的体验. 除去游戏的画面.手感.音乐等等一些会直接影响玩家体验的重要要素, ...

  8. 协众信息UI设计怎么提升用户体验呢

      随着软件行业的发展兴起的一个新的设计行业.UI设计除了对美观有要求外,还对用户体验有要求,这也是UI设计不同于其他设计的地方.那么,UI设计怎么提升用户体验呢?     1.层次结构     要确 ...

  9. 产品设计如何提升客户体验?

    在现如今多元化的市场发展,产品设计和制造不局限于制造企业,因而相近产品的选用愈来愈多.各行各业都在思索如何提高产品与顾客中间的黏性.由于产品设计公司归属于设计领域,因此在做产品设计前一定要进行市场调查 ...

  10. 4个方法教你增强你的UI设计,提升用户体验!

    在追求用户体验至上的时代,设计的简单直白显得尤为重要,而极简也成为现代很多年轻人所追崇的.为了迎合用户的的需求和喜好,UI设计师自然也需要向这一方向努力,那么怎么才能增强设计的极简化特征,提升用户体验 ...

最新文章

  1. JavaScript正则表达式(2)
  2. html5 实现手机摇一摇功能(C)
  3. 2.odoo13之跟着官网做项目/实例(创建菜单,创建action,创建视图、搜索过滤器,分组)
  4. 打造vim的python编辑器
  5. html 形状div,div+css实现各种形状(精心整理)
  6. helm3安装mysql_Helm3(kubernetes包管理工具)安装使用踩坑指南
  7. BZOJ1895Pku3580 supermemo——非旋转treap
  8. away3d 4.0.9Gold 学习笔记 加载方法总结(4)
  9. 滴滴回应司机冲撞路人:将积极配合警方调查
  10. 如何在 Spring 中自定义 scope
  11. 编译SONiC交换机镜像(转,参考2)
  12. 2d开源游戏引擎_前5名:构建出色的CLI,开源2D游戏引擎等
  13. 帝国CMS浅浅滴谈一下——博客园老牛大讲堂
  14. 基于avr atmega16单片机定时器的 pwm调宽调占空比以及调频率
  15. PDF不小心删掉了怎么恢复?4个方法隔壁家老王已经恢复了
  16. logo怎么设计才好看?好看的logo设计方法大公开。
  17. rfc3550-rtp:一种实时应用的传输协议
  18. 运动世界校园显示服务器开小差,你的跑步成绩无效,是否申请成绩异常?
  19. 爬了世纪佳缘后发现了一个秘密,世纪佳缘找对象靠谱吗?
  20. 【Python】Pandas Excel file format cannot be determined, you must specify an engine manually.报错【已解决】

热门文章

  1. Kubernetes K8S之Pod跨namespace名称空间访问Service服务
  2. 为什么宇宙会将最大速度限制在光速
  3. 华为交换机基本配置之Telnet和SSH方式远程登录
  4. 就在刚刚,陆奇博士演讲《正视挑战把握创业创新机会》
  5. 管理计算机找不到应用程序,电脑联网时显示找不到应用程序怎么办
  6. 27岁只会“功能测试“(点点点),面临公司的“淘汰”?沉淀一年我能继续做测试
  7. 硬盘插到群晖上使用之后再插回Windows就不识别了,记录一次解决过程
  8. 爬虫第四课:猫眼电影
  9. Rust Trait简介
  10. 『每日AI』王劲离职景驰科技丨无人驾驶领域的领跑者还是叛逃者?