原文链接:http://www.datastudy.cc/to/37
觉得很有用,但是用不上。
这个肯定是很多人对《统计学》这一门课程的直观感觉,如果这货一点用处都没有,那是不可能的,大学的老师又不傻,没用的课程不会做为基础课程开设。但是你说它有用在哪里,又没有办法举例出来,所以就用不上了。
坦白来讲,我不想开设一门所谓的《傻瓜都能学懂统计学》的类似课程,因为《统计学》是一门高投入,高回报的课程,也就是我们需要对它投入一定的热情和时间去学习,去思考,它才能对你有所回应,并且,非常强烈地回应的一门科学。打个比喻,统计学就像一个高冷的美人,你想获得美人的青睐,就必须绞尽脑汁,有所付出。
在这里,我给大家使用一个案例,一个大家在日常生活中经常看到,但是却可能没有深入去思考的案例,来讲解一下统计学的应用场景,这个场景涉及到的一个理论就是正态分布理论。
下面两个图案你们肯定非常熟悉,对,就是360杀毒软件的开机耗时页面。
![](http://www.datastudy.cc/img/3d870616e0a90bf4f342deb693c0ee30/0.jpg)
大家脑洞大开,想象一下,这个功能软件工程师是怎么设计的呢?
你可能会觉得它是这样子实现的:
1、收集所有用户的开机时间的数据,排好序放在一个数据库中;
2、然后根据你的开机时间,找出你的排名,除以总用户数,就是你击败电脑占比。
是的,这样子设计排名算法是非常合理,但是有以下几个问题:
1、你电脑开机的时候,没有连接网络怎么办呢?那就无法请求到所有的用户的数据了对吧。
2、就算所有的用户的数据,已经下载到你本地,根据不完全统计,360的用户数,估计也超过10亿了吧,上10亿行的数据进行比较统计,放在开机这个地方,恐怕不妥,而且做过软件开发的人都知道,这种同步数据的方式,非常蛋疼。
那么我觉得它是怎么设计的呢?
我会这样子设计,首先,收集尽量多的用户的开机时间,然后,查看时间的分布如何。(开机时间数据链接: http://pan.baidu.com/s/1jGu8ZXk 密码: epah)
data <- read.csv("D:\\data\\20150930\\startTime.csv")
mean(data[, 1])
sd(data[, 1])
hist(
data[, 1], prob=TRUE,