技术学习|CDA level I 描述性统计分析(相关分析)

2024-01-05 00:12

本文主要是介绍技术学习|CDA level I 描述性统计分析(相关分析),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

常用于分析变量之间的关系的方法——相关分析。变量之间关系的分析师数据分析非常核心的工作,变量之间关系的研究包括关系存在性研究、关系程度大小研究、关系方向的研究、关系形式的研究、关系传递的研究等。其中关系形式的研究最为复杂,统计中有大量的分析方法都是来探索变量之间关系形式的。研究变量关系形式的前提是变量间存在一定程度的相关关系。

一、相关分析的含义

变量之间的关系按照强弱来划分,常可以分为函数关系、相关关系、没有关系。函数关系是指变量之间存在关系、且关系是确定的,即给出一个X,有且只有一个Y与其相对应,则称Y是X的函数。相关关系是指变量间有关系,但关系不确定。没有关系也称独立,指两个变量之间不存在一个变量影响另一个变量的情形,其常用于刻画没有关联的事物之间的关系。在数据分析的实际工作中,相关关系是最常见的,也是数据分析的重点。

从极限的角度看,函数关系可以看作是相关关系的极限,是强相关关系的极限;没有关系也可以看作是相关关系的极限,是弱相关关系的极限。

变量之间的关系按照形式来划分,可以分为线性关系和非线性关系。线性关系是指变量之间的变化按照直线波动,非线性关系则按照非线性波动,非线性的具体形式非常复杂,如二次函数形式、对数形式、指数形式、正弦函数形式等。在实际数据分析中,常重点研究存在线性关系的变量,主要是因为线性关系相比较于非线性关系相对直观一些,易于理解。

变量之间的关系按照变量数量来划分,可以分为简单关系和多重关系。简单关系是指两个变量的关系,即一对一关系;多重关系是指多个变量之间的关系,具体可以分为一对多关系、多对多关系。在实际数据分析中,简单关系和多重关系都是研究的重点。

广义的相对分析是对两个或多个变量之间所有可能相关关系的分析(包括简单线性的、简单非线性的、多重线性的、多重非线性的)。而这里的相关分析是指狭义相关分析,是指用来研究变量之间简单线性相关关系的方法,即研究两个变量的关系,这两个变量之间存在不确定性的关系,这种关系常用直线表示,故这种相关分析也常称简单线性相关分析。

二、简单线性相关关系的描述

对相关关系的描述主要用来解决有没有相关关系的问题,在实际数据分析中,常用散点图来描述变量的相关关系。两个变量的散点图取一个变量作横轴(常用自变量),另一个变量作纵轴(常用因变量),将样本的各个体在图上描点,得到的图就是散点图。

对于两个变量的线性相关关系,常呈现两种情形:一种是随着自变量的增大,因变量有增大的趋势,两者同向变化,我们称之为正相关;另一种是随着自变量的增大,因变量有减少的趋势,两者反向变化,我们称之为负相关。由散点图可以很直观形象地看出变量之间的关系情况,但关系程度到底是多少,则需要进一步对相关关系进行度量。

三、简单线性相关关系的度量

1、Pearson相关系数

设两个变量分别为x,y,Pearson相关系数的定义公式如下,
ρ = C o v ( x , y ) V a r ( x ) V a r ( y ) \rho=\frac{Cov(x,y)}{\sqrt{Var(x)Var(y)}} ρ=Var(x)Var(y) Cov(x,y)
式中,Cov(x,y)是x,y的协方差;Var(x)是x的方差;Var(y)是y的方差;ρ可以看作根据总体数据计算的相关系数,即总体的简单线性相关系数。

