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,一经查实,立即删除!

相关文章

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

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

人物三(依芙蒂法)

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

XML文件结构和基本语法

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

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…

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.暂存需要提交…

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

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

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

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

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

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

SpringMvc+Tomcat+Angular4 部署运行

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

IPv4地址分类及特征

IPv4地址分类及特征 IP地址后斜杠和数字代表的意思 其中有这样一个IP地址的格式:IP/数字,例如:111.222.111.222/24这种格式平时在内网中用的不多,所以一下子看不懂,最后查了资料才知斜杠后的数字代表的是掩码的位数 “…

查看Scala编译的.class文件

Scala是基于JDK运行的,必然会生成Java的字节码文件.class文件。 如何查看? 编码IDE:IntelliJ IDEA 2017.2 x64 查看class文件工具:jd-gui scala代码如下: person.scala package cn.zengmg.day26class Person {val …

【原创】利用腾讯和百度的AI接口识别验证码

众所周知,验证码在大部分的实际运用中是绕不开的问题,包括验证,爬虫,测试等等,然后解决验证码的方法也有不少,但大多数都会运用OCR。(这里说的验证码,是字符类型的验证码&#xff09…

java时间日期工具类_java工具类--日期相关;

日期相关Date类1.通常使用的是java.util包2.导包 拿来使用 构建对象3.通常使用无参数的构造方法 或者带long构造方法4.Date类中常用的方法before(); after();setTime() getTime()compareTo(); -1 1 0;5.可以处理一个Date类型的格式DateFormat类1.包java.text 需要导包使用2.此类…

/* compiled code */ ?

原因:这是所用的ide自带了反编译工具,反编译的。不是具体的源码 具体的源码需要手动关联源码包

重新学习Ubuntu -- 截图软件的选择和安装

前面两篇完成了:系统的安装和系统安装后的优化。 截图软件 shutterflameshot 这个根据自己原来的学习经验和网上的相关资料来完成截图软件的安装。参照文章: shutter :Ubuntu 18.04/LinuxMint 19中启用Shutter编辑功能 flameshot:Flameshot:你…

Scala-Actor并行wordcount

scala-2.10.6 文件: "d://word.txt", "d://word.log" 文件内容: 代码: package cn.zengmg.day26.actorimport scala.actors.{Actor, Future} import scala.collection.mutable.ListBuffer import scala.io.Sourcecase c…

小程序测试用例模板_微信小程序样式:高质量小程序样式模板大全

新手想要制作出美观的小程序,你需要多参考一些好看的微信小程序样式。今天就带大家分析几个高质量小程序的样式,看看别是怎么把小程序做得美观又吸引人的:1.电商小程序样式电商小程序首页一般是按照“图片banner - 快捷按钮 - 商品及分类”的…

Sql Server 2016数据库生成带数据的脚本

步骤:右键点击对应数据库->任务->生成脚本 在弹出的会话框中选择需要的对象,点击下一步,在设置和编写脚本选项中,点开高级按钮(如图)选择架构和数据点击确定就可以了。 提醒:如果你在数据…

深入理解Scala的隐式转换系统

原文链接:http://www.cnblogs.com/MOBIN/p/5351900.html----------------------------------------------摘要:通过隐式转换,程序员可以在编写Scala程序时故意漏掉一些信息,让编译器去尝试在编译期间自动推导出这些信息来&#xf…