本章将研究变量之间的关系,如果能从一个变量的信息中得到另一个变量的信息,那么这两个变量之间就是相关的。
散点图
研究两个变量之间关系的最简单方法是散点图(scatter plot),但好的散点图的绘制并不简单。
下面绘制BRFSS调查参与者的体重与身高关系的散点图。但这个绘制结果数据都成列聚集,这是因为身高数据四舍五入到相邻的英寸,转换为厘米后,再次四舍五入。在这个转换过程中,丢失了一些信息。
图1 BRFSS调查参与者的体重与身高关系散点图,未抖动(左),抖动(右)
即使经过了抖动处理,散点图也不是展示数据的最佳方法。图中有很多重叠的点,遮盖了密集部分的数据,使离群值显得特别突出。这种效果称为饱和(saturation)。我们可以使用参数alpha解决这个问题,将图中的点显示为半透明的。
图2 经过抖动和透明处理的散点图(左)和hexbin图(右)
对于中等规模的数据集,在散点图设置透明度效果很好。但要处理规模更大的数据集,可以使用hexbin图。hexbin图将图像划分为六角形的区间,将每个区间按照其中数据点的数量进行着色。
hexbin的优点是可以很好地展示变量关系的形状,并且对于大数据集运行效率(时间效率和生成的文件大小)很高。缺点是离群值在图中不可见。
描述关系特征
散点图能让我们对变量关系有个大体了解,其他可视化方法则可以让我们更深入了解变量关系的本质。一种方法是对一个变量进行分区,绘制另一个变量的百分位数。
计算分区的过程如下:
- 去除指定列含有nan值的数据行,对数据进行分区
- 遍历每个分区的数据,计算其身高均值和体重CDF
- 绘制身高对应的体重百分位数
下图展示了绘制结果,在140-200厘米,变量关系几