pearson相关系数_pearson相关系数与典型相关性分析(CCA)

  本文主要介绍相关系数的概念,以及简单相关系数中的pearson相关系数及其局限性。随后介绍pearson相关系数无法解决的问题(两个变量组之间的相关性问题)的解决方案。

1、pearson相关系数

在日常中,我们经常会遇到一些关于相关性的分析,例如,一个人每日的运动量与他体重之间的相关性,一支股票的价格与该公司的盈利状况的相关性等等。在上述两种情况下,我们给出的结论一般是,一个人每日的运动量越大,他的体重就越轻;公司的盈利状况越好股票的价格越高。那么相关性到底是个什么东西呢?根据维基百科的定义:

相关(Correlation,或称相关系数或关联系数),显示两个随机变量之间线性关系的强度和方向。在统计学中,相关的意义是用来衡量两个变量相对于其相互独立的距离。

实际上,早在19世纪80年代相关性在统计学上有明确的定义,由卡尔·皮尔逊提出的pearson相关系数就是最常用的相关系数,是一种简单相关系数。我们平时谈论的相关,基本上指的都是线性相关,在线性相关中最常用的就是pearson相关系数。除了此之外,还有其他的一些相关系数如:Spearman相关系数,称为“秩相关系数”是反映等级相关程度的统计分析指标,描述的是变量间等级、序数之间的关系。而与pearson相关系数同为简单相关系数的是夹角的余弦值,也就是余弦相似度。本文将主要介绍pearson相关系数。

pearson相关系数的取值在-1到+1之间,其中取值为-1时表示完全负相关,+1时表示完全正相关,0为不相关。具体的计算公式如下:

3f1b8c9ab75a9f08b0e326bf7a32a5b0.png

其中,b64fe5cf3f4b44f54ebcdd8813b55dd1.png是X与Y的协方差,a0dd2bc0328ea3703d25757e95605f01.png,630fc423773b268d5888d68cfc1df34e.png分别为X与Y的标准差。

下图是《数据挖掘导论》中关于pearson相关系数的图,能够比较直观的展示pearson相关系数值得大小与相关性的关系。

081a3f9cb67e3723d017f76a0431cd9f.png

《数据挖掘导论》:pearson相关系数

正如之前说的,pearson相关系数是一种简单相关系数,反映的是两个变量之间的线性关系,因此对于非线性的关系,pearson相关系数会接近于0,无法描述,如下图:

b6427d813733426885856946777f16dd.png

f50eb2f6d1c98302dd32573afb648076.png

0452819a258893c2ede8a2f89a8a73a1.png

维基百科相关系数(x,y)点集图

2、典型相关性分析(CCA)

pearson相关系数描述的是一个变量与另外一个变量之间的相关性。但是现实中,多个变量与多个变量之间的关系往往会更常见。例如,我们想知道一个人的日常情况(每日运动量X1、日常饮食X2)与他的健康状况(血压Y1、血糖Y2)之间的相关性;一支股票的价格(开盘价X1、收盘价X2、最高价X3)与它公司(盈利情况Y1,所处行业整体趋势Y2,负面消息量Y3)的相关性。

如果我们直接使用pearson相关系数来解决上述例子的话,就需要考虑所有变量,两两之间的相关性。但是这种做法只能孤立的考虑单个变量Xi与Yj间的关系,没有考虑变量所在的变量组本身各个子变量的相关性。

了解多元回归分析的人可能知道,以股票为例,如果我们只想知道它的每日最高价与公司之间(盈利情况,所处行业整体趋势,负面消息量)的相关性,就可以将股票最高价最为Y,公司情况分别为X1,X2,X3,通过数据进行拟合,来找到Y与X之间的最佳线性组合。但是如果考虑多个Y,那么多元回归分析就显得有些无从下手。

实际上,典型相关性分析就是利用综合变量对之间的相关关系来反映两组指标之间的整体相关性的多元统计分析方法,是简单相关的推广,是多元回归分析的延伸。它的应用场景主要是多视图分析与两组变量之间的相关性分析,且每组变量包含多个子变量,且子变量相互有一定的相关性。

典型相关性分析(CCA)算法的基本思想是在两组变量上分别找到一种线性组合

ff9860dacc25b92dedbd63edc5b50306.png

a51fcec221268c6c9e3d7ab3946e8f77.png

使得X与Y之间的pearson相关系数最大。所以CCA就转化为如何去求解这两组线性组合的系数,使得线性表示后的变量能够取到最大的相关系数,因此CCA也可以理解为一种降维的方法。具体地,可以将其转化为一个最优化问题:

e027b53c17f73a59e259e862cb2cd6bd.png

具体求解的方法则采用奇异值分解(SVD)的方法进行求解。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/538458.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

快学Scala习题解答—第三章 数组相关操作

原文链接:http://blog.csdn.net/ivan_pig/article/details/8257365 -------------------------------------------------- 4 数组相关操作 4.1 编写一段代码,将a设置为一个n个随机整数的数组,要求随机数介于0(包含)和n(不包含)之间 random和…

seo自动工具_爱站SEO工具包详细介绍

爱站SEO工具-seoer的瑞士军刀!这个工具主要是为了方便SEOer查询一些网站的问题,监控关键词排名收录等等,新手老手都可以用的工具,更快的让SEOer上手。相信有很多SEOer都使用过爱站SEO工具包,也有很多新入行的小伙伴可能…

人物三(依芙蒂法)

转载于:https://www.cnblogs.com/song1900/p/9189921.html

常用Oracle分析函数详解

原文链接:http://www.cnblogs.com/benio/archive/2011/06/01/2066106.html --------------------------------------------------------------------------- 学习步骤: 1. 拥有Oracle EBS demo 环境 或者 PROD 环境 2. copy以下代码进 PL/SQL 3. 配合解…

