数据相关性分析
在做数据分析之前,先做一件事情,那就是将数据分类。
从数学公式角度来看,数据可分为两类,自变量和因变量。y=x+1 这个一次函数中,x是自变量,y是因变量,也就是说y随着x的取值变化而变化的。那么我们在做预测模型的时候,预测的y就是因变量,用来计算预测结果的数据x就是自变量。
- 举个例子,性别、年龄、血压、患病,这四项数据中,患病就是因变量,也是我们要预测的结果,性别、年龄、血压就是自变量,利用这三项数据的变化预测是否患病。
另外从数据的本身内容来看,还可以分为定类、定序、定距、定比四种类型(可能也有别的叫法)。这四种再归类可分为定类、定量两种类型。
- 定类数据是离散型的,例如性别、颜色、学历、种类等等。
- 定量数据是连续型的,例如年龄、身高、温度、价格等等。
那么在做数据相关性分析的时候就要根据这些分类来决定使用哪种分析方法,见表格:
关系 | 自变量 | 因变量 | 方法 |
---|---|---|---|
差异 | 定类 | 定类 | 卡方 |
差异 | 定类(2类) | 定量 | T检验 |
差异 | 定类(3类以上) | 定量 | 方差 |
影响 | 定量 | 定类(2类) | 二元逻辑回归 |
影响 | 定量 | 定类(3类以上) | 多分类逻辑回归 |
相关 | 定量 | 定量 | 线性回归 Pearson相关系数 Spearman相关系数 Kendall相关系数 |
以上表格内容是从网上总结大家的经验,汇聚而成的,但是我自己在使用的时候,有一点保留意见,那就是方差的使用,按照表格里的情况是在自变量定类,因变量定量时使用方差。在自变量定量,因变量定类时使用逻辑回归,对于这个我没有太明白。我在使用的时候仍然用方差,没有使用逻辑回归。也就是说不管谁是定类谁是定量,只要是定类遇到了定量,我就用方差检验。
另外,可以使用图表展示两个变量之间的关系,用散点图、折线图都可以很好的展示数据之间的相关性,而且也能一目了然的看出。
正态分布
满足正态分布的数据,用方差检验才有意义,所以对于数据是否是正态分布的应该先做检查。
最简单的方法就是图形法,使用sql将数据库的数据分组求和,然后用图表展现柱状图,就能看出是否呈现钟形形状,可以用形状来判定数据是否是正态分布。
有时候会遇到一种特殊情况,因为原始数据的粒度太细,导致分组求和后基本上还是每条数据一组,每组的计数都是1,柱状图看不出钟形,都是一样高的柱,这种情况通过数据清洗,调整一下数据的细粒度,变粗一点的粒度就能有好的效果。例如原始数据是小数点后8位的,这样基本上每条数据都不容,那么我们减小小数位数,四舍五入变为小数点后6位,后4位,后2位。。。
按照正态分布理论,68%的数据在一个标准差内,95%的数据在两个标准差内,99%的数据在3个标准差内。如果原始数据满足这个规律,那么基本上就可以忽略特异数据带来的影响了。