本章将研究变量之间的关系,如果能从一个变量的信息中得到另一个变量的信息,那么这两个变量之间就是相关的。

散点图

研究两个变量之间关系的最简单方法是散点图(scatter plot),但好的散点图的绘制并不简单。

下面绘制BRFSS调查参与者的体重与身高关系的散点图。但这个绘制结果数据都成列聚集,这是因为身高数据四舍五入到相邻的英寸,转换为厘米后,再次四舍五入。在这个转换过程中,丢失了一些信息。


图1 BRFSS调查参与者的体重与身高关系散点图,未抖动(左),抖动(右)

即使经过了抖动处理,散点图也不是展示数据的最佳方法。图中有很多重叠的点,遮盖了密集部分的数据,使离群值显得特别突出。这种效果称为饱和(saturation)。我们可以使用参数alpha解决这个问题,将图中的点显示为半透明的。


图2 经过抖动和透明处理的散点图(左)和hexbin图(右)

对于中等规模的数据集,在散点图设置透明度效果很好。但要处理规模更大的数据集,可以使用hexbin图。hexbin图将图像划分为六角形的区间,将每个区间按照其中数据点的数量进行着色。

hexbin的优点是可以很好地展示变量关系的形状,并且对于大数据集运行效率(时间效率和生成的文件大小)很高。缺点是离群值在图中不可见。

描述关系特征

散点图能让我们对变量关系有个大体了解,其他可视化方法则可以让我们更深入了解变量关系的本质。一种方法是对一个变量进行分区,绘制另一个变量的百分位数。

计算分区的过程如下:

  • 去除指定列含有nan值的数据行,对数据进行分区
  • 遍历每个分区的数据,计算其身高均值和体重CDF
  • 绘制身高对应的体重百分位数

下图展示了绘制结果,在140-200厘米,变量关系几乎是线性的。140-200厘米这个范围涵盖了超过99%的数据。


图3 一组高度分区的体重百分位数

相关性

相关性(correlation)是一个统计量,用于量化两个变量之间关系的强弱。

度量相关性的困难在于需要比较的变量通常使用不同的单位,即使变量使用相同的单位,也可能来自不同的分布。通常有两个常见的解决方法:

  • 将每个值转换为标准分数(standard score),即其偏离均值的标准差数。这种转换会产生“Pearson乘积矩相关系数”。
  • 将每个值都转换为秩,即其在所有值的排列表中的索引。这种转换会产生“Spearman秩相关系数”。

协方差

协方差(covariance)可以度量两个变量共同变化的趋势。如果我们有两个序列X和Y,那么序列中的值与均值的偏差分别为:

协方差是这些乘积的均值:

其中n为这两个序列的长度(两个序列的长度必须相等)。

如果学过线性代数,会发现Cov是两组偏差的点乘积除以其长度。因此,如果两个向量相同,则协方差值最大;如果两个向量正交,则协方差为0;如果两个向量方向相反,则协方差为负数。

Pearson相关性

协方差在一些计算中非常有用,但其含义很难解释,因此很少作为摘要统计量。解决这个问题的方法之一是将偏差除以标准差,得到标准分数,然后计算标准分数的乘积:

其中Sx和Sy​分布是X和Y的标准差。

这些乘积的均值为:

或者,可以通过分解​​Sx和SyS_Y​​改写标准差:

这个公式以统计学家Karl Pearson的名字命名,称为Pearson相关性。Pearson相关性取值介于-1~+1之间(包含端点)。

\rhoρ的大小表明了相关性的强弱程度,如果\rhoρ为1或-1,两个变量完全相关。

非线性关系

Pearson相关性只是度量了线性关系,如果变量之间存在非线性关系,那么\rhoρ对变量相关性强弱的估计就可能是错误的。

下图摘取自Wiki,展示了数据集的散点图和相关系数。


图4 各种相关性的数据集示例

第一行展示了不同线性相关性的数据集,第二行展示了具有不同斜度的完全相关,第三行展示了变量非线性的相关性。

Spearman秩相关

如果变量之间的关系是线性的,而且变量大致符合正态分布,那么Pearson相关性能很好地说明相关性的强弱,但离群值会影响Pearson相关性的稳健性。Spearman秩相关能缓解离群值以及偏斜分布的影响,也可用于描述变量的相关性。要计算Spearman相关性,必须计算每个值的秩,即该值在排序样本中的索引,然后计算这些秩的Pearson相关性。

相关性和因果关系

如果变量A和变量B相关,那么有3种可能:A导致B,B导致A,或其他因素导致A和B。这些解释称为“因果关系”。但相关性并不意味着因果关系。

证明因果关系的方式有:

  • 时间 如果A在B之前发生,那么A可能导致B,而B不可能导致A。
  • 随机性 如果将一个大型样本随机分为两组,计算任意变量的均值,那么两组结果的差别应该很小。

正是这些想法催生了随机对照试验。在随机对照试验中,试验对象被随机分配到两个(或多个)组:试验组和对照组,试验组接受某些干预,对照组不接受干预。

在某些情况下,还可以使用回归分析来推导因果关系,这将在后文介绍。

参考文献:

统计思维. Allen B.Downey. 金迎 译