样本的简单线性相关系数常用符号r表示,根据定义公式有:
r = C o v ( x , y ) V a r ( x ) V a r ( y ) = ∑ ( x i − x ˉ ) ( y i − y ˉ ) ∑ ( x i − x ˉ ) 2 ∑ ( y i − y ˉ ) 2 = ∑ x i y i − n x ˉ y ˉ ( ∑ x i 2 − n x ˉ 2 ) ( ∑ y i 2 − n y ˉ 2 ) r=\frac{Cov(x,y)}{\sqrt{Var(x)Var(y)}}=\frac{\sum(x_i-\bar x)(y_i-\bar y)}{\sqrt{\sum(x_i-\bar x)^2\sum(y_i-\bar y)^2}}=\frac{\sum x_iy_i-n\bar x \bar y}{\sqrt{(\sum x_i^2-n\bar x^2)(\sum y_i^2-n \bar y^2)}} r=Var(x)Var(y) Cov(x,y)=(xixˉ)2(yiyˉ)2 (xixˉ)(yiyˉ)=(xi2nxˉ2)(yi2nyˉ2) xiyinxˉyˉ
式中, x ˉ \bar x xˉ为x的样本算术平均数; y ˉ \bar y yˉ为y的样本算数平均数。

相关系数r的特点如下:

  • 相关系数r的取值范围是[-1,1],其中 − 1 ≤ r < 0 -1\leq r<0 1r<0表示负相关, 0 ≤ r < 1 0\leq r<1 0r<1表示正相关。
  • |r|=1表示x与y完全相关,其中r=-1表示x与y完全负相关,r=1表示x与y完全正相关。
  • |r|越趋于1表示相关关系越密切,|r|越趋于0表示相关关系越不密切。
  • r=0表示x与y之间不存在线性相关关系。

相关关系只能衡量两个变量之间的线性相关关系,当其为0时,只能说明这两个变量之间没有线性相关,不能说它们之间没有关系。对于完全相关,只能看作是关系很强,但不能看作是函数关系,因为完全相关只是样本数据计算出相关系数为1或-1,可能换另一组样本,计算结果就会不一样,即使根据历史数据每次计算的结果都是1或-1,但将来也可能有不一样的计算结果。函数关系是先有关系再有样本数据,完全相关是先有样本数据再有关系。此外,函数关系除有线性函数关系外,还有非线性函数关系,这里的完全相关只是完全的线性相关,并未测量非线性相关情形。

一般来说,|r| ≥ \geq 0.8时,可认为变量之间存在强的线性相关关系; 0.5 ≤ ∣ r ∣ < 0.8 0.5\leq|r|<0.8 0.5r<0.8,可认为相关关系一般; ∣ r ∣ < 0.5 |r|<0.5 r<0.5时,可认为相关关系较弱。但这些判断标准在很多时候并不准确,特别是在大数据情况下,这需要根据样本量来确定相关关系的程度。一般来说,当样本量越大时,相关关系的判断值就会越小(小的相关系数也表示了强的相关关系)。这需要用到相关系数的显著性检验和假设检验的内容。

2、Spearman等级相关系数

Pearson相关系数要求两个变量数据均为数值数据。

非数值数据包括分类数据和顺序数据。

如果变量数据是分类数据,也是可以计算相关系数来衡量变量之间的相关关系的,需要用到列联分析方法,根据列联分析的统计量来计算。

如果变量数据是顺序数据,有两个思路可以构造相关函数来衡量变量之间的相关关系

  • 用分类数据的列联分析方法,构造列联分析的统计量
  • Spearman等级相关系数。设两个变量分别为x,y,Spearman等级相关系数 r d r_d rd的计算公式如下

r d = 1 − 6 ∑ d 2 n ( n 2 − 1 ) r_d=1-\frac{6\sum d^2}{n(n^2-1)} rd=1n(n21)6d2

式中,d是被观测的两个变量的等级的差值(若有多个个体等级相同,则取其等级的平均数作为各个体的等级,如并列第二,则取2.5);n是样本容量。Spearman等级相关系数 r d r_d rd的取值范围也是[-1,1],具有和Pearson相关系数相同的特点。

3、使用相关系数时需要注意的问题

  • 相关系数是对称地度量两个变量的相关关系,即x对y的相关系数与y对x的相关系数是相等的,x与y互换位置并不影响相关系数大小。
  • 相关系数只能反映变量之间的线性相关程度,既不能确定变量之间具体的的因果关系,也不能说明这种线性相关关系具体接近哪条直线。对于变量间的因果关系方向,这涉及变量关系方向的研究;对于变量关系具体接近哪条线,这涉及变量关系形式的研究。

