典型相关分析

(一)引入

典型相关分析(Canonical Correlation Analysis)是研究两组变量之间相关关系的一种多元统计方法。他能够揭示出两组变量之间的内在联系。

我们知道,在一元统计分析中,用相关系数来衡量两个随机变量的线性相关关系,用复相关系数研究一个随机变量与多个随机变量的线性相关关系。然而,这些方法均无法用于研究两组变量之间的相关关系,于是提出了CCA。其基本思想和主成分分析非常相似。首先,在每组变量中寻找出变量的线性组合,使得两组的线性组合之间具有最大的相关系数;然后选取和已经挑选出的这对线性组合不相关的另一对线性组合,并使其相关系数最大,如此下去,直到两组变量的相关性被提取完毕为止。被选出的线性组合配对称为典型变量,它们的相关系数称为典型相关系数。

(二)分析

设有两组随机变量$\mathbf{X}=(x_1,x_2,\cdots,x_p)^\prime$和$\mathbf{Y}=(y_1,y_2,\cdots,y_q)^\prime$,不妨设$p\leq q$。设第一组变量均值为$\mathbb{E}\mathbf{X}=\mu_1$,方差为$\mathop{Var}(\mathbf{X})=\mathop{cov}(\mathbf{X},\mathbf{X})=\Sigma_{11}$。第二组变量均值为$\mathbb{E}\mathbf{Y}=\mu_2$,方差为$\mathop{Var}(\mathbf{Y})=\mathop{cov}(\mathbf{Y},\mathbf{Y})=\Sigma_{22}$。第一组与第二组变量的协方差矩阵为$\mathop{cov}(\mathbf{X},\mathbf{Y})=\Sigma_{12}=\Sigma_{21}^\prime$。

分别对两组变量做线性组合:

\begin{align}U &= a_1x_1+a_2x_2+\cdots+a_px_p=a^\prime\mathbf{X}\label{equ:U}\\ V &= b_1x_1+b_2x_2+\cdots+b_qy_q=b^\prime\mathbf{Y}\label{equ:V}\end{align}

所以$U,V$的方差,协方差,相关系数为:

\begin{align}&\mathop{Var}(U)=a^\prime\mathop{cov}(\mathbf{X},\mathbf{X})a=a^\prime\Sigma_{11}a\label{equ:UVar}\\&\mathop{Var}(V)=b^\prime\mathop{cov}(\mathbf{Y},\mathbf{Y})b=b^\prime\Sigma_{22}b\label{VVar}\\&\mathop{cov}(U,V)=a^\prime\mathop{cov}(\mathbf{X},\mathbf{Y})b=a^\prime\Sigma_{12}b\label{equ:UVcov}\\&\rho=\mathop{corr}(U,V)=\frac{a^\prime\Sigma_{12}b}{\sqrt{a^\prime\Sigma_{11}a}\sqrt{b^\prime\Sigma_{12}b}}\label{equ:rho}\end{align}

其中$U,V$称为典型变量,它们之间的相关系数$\rho$称为典型相关系数。

CCA要解决的问题是,在所有线性组合$U$和$V$中选取典型相关系数最大的那对,即选取$a^{(1)},b^{(1)}$使$U_1=(a^{(1)})^\prime\mathbf{X}$与$V_1=(b^{(1)})^\prime\mathbf{Y}$之间的相关系数最大,这里$(U_1,V_1)$称为第一对典型相关变量;然后在选取$a^{(2)},b^{(2)}$使得$U_1=(a^{(2)})^\prime\mathbf{X},V_2(b^{(2)})^\prime\mathbf{Y}$,在与$U_1,V_1$不相关的情况下,使得$(U_2,V_2)$的相关系数最大,称为第二对典型相关变量;如此继续下去,直到所有分别与$(U_1,V_1),(U_2,V_2),\cdots,(U_{p-1},V_{p-1})$都不相关的线性组合$(U_p,V_p)$为止,此时$p$为$\mathbf{X}$与$\mathbf{Y}$之间的协方差矩阵的秩。由上面的分析可得模型:

\begin{equation}\mathop{\max}\quad\rho=\frac{a^\prime\Sigma_{12}b}{\sqrt{a^\prime\Sigma_{11}a}\sqrt{b^\prime\Sigma_{22}b}}\label{model:original}\end{equation}

