热门标签 | HotTags
当前位置:  开发笔记 > 前端 > 正文

如何度量变量之间的相关性

在百度中搜索“如何度量两个实数变量之间的相关性?”可得到如下链接:https:jingyan.baidu.comarticlefd8044facdc8d25030137a44.ht

在百度中搜索 “如何度量两个实数变量之间的相关性?” 可得到如下链接:
https://jingyan.baidu.com/article/fd8044facdc8d25030137a44.html. 可见相关性分析已经有一些成熟的方法. 本贴不考虑这些方法, 而是从我的已有知识来进行模型的构建.


1. 相关性度量

令输入为 X=[xij]n×m∈Rn×m\mathbf{X} = [x_{ij}]_{n \times m} \in \mathbb{R}^{n \times m}X=[xij]n×mRn×m, 输出为 Y=[y1,y2,…,yn]\mathbf{Y} = [y_1, y_2, \dots, y_n]Y=[y1,y2,,yn], 其中 nnn 为对象数, mmm 为属性数. 将输入属性记为变量 xix_ixi (1≤i≤m1 \le i \le m1im), 输出属性记为变量 yyy. 不失一般性, 令 Y^=[y^1,y^2,…,y^n]\hat{\mathbf{Y}} = [\hat{y}_1, \hat{y}_2, \dots, \hat{y}_n]Y^=[y^1,y^2,,y^n] 为根据 X\mathbf{X}XY\mathbf{Y}Y 的预测, 预测函数可记为
y=f(x1,x2,…,xm)(1)y = f(x_1, x_2, \dots, x_m) \tag{1}y=f(x1,x2,,xm)(1)

y^i=f(xi)=f(xi1,xi2,…,xim)(2)\hat{y}_i = f(\mathbf{x}_i) = f(x_{i1}, x_{i2}, \dots, x_{im}) \tag{2}y^i=f(xi)=f(xi1,xi2,,xim)(2)
则变量集合 A={x1,x2,…,xm}\mathbf{A} = \{x_1, x_2, \dots, x_m\}A={x1,x2,,xm} 在预测函数 fff 下与 yyy 的相关性定义为 ppp-范数
cor(A,y)=∥Y^−Y∥pcor(\mathbf{A}, y) = \|\hat{\mathbf{Y}} - \mathbf{Y}\|_pcor(A,y)=Y^Yp
其中 ppp 一般取 1 或者 2. 该范数越小, 表示相关性越高.


2. 基于单变量的泛化线性回归

如果只想观察单个变量 x∈Ax \in \mathbf{A}xAyyy 的相关性, 可使用不同的预测模型.


  • 考虑基本线性假设

y=ax+b(3)y = ax + b \tag{3}y=ax+b(3)
重新构建输入矩阵 X=[xij]n×2\mathbf{X} = [x_{ij}]_{n \times 2}X=[xij]n×2, 其中 xi1≡1x_{i1} \equiv 1xi11, xi2x_{i2}xi2 变量 xxx 在第 iii 个对象上的值. 令权重向量为 w=[w1,w2]\mathbf{w} = [w_1, w_2]w=[w1,w2]. 利用线性回归模型易知
w=(XTX)−1XTY(3)\mathbf{w} = (\mathbf{X}^{\mathrm{T}}\mathbf{X})^{-1}\mathbf{X}^{\mathrm{T}}\mathbf{Y} \tag{3}w=(XTX)1XTY(3)
用它来计算 Y^\hat{\mathbf{Y}}Y^ 即可.


  • 考虑二次曲线假设

y=ax2+bx+c(4)y = ax ^2 + bx + c \tag{4}y=ax2+bx+c(4)
重新构建输入矩阵 X=[xij]n×2\mathbf{X} = [x_{ij}]_{n \times 2}X=[xij]n×2, 其中 xi1≡1x_{i1} \equiv 1xi11, xi2x_{i2}xi2 为变量 xxx 在第 iii 个对象上的值, xi3=xi22x_{i3} = x_{i2}^2xi3=xi22. 仍然使用线性回归模型求解 w\mathbf{w}w 并计算 Y^\hat{\mathbf{Y}}Y^.


  • 考虑其它假设