统计思维(实例5)——变量之间的关系相关推荐

  1. python 卡方分布值_python数据分析探索变量之间的关系

    探索变量之间的关系 引言 深入探索分析数据价值有几个重要步骤:①变量的分布检验,②探索变量间的关系,③建立关系模型,④评估,⑤总结结论与建议.接下来看看数据分析的重要一环–「探索变量间的关系」. 1 ...

  2. R语言ggplot2可视化散点图、可视化两个数值变量之间的关系、使用geom_smooth函数基于loess方法拟合数据点之间的趋势关系曲线、自定义数据点的大小、色彩、添加主标题、副标题、题注信息

    R语言ggplot2可视化散点图.可视化两个数值变量之间的关系(Scatter plot).使用geom_smooth函数基于loess方法拟合数据点之间的趋势关系曲线.自定义数据点的大小.色彩.添加 ...

  3. Python使用matplotlib可视化散点图、可视化两个数值变量之间的关系(Scatter plot)

    Python使用matplotlib可视化散点图.可视化两个数值变量之间的关系(Scatter plot) 目录 Python使用matplotlib可视化散点图.可视化两个数值变量之间的关系(Sca

  4. 一张图说明 函数, 实例(对象), 原型之间的关系

    前言 很多初学者都对函数,实例(对象), 原型之间的关系理不清楚. 网上五花八门的文章很多,要么不知所云,要么是晦涩难懂. 本文意在用最简洁的语言跟示例让初学者理清楚这三者之间的关系,无需理会其内部原 ...

  5. 浅谈javascript中原型(prototype)、构造函数、对象实例及三者之间的关系

    转自:http://www.cnblogs.com/zhangwei412827/archive/2012/12/14/2816263.html 浅谈javascript中原型(prototype). ...

  6. 构造函数,对象原型,实例对象三者之间的关系

    撸了今年阿里.头条和美团的面试,我有一个重要发现.......>>> 1.构造函数,原型对象,实例对象三者之间的关系 每创建一个函数,该函数都会自动带有一个prototype属性.该 ...

  7. correl函数相关系数大小意义_相关系数越大,说明两个变量之间的关系就越强吗...

    展开全部 相关系数越大,说明两个变量之间的关系就越强.当相关系数为1时,两个变量其e68a84e8a2ad3231313335323631343130323136353331333431353431实 ...

  8. R语言使用glm构建logistic回归模型,构建多个协变量和分组变量之间的关系模型进行倾向性评分计算、估计(Propensity score)、预测倾向性评分并可视化不同分组倾向性评分的分布

    R语言使用glm构建logistic回归模型,构建多个协变量和分组变量之间的关系模型进行倾向性评分计算.估计(Propensity score).预测倾向性评分并可视化不同分组倾向性评分的分布 目录

  9. R语言使用glm构建logistic回归模型,构建多个协变量和分组变量之间的关系模型进行倾向性评分计算、使用predict函数预测倾向性评分并将结果整合到dataframe中

    R语言使用glm构建logistic回归模型,构建多个协变量和分组变量之间的关系模型进行倾向性评分计算.估计(Propensity score).使用predict函数预测倾向性评分并将结果整合到da ...

  10. 数据分析的统计方法选择小结(变量之间的关联性分析)

    数据分析的统计方法选择小结(变量之间的关联性分析) 一.两个变量之间的关联性分析 1.两个变量均为连续型变量 1)小样本并且两个变量服从双正态分布,则用Pearson相关系数做统计分析 2)大样本或两 ...

最新文章

  1. Linux(CentOS)目录操作命令、文件操作命令、压缩解压缩命令
  2. 人体姿态跟踪--Pose Flow: Efficient Online Pose Tracking
  3. MySQL-通过MaxScale实现读写分离初探
  4. 国内唯一,阿里云挺进 Forrester 数据流分析报告“强劲表现者”象限
  5. 啥?这就是一个高级报表/BI数据分析工程师的一天?
  6. Java学习资源、视频教程汇总
  7. 无线充qi协议c语言详解,QI无线充通信协议数据包格式解析
  8. Flex应用性能优化
  9. ggtree/FigTree可视化系统发育树及bootstrap值
  10. 计算机病毒课后讨论题,《防治计算机病毒》答辩题目及解析
  11. 计算机可移动磁盘无法显示图片,移动硬盘不显示盘符原因及解决方法步骤介绍【图文详解】...
  12. 深度学习与计算机视觉教程(17) | 深度强化学习 (马尔可夫决策过程,Q-Learning,DQN)(CV通关指南·完结)
  13. push notifications step1 打不开
  14. android如何设置自适应大小的背景图片,如何调整背景图片大小以适应Android中的应用程序屏幕大小...
  15. Thymeleaf th:each遍历,th:if、th:switch 条件判断,input,select,radio 回显赋值
  16. MeteoInfoLab脚本示例:站点填图
  17. Linux服务器安装的anaconda下载库、包很慢
  18. Win32 ListBox控件
  19. BetaFlight深入传感设计之三:IMU传感模块
  20. 集合框架--集合框架体系概述

热门文章

  1. 什么是AOP(面向切片编程)
  2. SpringBoot 整合 ElasticSearch 实现京东搜索(手把手带你完成一个 “前后端分离项目”)
  3. Windows搭建基于EClipse的CppUTest单元测试环境
  4. 我的电脑数据执行保护设置不了须是计算机管理员,比使用boot.ini文件。我该怎么办?
  5. 阿齐索-对接淘宝第三方平台
  6. SpringCloud版本Hoxton SR5 --- 第二讲:eureka 、eureka与zookeeper的区别与使用场景。
  7. 【计算机】数据结构-严蔚敏/清华大学P1
  8. 基于微信小程序的图书馆管理系统设计与实现(论文+程序设计源码+数据库文件)
  9. Redhat8认证考试(第三题)
  10. MFC无边框窗体设置窗口圆角,并且绘制边框