人:你做什么的?
我:统计。
人:哦,你们这工作季节性很强吧,报税的时候很忙吧。
我:那是会计。
换个说法。
人:你做什么的?
我:数据科学。
人:哇,你们这块现在很热啊,学点什么能转呢?
我:统计。
统计和数据科学,这其实就是一回事啊。就像data analyst现在都叫data scientist, 可能数据大了点,SAS改成python了,teradata改成hadoop了,归根结底干的事情没变化啊。
现在做数据科学的同学,大家各有各的优势,有的人编程强,有的人建模强,有的可视化作图强,有的专攻数据库。
不过我觉得工作中不能过分侧重编程,而忘记了数据分析的本质。数据分析还是要了解数据,观察数据,在基本的统计理论之上,选择恰当的分析方法。
比如说做supervised模型前,有没有观察一下Y的分布,要不要transform一下Y。比如说Y是时间或者钱,全正值,那Y就需要log transform才能符合正态分布。
大家都很赶时间的,各种pipeline都准备好了,扔进去各种模型比较一下,machine learning, deep learning选个最好的。可是这样做出来的结果是沙上城堡, 甚至是错误的啊。
有一次我做工作报告,有个最基本的hypothesis test, 我把数据做了transform再test, 有人问问题,只有建模才需要transform data, 你这又不是建模为什么要transform data?
hypothesis test是基于假设数据符合某个分布再来test的,建模也是一样的道理,当然都需要transform啊。
做clustering模型,k-means clustering, 这简直是一切问题的终极救星。 不需要labeled data, 没有任何数据类型要求,多快好省,什么都可以放进去clustering一下,再垃圾的数据也能给出一个结果,最后画个花花绿绿的聚类图,蒙人交差最好使了。
可是k-means真的没有任何assumption吗?最基本的,k-means需要所有X都standardize了。否则,scale不一样,X1从0到100, X2从0到1,最后基本上就是在根据scale大的来minimize distance聚类了!
而且k-means的目标就是把数据尽可能分成等分的clusters, 尽量各个cluster有相等量的数据,所以有的时候用k-means来找outliers并不是总合适。
最后列一点最基本的统计python check,祝2018幸福多多:
min(X), max(X), median(X), mean(X), mode(X),
Standard Deviation: numpy.std(X),
Variance: numpy.var(X)
25 Quantiles: numpy.percentile(X, 25).
Histogram:
import matplotlib.pyplot as plt
plt.hist(X)
Correlation: X.corr(Y)
领取专属 10元无门槛券
私享最新 技术干货