其它假设如自然对数可按类似方法求解, 即仅需要重构 X\mathbf{X}X.
由于在线性回归的基础上可加入其它函数假设, 我将其称为 “泛化线性回归”.


  • 说明

  1. 由于仅仅是两个变量之间的相关性, 可在二维平面上画出散列点, 分析规律后选择合适的模型假设.
  2. 纯线性的最为常用, 其它方法中, 不建议考虑三次曲线等.
  3. 如果仅仅是想对变量进行排序, 用这些方法就可以了.

3. 多变量的处理

如果想获得更好的拟合, 可使用多变量. 当变量比较少的情况下, 可穷举所有的组合, 然后用线性回归. 如果变量较多, 只能用启发式方法:
Step 1. 计算各变量的相关性, 并令
x′=arg min⁡xi∈Acor({xi},y),B={x′};x' = \argmin_{x_i \in \mathbf{A}} cor(\{x_i\}, y), \mathbf{B} = \{x'\};x=xiAargmincor({xi},y),B={x};
Step 2. 令
x′=arg min⁡xi∈A∖Bcor(B∪{xi},y);x' = \argmin_{x_i \in \mathbf{A} \setminus \mathbf{B}} cor(\mathbf{B} \cup \{x_i\}, y);x=xiABargmincor(B{xi},y);
Step 3. if (cor(B∪{x′},y)cor(B{x},y)<cor(B,y)) then
B←B∪{x′}\mathbf{B} \leftarrow \mathbf{B} \cup \{x&#39;\}BB{x};
goto Step 2;
else return B\mathbf{B}B;

说明: Step 3 的判断, 也可以要求相关性之间的差值不小于某个阈值.


4. 其它


  • 可以考虑离群点移除, 以获得泛化性更佳的拟合. 可采用自步学习等方法. 这时候需要对回归方法、评价指标均作相应修改, 即仅计算离群点移除后的结果.
  • 不建议使用正则项. 有效性仅需要在训练集上验证即可, 不需要测试集.

5. 权威方法

咨询超哥后获得权威方法.
Pearson 相关系数定义为:
ρ(X,Y)=cov(X,Y)σXσY=E((X−μX)(Y−μY))σXσY\rho(X, Y) = \frac{cov(X, Y)}{\sigma_X \sigma_Y} = \frac{E((X - \mu_X) (Y - \mu_Y))}{\sigma_X \sigma_Y}ρ(X,Y)=σXσYcov(X,Y)=σXσYE((XμX)(YμY))
−1-11 表示完全不相关, +1+1+1 表示完全相关.


推荐阅读
  • 本文介绍了求解gcdexgcd斐蜀定理的迭代法和递归法,并解释了exgcd的概念和应用。exgcd是指对于不完全为0的非负整数a和b,gcd(a,b)表示a和b的最大公约数,必然存在整数对x和y,使得gcd(a,b)=ax+by。此外,本文还给出了相应的代码示例。 ... [详细]
  • EPICS Archiver Appliance存储waveform记录的尝试及资源需求分析
    本文介绍了EPICS Archiver Appliance存储waveform记录的尝试过程,并分析了其所需的资源容量。通过解决错误提示和调整内存大小,成功存储了波形数据。然后,讨论了储存环逐束团信号的意义,以及通过记录多圈的束团信号进行参数分析的可能性。波形数据的存储需求巨大,每天需要近250G,一年需要90T。然而,储存环逐束团信号具有重要意义,可以揭示出每个束团的纵向振荡频率和模式。 ... [详细]
  • 知识图谱——机器大脑中的知识库
    本文介绍了知识图谱在机器大脑中的应用,以及搜索引擎在知识图谱方面的发展。以谷歌知识图谱为例,说明了知识图谱的智能化特点。通过搜索引擎用户可以获取更加智能化的答案,如搜索关键词"Marie Curie",会得到居里夫人的详细信息以及与之相关的历史人物。知识图谱的出现引起了搜索引擎行业的变革,不仅美国的微软必应,中国的百度、搜狗等搜索引擎公司也纷纷推出了自己的知识图谱。 ... [详细]
  • 推荐系统遇上深度学习(十七)详解推荐系统中的常用评测指标
    原创:石晓文小小挖掘机2018-06-18笔者是一个痴迷于挖掘数据中的价值的学习人,希望在平日的工作学习中,挖掘数据的价值, ... [详细]
  • 阿里Treebased Deep Match(TDM) 学习笔记及技术发展回顾
    本文介绍了阿里Treebased Deep Match(TDM)的学习笔记,同时回顾了工业界技术发展的几代演进。从基于统计的启发式规则方法到基于内积模型的向量检索方法,再到引入复杂深度学习模型的下一代匹配技术。文章详细解释了基于统计的启发式规则方法和基于内积模型的向量检索方法的原理和应用,并介绍了TDM的背景和优势。最后,文章提到了向量距离和基于向量聚类的索引结构对于加速匹配效率的作用。本文对于理解TDM的学习过程和了解匹配技术的发展具有重要意义。 ... [详细]
  • Skywalking系列博客1安装单机版 Skywalking的快速安装方法
    本文介绍了如何快速安装单机版的Skywalking,包括下载、环境需求和端口检查等步骤。同时提供了百度盘下载地址和查询端口是否被占用的命令。 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 本文讨论了同事工资打听的话题,包括同工不同酬现象、打探工资的途径、为什么打听别人的工资、职业的本质、商业价值与工资的关系,以及如何面对同事工资比自己高的情况和凸显自己的商业价值。故事中的阿巧发现同事的工资比自己高后感到不满,通过与老公、闺蜜交流和搜索相关关键词来寻求解决办法。 ... [详细]
  • 如何去除Win7快捷方式的箭头
    本文介绍了如何去除Win7快捷方式的箭头的方法,通过生成一个透明的ico图标并将其命名为Empty.ico,将图标复制到windows目录下,并导入注册表,即可去除箭头。这样做可以改善默认快捷方式的外观,提升桌面整洁度。 ... [详细]
  • 目录实现效果:实现环境实现方法一:基本思路主要代码JavaScript代码总结方法二主要代码总结方法三基本思路主要代码JavaScriptHTML总结实 ... [详细]
  • 本文介绍了九度OnlineJudge中的1002题目“Grading”的解决方法。该题目要求设计一个公平的评分过程,将每个考题分配给3个独立的专家,如果他们的评分不一致,则需要请一位裁判做出最终决定。文章详细描述了评分规则,并给出了解决该问题的程序。 ... [详细]
  • 禁止程序接收鼠标事件的工具_VNC Viewer for Mac(远程桌面工具)免费版
    VNCViewerforMac是一款运行在Mac平台上的远程桌面工具,vncviewermac版可以帮助您使用Mac的键盘和鼠标来控制远程计算机,操作简 ... [详细]
  • 原文地址:https:www.cnblogs.combaoyipSpringBoot_YML.html1.在springboot中,有两种配置文件,一种 ... [详细]
  • Windows下配置PHP5.6的方法及注意事项
    本文介绍了在Windows系统下配置PHP5.6的步骤及注意事项,包括下载PHP5.6、解压并配置IIS、添加模块映射、测试等。同时提供了一些常见问题的解决方法,如下载缺失的msvcr110.dll文件等。通过本文的指导,读者可以轻松地在Windows系统下配置PHP5.6,并解决一些常见的配置问题。 ... [详细]
  • 本文介绍了使用postman进行接口测试的方法,以测试用户管理模块为例。首先需要下载并安装postman,然后创建基本的请求并填写用户名密码进行登录测试。接下来可以进行用户查询和新增的测试。在新增时,可以进行异常测试,包括用户名超长和输入特殊字符的情况。通过测试发现后台没有对参数长度和特殊字符进行检查和过滤。 ... [详细]
author-avatar
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有