XML文件结构和基本语法

XML文件的结构性内容,包括节点关系以及属性内容等等。元素是组成XML的最基本的单位,它由开始标记,属性和结束标记组成。就是一个元素的例子,每个元素必须有一个元素名,元素可以若干个属性以及属性值。 xml文件和html文…

python表格数据分类聚合_3-python数据分析-pandas高级操作之替换、映射、随机抽样、分组、高级数据聚合、数据加载、透视表、交叉表...

3-python数据分析-pandas高级操作之替换、映射、随机抽样、分组、高级数据聚合、数据加载、透视表、交叉表替换操作 replace替换操作可以同步作用于Series和DataFrame中单值替换普通替换: 替换所有符合要求的元素:to_replace15,value’e’按列指定单值替换&#xff…

oracle-SQL-case when 改用 DECODE

SELECT CASE FLOOR_LINE_ID WHEN 1 THEN 高铁 WHEN 2 THEN 高速 WHEN 3 THEN 公路 WHEN 5 THEN 地铁 ELSE 其他 END AS LINE_NAME, FLOOR_LINE_ID FROM ( SELECT FLOOR(LINE_ID/100) AS FLOOR_LINE_ID FROM DT4_LINE_NAME ) 改…

lcp mysql cluster_Mysql Cluster 非root用户启动ndbd节点报错

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼1.配置文件,如下:[rootcent178 ~]# ls -lart /etc/my.cnf-rw-rw-r-- 1 mysql mysql 3055 Oct 31 17:29 /etc/my.cnf2.集群数据存储文件夹,如下:[rootcent178 ~]# ls -lart /var/lib/m…

fatal: Could not read from remote repository.的解决办法

原文地址:http://blog.csdn.net/huahua78/article/details/52330792 --------------------------------------------------------------------------------- 查看远端地址 git remote –v 查看配置 git config --list git status git add . // 暂存所有的更改git…

python中mako中loop_python中Mako库实例用法

Mako是一个模板库。一种嵌入式的语言,能够实现简化组件布局以及继承,主要的用途也是和作用域有关,但是效果是最直接切灵活的,这些都是mako的基本功能,掌握了基础内容,接下来就是详细的了解讲述,…

springmvc是什么_SpringBoot与SpringMVC的区别是什么?

简单的来说:SpringMVC和SpringBoot都是Spring家族的重要成员。Spring家族的使命就是为了简化而生。SpringMVC简化我们日常Web开发的,后来随着自身的发展,SpringMVC变得臃肿复杂,而SpringBoot则进一步简化了SpringMVC开发。SpringM…

git 上传代码到码云

与码云建立连接教程:http://blog.csdn.net/zengmingen/article/details/76045076 如果完成了上面步骤的,且有了git。上传项目步骤: 代码提交 代码提交一般有五个步骤: 1.查看目前代码的修改状态 2.查看代码修改内容 3.暂存需要提交…

你不知道的js中关于this绑定机制的解析[看完还不懂算我输]

前言 最近正在看《你不知道的JavaScript》,里面关于this绑定机制的部分讲的特别好,很清晰,这部分对我们js的使用也是相当关键的,并且这也是一个面试的高频考点,所以整理一篇文章分享一下这部分的内容,相信看…

visual studio过期登录不了账户_具有最高管理权限账户,Windows 7设置Administrator密码永不过期...

今天介绍操作系统具有最高管理权限的账户,Windows 7如何设置Administrator账户密码永不过期。小伙伴们可能不知道,和Windows Vista操作系统一样,在Windows 7操作系统中是不能预先使用Administrator这个具有最高管理权限的账户的。同时也可能不…

Tomcat安装与环境变量的配置-Linux+windows

原文链接:http://jingyan.baidu.com/article/8065f87fcc0f182330249841.html ------------------------------------------------------------ 1,新建变量名:JAVA_HOME,变量值:C:\Program Files\Java\jdk1.7.0 2&…

python如何读取配置文件获取url以及hhead_读取INI配置文件内容(头文件head)

/************************************************************FileName: getini.h // 文件名称Author: yuanfen127 // 作者Date: 2005-03-31 // 日期Description: // 描述本文件的内容,功能,内部各部分之间的关系// 以及文本文件与…

cad隐藏图层命令快捷键_cad快捷键f是什么命令?cad中f快捷键都有哪些?

1. F1 该功能键打开AutoCAD帮助窗口。如果用户遇到此软件中的任何功能问题,它可以使用户在线获得帮助。如果用户离线工作,而不是按此键,则该软件的所有功能都将以PDF格式打开。 2. F2 该键将打开一个弹出屏幕,在底部显示命令行。该命令对于在屏幕底部看不到命令窗口的用户很…

angular2或4部署到tomcat中,让他跑起来

原文地址:http://blog.csdn.net/rotating_windmill/article/details/76768793 ------------------------------------------------------------------------- 首先使用构建命令(npm run build或ng build)打包,打包完成后项目中会出现一个dist的目录&…

java 高级编程进阶_JAVA高级编程之hibernate进阶学习

二级缓存hibernate的session缓存在事务级别进行持久化数据的缓存操作。 当然,也有可能分别为每个类(或集合),配置集群、或 JVM 级别(SessionFactory 级别)的缓存。你甚至可以为之插入一个集群的缓存。注意,缓存永远不知道其他应用程序对持久化…

SpringMvc+Tomcat+Angular4 部署运行

这次的团队开发是,前端开发人员和后台开发人员完全分开开发的。 前端开发采用了Angular4,webstorm 后端开发采用了:springspringmvcmybatis,eclipse --------------------------------------- 最后要整合了。 1、angular项目编…