由于收缩$U$和$V$的值并不会影响$\rho$,故我们可引入限制条件$a^\prime\Sigma_{11}a=1,b^\prime\Sigma_{22}b=1$将模型转化为:

\begin{align}\mathop{\max}\quad&a^\prime\Sigma_{12}b\nonumber\\\mathop{s.t.}\quad&a^\prime\Sigma_{11}a=1\nonumber\\\quad& b^\prime\Sigma_{22}b=1\label{model:constraint}\end{align}

引入Lagrange乘子:

\begin{equation}L(a,b,\lambda,\nu)=a^\prime\Sigma_{12}b-\frac{\lambda}{2}(a^\prime\Sigma_{11}a-1)-\frac{\nu}{2}(b^\prime\Sigma_{22}b-1)\label{equ:lagrange}\end{equation}

对Lagrange函数\ref{equ:lagrange}求导得:

\begin{equation}\frac{\partial L}{\partial a}=\Sigma_{12}b-\lambda\Sigma_{11}a=0\label{equ:partiala}\end{equation}

\begin{equation}\frac{\partial L}{\partial b}=\Sigma_{21}a-\nu\Sigma_{22}b=0\label{equ:partialb}\end{equation}

将式子\ref{equ:partiala}左乘$a^\prime$,式子\ref{equ:partialb}左乘$b^\prime$得:

\begin{align*}a^\prime\Sigma_{12}b-\lambda a^\prime\Sigma_{11}a &=0\\b^\prime\Sigma_{21}a-\nu b^\prime\Sigma_{22}b &=0\end{align*}

又因为$(a^\prime\Sigma_{12}b)^\prime=b^\prime\Sigma_{21}a\Longrightarrow \lambda a^\prime\Sigma_{11}a=\nu b^\prime\Sigma_{22}b$。由限制条件知:$\lambda=\nu=\rho=a^\prime\Sigma_{12}b$,即$\lambda$的值就是线性组合$U$和$V$的相关系数。我们重新将式子\ref{equ:partiala}和式子\ref{equ:partialb}写成:

\begin{align}-\lambda\Sigma_{11}a+\Sigma_{12}b&=0\label{equ:partialaNew}\\\Sigma_{21}a-\lambda\Sigma_{22}b&=0\label{equ:partialbNew}\end{align}

然后将式子\ref{equ:partialbNew}左乘$\Sigma_{12}\Sigma_{22}^{-1}$得:

\begin{equation}\Sigma_{12}\Sigma_{22}^{-1}\Sigma_{21}a=\lambda\Sigma_{12}b\label{equ:partialbLeft}\end{equation}

结合式子\ref{equ:partialaNew}得:

\begin{equation}\Sigma_{12}\Sigma_{22}^{-1}\Sigma_{21}a=\lambda^2\Sigma_{11}a\Longrightarrow (\Sigma_{12}\Sigma_{22}^{-1}\Sigma_{21}-\lambda^2\Sigma_{11})a=0\label{equ:3to4}\end{equation}

同理,将式子\ref{equ:partialaNew}左乘$\Sigma_{21}\Sigma_{11}^{-1}$,并将式子\ref{equ:partialbNew}代入式子\ref{equ:partialaNew}得:

\begin{equation}(\Sigma_{21}\Sigma_{11}^{-1}\Sigma_{12}-\lambda^2\Sigma_{22})b=0\label{equ:4to3}\end{equation}

将$\Sigma_{11}^{-1}$左乘式子\ref{equ:3to4},$\Sigma_{22}^{-1}$左乘式子\ref{equ:4to3}得:

