登录
首页精彩阅读数据分析的好习惯
数据分析的好习惯
2016-10-29
收藏

数据分析的好习惯

良好的数据习惯,助力数据分析,也让我们养成一个系统的数据分析思维。文章按数据分析的步骤进行讲解数据分析需要养成的良好习惯。文章第一点告诉我们,数据拿到手不忙着直接分析,先对数据的基本特征,以及数据分布有一定了解,后期的建模才有的放矢;文章第二点指出,没有经过验证的数据分析不是完整的分析,模型验证也是分析的一大步骤;文章最后指出,学会讲解你数据分析的结果,不然做得再好,难以被人知晓。详情,请大家自行阅读咯。

1. 分析数据前,一定要尽可能多的进行数据可视化!可视化!可视化!做exploratory data analysis

我上过的几乎所有的应用性的统计课程上的老师都会强调这一点。这个习惯对于数据科学家、统计学家来说估计是最最实用的。

在实际的数据分析过程中,数据可视化可以揭示很多insights:从选择什么样的模型,选择哪些feature建模,到如何分析结果,解释结果等等。

给一个很著名的例子, Anscombe's quartet (安斯库姆四重奏):这个例子包含四组数据。每组数据有11个(x, y)数据样本点。

四组数据样本里x的均值方差全相等,y的均值方差基本相等,x与y的相关系数也很接近。

导致的结果是,四组数据线性回归的结果基本一样。但是,这四组数据本身差别很大。如下图。

如果不做可视化,简单跑一个线性回归,我们只能得到同样的回归线。

数据可视化后,很直观的,左上图是传统的线性回归;右上图需要high-order nonlinear term;左下图x和y是线性关系,但是有outlier;右下图x和y没有线性关系,也有outlier, etc.

每一个数据科学家都应该熟悉各种图的画法,更重要的是,不同的图如何反映不同的信息以及面对不同的数据类型时,应该选择哪种图才能最好的揭示数据里蕴含的信息。

为此,强烈推荐关于R里ggplot包的教程:ggplot2 - Elegant Graphics for Data Analysis

当然另一方面,如果数据量太大维度太高,数据可视化做起来就比较困难。这时候就需要一些经验技巧了。

2. 跑完程序得到模型结果时,一定提醒自己:任务只完成50%,分析,验证,解释结果才是根本

很多时候,我们以为写完code跑完程序就完事了。能做到这一步只能算是一个合格的data analyst。这离数据科学家,统计学家还差远了。

分析,验证,解释结果才是根本! 这个过程更需要data sense, domain knowledge, and statistical expertise.

在拿到结果的时候,一定要多问自己为什么。

模型assumptions是否满足?结果是否make sense?能否解答research question?

特别当结果不符合expectation时,要么有新发现,要么有错误!如果有错,错在哪里?

如果模型假设不成立,如何修正?是否有outliers,如何处理?

或有missing values,missing的机制是啥样的(missing at random, completely at random, or NOT at random)?

是否有multicollinearity?

数据收集是否有bias (如selection bias)?

建模是否忽略了confounding factors (Simpson's paradox)?

3. 养成story-telling的习惯

把分析结果跟你的boss或者collaborator讲!务必让他们明白!这个太需要技巧了, 特别是当你的collaborator是layperson的时候。

不会说只能等着被虐,哪怕analysis做的再好!

数据分析咨询请扫描二维码

客服在线
立即咨询