这篇关于技术学习|CDA level I 描述性统计分析(相关分析)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/571034

相关文章

怎样通过分析GC日志来定位Java进程的内存问题

《怎样通过分析GC日志来定位Java进程的内存问题》:本文主要介绍怎样通过分析GC日志来定位Java进程的内存问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、GC 日志基础配置1. 启用详细 GC 日志2. 不同收集器的日志格式二、关键指标与分析维度1.

MySQL中的表连接原理分析

《MySQL中的表连接原理分析》:本文主要介绍MySQL中的表连接原理分析,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、背景2、环境3、表连接原理【1】驱动表和被驱动表【2】内连接【3】外连接【4编程】嵌套循环连接【5】join buffer4、总结1、背景

python中Hash使用场景分析

《python中Hash使用场景分析》Python的hash()函数用于获取对象哈希值,常用于字典和集合,不可变类型可哈希,可变类型不可,常见算法包括除法、乘法、平方取中和随机数哈希,各有优缺点,需根... 目录python中的 Hash除法哈希算法乘法哈希算法平方取中法随机数哈希算法小结在Python中,

Java Stream的distinct去重原理分析

《JavaStream的distinct去重原理分析》Javastream中的distinct方法用于去除流中的重复元素,它返回一个包含过滤后唯一元素的新流,该方法会根据元素的hashcode和eq... 目录一、distinct 的基础用法与核心特性二、distinct 的底层实现原理1. 顺序流中的去重

Qt如何实现文本编辑器光标高亮技术

《Qt如何实现文本编辑器光标高亮技术》这篇文章主要为大家详细介绍了Qt如何实现文本编辑器光标高亮技术,文中的示例代码讲解详细,具有一定的借鉴价值,有需要的小伙伴可以了解下... 目录实现代码函数作用概述代码详解 + 注释使用 QTextEdit 的高亮技术(重点)总结用到的关键技术点应用场景举例示例优化建议

关于MyISAM和InnoDB对比分析

《关于MyISAM和InnoDB对比分析》:本文主要介绍关于MyISAM和InnoDB对比分析,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录开篇:从交通规则看存储引擎选择理解存储引擎的基本概念技术原理对比1. 事务支持:ACID的守护者2. 锁机制:并发控制的艺

CSS3中的字体及相关属性详解

《CSS3中的字体及相关属性详解》:本文主要介绍了CSS3中的字体及相关属性,详细内容请阅读本文,希望能对你有所帮助... 字体网页字体的三个来源:用户机器上安装的字体,放心使用。保存在第三方网站上的字体,例如Typekit和Google,可以link标签链接到你的页面上。保存在你自己Web服务器上的字

MyBatis Plus 中 update_time 字段自动填充失效的原因分析及解决方案(最新整理)

《MyBatisPlus中update_time字段自动填充失效的原因分析及解决方案(最新整理)》在使用MyBatisPlus时,通常我们会在数据库表中设置create_time和update... 目录前言一、问题现象二、原因分析三、总结:常见原因与解决方法对照表四、推荐写法前言在使用 MyBATis

Python主动抛出异常的各种用法和场景分析

《Python主动抛出异常的各种用法和场景分析》在Python中,我们不仅可以捕获和处理异常,还可以主动抛出异常,也就是以类的方式自定义错误的类型和提示信息,这在编程中非常有用,下面我将详细解释主动抛... 目录一、为什么要主动抛出异常?二、基本语法:raise关键字基本示例三、raise的多种用法1. 抛

Go学习记录之runtime包深入解析

《Go学习记录之runtime包深入解析》Go语言runtime包管理运行时环境,涵盖goroutine调度、内存分配、垃圾回收、类型信息等核心功能,:本文主要介绍Go学习记录之runtime包的... 目录前言:一、runtime包内容学习1、作用:① Goroutine和并发控制:② 垃圾回收:③ 栈和