\begin{equation}\left\{\begin{array}&(\Sigma_{11}^{-1}\Sigma_{12}\Sigma_{22}^{-1}\Sigma_{21}-\lambda^2)a=0\\(\Sigma_{22}^{-1}\Sigma_{21}\Sigma_{11}^{-1}\Sigma_{12}-\lambda^2)b=0\end{array}\right.\triangleq\left\{\begin{array}&\mathbf{A}a=\lambda^2a\\\mathbf{B}b=\lambda^2b\end{array}\right.\end{equation}

说明:$\lambda^2$既是矩阵$\mathbf{A}$也是矩阵$\mathbf{B}$的特征值,$a$与$b$分别是对应的特征向量。所以我们的问题转化成求矩阵$\mathbf{A},\mathbf{B}$的最大特征值对应的特征向量,而特征值的平方根$\sqrt{\lambda}$为相关系数,从而求出第一对典型相关变量。

此时,我们可以得到如下的猜想:是否矩阵$\mathbf{A},\mathbf{B}$的所有非零特征值的平方跟都会是其对应的典型相关系数?接下去,我们来证明如下猜想:

设$\lambda^2_1\geq\lambda_2^2\geq\cdots\geq\lambda_p^2>0$为$\mathbf{A},\mathbf{B}$的特征值($p$为矩阵$\Sigma_{12}$的秩),其对应的特征向量为$a^{(1)},a^{(2)},\cdots,a^{(p)}$和$b^{(1)},b^{(2)},\cdots,b^{(p)}$,于是得到$p$对线性组合:

\begin{equation}\begin{array}&U_1=(a^{(1)})^\prime\mathbf{X}&U_2=(a^{(2)})^\prime\mathbf{X}&\cdots&U_p=(a^{(p)})^\prime\mathbf{X}\\V_1=(b^{(1)})^\prime\mathbf{Y}&V_2=(b^{(2)})^\prime\mathbf{Y}&\cdots&V_p=(b^{(p)})^\prime\mathbf{Y}\end{array}\end{equation}

可以证明$(U_1,V_1),(U_2,V_2),\cdots,(U_p,V_p)$就是其前$p$对典型变量,$\lambda_1\geq\lambda_2\geq\cdots\geq\lambda_p$为其典型相关系数。

首先,在求出第一对典型变量的基础上求第二对典型变量。由上述分析我们可以知道该模型为:

\begin{align}\mathop{\max}&\quad (a^{(2)})^\prime\Sigma_{12}b^{(2)}\nonumber\\\mathop{s.t.}&\quad (a^{(2)})^\prime\Sigma_{11} a^{(2)}=1\nonumber\\&\quad(b^{(2)})^\prime\Sigma_{22}b^{(2)}=1\nonumber\\&\quad(a^{(1)})^\prime\Sigma_{11}a^{(2)}=0\label{con:1}\\&\quad(b^{(1)})^\prime\Sigma_{22}b^{(2)}=0\label{con:2}\end{align}

其中限制\ref{con:1}和\ref{con:2}是由于第二对典型变量必须与第一对典型变量无关。其Lagrange方程以及相应的偏导为:

\begin{align*}L(a^{(1)},b^{(1)},a^{(2)},b^{(2)}) &=(a^{(2)})^\prime\Sigma_{12}b^{(2)}-\frac{\lambda}{2}((a^{(2)})^\prime\Sigma_{11}a^{(2)}-1)-\frac{\nu}{2}((b^{(2)})^\prime\Sigma_{22}b^{(2)}-1)\\&\quad + \gamma (a^{(1)})^\prime\Sigma_{11}a^{(2)}+\beta(b^{(1)})^\prime\Sigma_{22}b^{(2)}\end{align*}

\begin{align}\frac{\partial L}{\partial a^{(2)}} &=\Sigma_{12}b^{(2)}-\lambda\Sigma_{11}a^{(2)}+\gamma\Sigma_{11}a^{(1)}=0\label{partial:a2}\\\frac{\partial L}{\partial b^{(2)}}&=\Sigma_{21}a^{(2)}-\nu\Sigma_{22}b^{(2)}+\beta\Sigma_{22}b^{(1)}=0\label{partial:b2}\\\frac{\partial L}{\partial a1}&=\gamma\Sigma_{11}a^{(2)}=0\label{partial:a1}\\\frac{\partial L}{\partial b^{(1)}}&=\beta\Sigma_{22}b^{(2)}=0\label{partial:b1}\end{align}

将$(a^{(2)})^\prime$左乘式子\ref{partial:a2},$(b^{(2)})^\prime$左乘式子\ref{partial:b2}得:

\begin{align}&(a^{(2)})^\prime\Sigma_{12}b^{(2)}-\lambda(a^{(2)})^\prime\Sigma_{11}a^{(2)}+\gamma (a^{(2)})^\prime\Sigma_{11}a^{(1)}=0\label{partial:a2new}\\&(b^{(2)})^\prime\Sigma_{21}a^{(2)}-\nu(b^{(2)})^\prime\Sigma_{22}b^{(2)}+\beta (b^{(2)})^\prime\Sigma_{22}b^{(1)}=0\label{partial:b2new}\end{align}

将$(a^{(1)})^\prime$左乘式子\ref{partial:a1},$(b^{(2)})^\prime$左乘式子\ref{partial:b1}得:

\begin{align}&(a^{(2)})^\prime\Sigma_{11}a^{(1)}=0\label{partial:a1new}\\&(b^{(2)})^\prime\Sigma_{22}b^{(2)}=0\label{partial:b1new}\end{align}

将式子\ref{partial:a1new}和式子\ref{partial:b1new}代入式子\ref{partial:a2new}和\ref{partial:b2new}得:

\begin{align}&(a^{(2)})^\prime\Sigma_{12}b^{(2)}-\lambda(a^{(2)})^\prime\Sigma_{11}a^{(2)}=0\label{partial:a1a2}\\&(b^{(2)})^\prime\Sigma_{21}a^{(2)}-\nu(b^{(2)})^\prime\Sigma_{22}b^{(2)}=0\label{partial:b1b2}\end{align}

其中式子\ref{partial:a1a2}和式子\ref{partial:b1b2}与式子\ref{equ:partiala}和式子\ref{equ:partialb}有相同的形式,只是$a,b$换成$a^{(2)},b^{(2)}$,故同样可以得到:

\begin{equation}\left\{\begin{array}&\mathbf{A}a^{(2)}=\lambda^2a^{(2)}\\\mathbf{B}b^{(2)}=\lambda^2b^{(2)}\end{array}\right.\end{equation}

此时$a^{(2)}\neq a,b^{(2)}\neq b$,否则不满足限制\ref{con:1}和\ref{con:2},所以最大值为第二大特征值。以此类推,我们即可证明上述猜想。

注意:我们在求解上述普通特征值方程$\mathbf{A}a=\lambda^2a$时,由于$\mathbf{A}=\Sigma_{11}^{-1}\Sigma_{12}\Sigma_{22}^{-1}\Sigma_{21}$而求逆过程的计算量大,精度低,故我们可以将其中的对称矩阵$\Sigma_{11}$进行Cholesky分解,即$\Sigma_{11}=\mathbf{R_1}\mathbf{R_1}^\prime$,其中$\mathbf{R_1}$为下三角矩阵。于是方程可化为对称矩阵的求特征值问题:$\mathbf{R_1}^{-1}\Sigma_{12}\Sigma_{22}^{-1}\Sigma_{21}(\mathbf{R_1}^{-1})^\prime u_x=\lambda^2 u_x$,其中$u_x=\mathbf{R_1}^\prime a$。

Jordan Lecture Note-11: 典型相关分析(Canonical Correlation Analysis, CCA).的更多相关文章

  1. Jordan Lecture Note-12: Kernel典型相关分析(Kernel Canonical Correlation Analysis, KCCA).

    Kernel典型相关分析 (一)KCCA 同样,我们可以引入Kernel函数,通过非线性的坐标变换达到之前CCA所寻求的目标.首先,假设映射$\Phi_X: x\rightarrow \Phi_X(x ...

  2. 机器学习: Canonical Correlation Analysis 典型相关分析

    Canonical Correlation Analysis(CCA)典型相关分析也是一种常用的降维算法.我们知道,PCA(Principal Component Analysis) 主分量分析将数据 ...

  3. 经典相关分析,典型关分析, CCA,Canonical Correlation Analysis,多元变量分析,线性组合,相关系数最大化

    1.从概率论中相关系数推广而来 在概率论中,研究两个变量之间的线性相关情况时,提出了 相关系数 这个概念.做一下推广,如果研究一个变量和多个随机变量之间的线性相关关系时,提出了 全相关系数(或者复相关 ...

  4. 典型相关分析CCA计算过程

      本文介绍了CCA解决的问题,CCA原理的推导过程,以及对计算结果物理意义的解释.并且通过SPSS和R操作演示了一个关于CCA的例子.数据文件下载参考[8],SPSS输出结果文件下载参考[9],R代 ...

  5. 多视图学习利器----CCA(典型相关分析)及MATLAB实现

    Hello,我是你们人见人爱花见花开的小花.又和大家见面了,今天我们来聊一聊多视图学习利器------CCA. 一 典型相关分析的基本思想 当我们研究两个变量x和y之间的相关关系的时候,相关系数(相关 ...

  6. SPSS数据分析—典型相关分析

    我们已经知道,两个随机变量间的相关关系可以用简单相关系数表示,一个随机变量和多个随机变量的相关关系可以用复相关系数表示,而如果需要研究多个随机变量和多个随机变量间的相关关系,则需要使用典型相关分析. ...

  7. Jordan Lecture Note-3: 梯度投影法

    Jordan Lecture Note-3:梯度投影法 在这一节,我们介绍如何用梯度投影法来解如下的优化问题: \begin{align} \mathop{\min}&\quad f(x)\n ...

  8. SPSS数据分析—基于最优尺度变换的典型相关分析

    传统的典型相关分析只能考虑变量之间的线性相关情况,且必须为连续变量,而我们依然可以使用最优尺度变换来拓展其应用范围,使其可以分析非线性相关.数据为分类数据等情况,并且不再仅限于两个变量间的分析, 虽然 ...

  9. Jordan Lecture Note-1: Introduction

    Jordan Lecture Note-1: Introduction 第一部分要整理的是Jordan的讲义,这份讲义是我刚进实验室时我们老师给我的第一个任务,要求我把讲义上的知识扩充出去,然后每周都 ...

随机推荐

  1. 《Python 学习手册4th》 第八章 列表与字典

    ''' 时间: 9月5日 - 9月30日 要求: 1. 书本内容总结归纳,整理在博客园笔记上传 2. 完成所有课后习题 注:“#” 后加的是备注内容 (每天看42页内容,可以保证月底看完此书) “重点 ...

  2. WCF扩展

    WCF 可扩展性 WCF 提供了许多扩展点供开发人员自定义运行时行为. WCF 在 Channel Layer 之上还提供了一个高级运行时,主要是针对应用程序开发人员.在 WCF 文档中,它常被称为服 ...

  3. nginx配置:location配置方法及实例详解

    今天深入研究了下nginx的location的用法,已经一些需要注意的细节,现在做一个归纳总结,以备后面查询. location匹配的是nginx的哪个变量? $request_uri locatio ...

  4. User experience

    User experience 以用户为中心, --通过简单的操作快速完成美好的任务 简单 聚焦,我在干什么?我接下来要干什么? 删除.隐藏,合并.分组 使用背景色,而非边框来划分区域 碎片化,电话不 ...

  5. JavaScript中的*top、*left、*width、*Height详解

    来源:http://www.ido321.com/911.html html代码 1: <body> 2: <div class="father" id=&quo ...

  6. 高性能、高容错、基于内存的开源分布式存储系统Tachyon的简单介绍

    Tachyon是什么? Tachyon是一个高性能.高容错.基于内存的开源分布式存储系统,并具有类Java的文件API.插件式的底层文件系统.兼容Hadoop MapReduce和Apache Spa ...

  7. (转载)OC学习篇之---概述

    前言 终于开启了OC的学习篇了,之前由于工作上的事,学习就一直搁浅了,不过最近由于各种原因,感觉必须要开启iOS的开发旅程了,不然就老了.因为之前一直是做Android的,所以学习iOS来就没那么费劲 ...

  8. 5个让人激动的Java项目

    每个Java/JVM领域的技术专家都应从那些项目中获益,他们中有2011在SanJose举办的Jax 会议中提名为最好的技术产品奖的.我之所以选择它们,是因为它们可以广泛用于一系列的项目中,解决真实问 ...

  9. Java并发控制机制详解

    在一般性开发中,笔者经常看到很多同学在对待java并发开发模型中只会使用一些基础的方法.比如Volatile,synchronized.像Lock和atomic这类高级并发包很多人并不经常使用.我想大 ...

  10. html5+css3中的background: -moz-linear-gradient 用法

    在CSS中background: -moz-linear-gradient 让网站背景渐变的属性,目前火狐3.6以上版本和google浏览器支持这个属性. background: -moz-linea ...