典型相关分析(Matlab实现函数)

 

先附上自己认为写的比较好的一篇博客。

https://www.cnblogs.com/duye/p/9384821.html

同时要指出自己博文的问题:对于Matlab中canoncorr中的stats参数结果并不是很清晰,自己统计不行。

典型相关分析

            不仅需要考虑两个变量之间的相关程度,而且还需要考察多个变量与多个变量之间的相关性。

            比若说工厂管理人员需要了解原料的主要质量指标X1,x2..Xp与产品的主要质量指标Y1,Y2,。。。Yp之间的相关性;又或者病人的一组体检化验指标与疾病之间的相关性

            典型相关分析就是度量两组变量之间相关程度的一种多元统计方法。

            是两个随机变量之间相关性在两组变量之下的推广。

 

基本原理

  对于两组随机变量(X1,X2,…,Xp)和(Y1,Y2,..,Yp),像主成分分析那样,考虑(X1,X2,…,Xp)的一个线性组合U及(Y1,Y2,..,Yp)的一个线性组合V,希望找到U和V之间的最大可能的相关系数,来充分反映两组变量之间的关系。这样就可以把研究两组随机变量间相关关系的问题转化为研究两个随机变量之间的相关关系。如果说一对变量(U,V)还不能完全刻画两组变量间的相关关系,可以继续找第二对变量,但是要保证第二对的变量与第一对的变量不相关,直至找不到相关变量时为止。

1.总体典型相关变量

一般地,若前k-1对典型变量还不足以反映X,Y之间的相关性,还可以构造第k对线性组合。

在约束条件

            Var(Uk)=var(Vk)=1;

Cov(Uk,Uj)=cov(Uk,Vj)=cov(Vk,Uj)=cov(Vk,Vj)=0(1<=j<k)

求得ak,bk时得p(Uk,vk)取得最大值。

2.总体典型变量与典型相关系数的计算方法。

 

 

5.3.2 样本的典型变量与典型相关系数

 在实际中,(X’,Y’)’的协方差矩阵 (或者相关系数矩阵R)一般是未知的,我们具有的资料通常是关于X和Y的n组观测数据。

和主成分分析一样,计算样本协方差矩阵作为 或者 的估计,

代替之后呢样本典型变量和典型相关系数计算方法同总体典型变量和典型相关洗漱袋额计算方法一样。

 

 

Matlab命令为 canoncorr,调用格式如下

[A,B,r,U,V,stats]=canoncorr(X,Y);

param:

  x:原始变量x矩阵,每列一个自变量指标,第i列是 xi 的样本值

  y:原始变量y矩阵,每列一个因变量指标,第j列是 yj 的样本值

return:

  a:自变量x的典型相关变量系数矩阵,每列是一组系数。

        列数为典型相关变量数

  b:因变量y的典型相关变量系数矩阵,每列是一个系数

  r: 典型相关系数。即第一对<u1,v1>之间的相关系数、第二对<u2,v2>之间的相关系数…

  u:对于X的典型相关变量的值

  v:对于Y的典型相关变量的值

  stats:假设检验的值<详细用一下就知道了>

例子

5.3.3 典型相关系数的显著性检验

典型相关分析是够恰当,取决于两组变量之间是否真正的相关,所以我们需要进行检验。

 

 

1.检验方法

大体的意思:先进行假设,原假设‘不能进行典型相关分析’,然后检验,一直到所有的(U,V)对才可以结束,检验的方法:似然比统计量。

 

  • 21
    点赞
  • 201
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: 我很高兴回答您的问题。典型相关分析可以用MATLAB实现。在MATLAB中,可以使用`canoncorr`函数实现典型相关分析。该函数会接受两个矩阵,并计算它们之间的典型相关系数和相应的变量贡献度。然后,您可以通过将这些系数和贡献度反映回原始数据来解释结果。希望这可以帮助您! ### 回答2: 典型相关分析(Canonical Correlation Analysis, CCA)是一种统计分析方法,用于找到两个多元变量之间的最大相关性。在MATLAB中,可以使用统计和机器学习工具箱中的`canoncorr`函数来进行典型相关分析。 `canoncorr`函数的语法如下: ``` [R, A, B, U, V, stats] = canoncorr(X, Y) ``` 其中,X和Y是两个输入的多变量数据集,如X可以是一个m×n的矩阵,每一行是一个m维样本,n是X的变量数。Y也是类似的矩阵。R是典型相关系数矩阵,它表示两个变量之间的相关程度。A和B是X和Y的权重系数矩阵,它们用于计算典型变量。U和V是典型变量矩阵,它们是X和Y的线性组合。stats是一个结构体,包含有关典型相关分析的统计信息。 运行典型相关分析后,可以通过检查R矩阵来了解两个变量之间的相关性。更高的典型相关系数表示更强的相关性。A和B矩阵显示了如何将变量映射到典型变量上。通过观察U和V矩阵,可以了解哪些变量对典型相关性具有最大影响。 对于典型相关分析的结果,还可以进行显著性检验,以确定典型相关性是否显著。stats结构体提供了相关的统计信息,如Wilks' Lambda指标等。 总之,MATLAB中的典型相关分析函数`canoncorr`可以用于衡量两个多变量数据集之间的相关性,并提供有关两个变量集的统计信息。这对于研究变量之间的关系、特征选择和模式识别等应用非常有用。 ### 回答3: 典型相关分析(Canonical Correlation Analysis,CCA)是一种用于探究两个多元变量之间关系的统计方法。该方法可以同时分析两个变量集,找到它们之间的最大相关系数以及相关的线性组合。 在MATLAB中,可以使用统计工具箱中的函数`canoncorr`来进行典型相关分析。使用该函数的基本语法如下: ```matlab [R,r,U,V,stats] = canoncorr(X,Y) ``` 其中,`X`和`Y`是两个多维数据集,分别表示第一个和第二个变量集。`R`是两个变量之间的典型相关系数矩阵,`r`是每个典型相关系数的置信度,`U`和`V`是两个变量集的典型变量矩阵。`stats`是一个结构体,包含了典型相关分析的统计结果,如假设检验的统计量和p值等。 使用`canoncorr`函数进行典型相关分析的具体步骤如下: 1. 将要分析的数据集`X`和`Y`组织成矩阵形式。 2. 调用`canoncorr`函数,并将数据集`X`和`Y`作为参数传入。 3. 根据需要,可以获取典型相关系数矩阵`R`,典型相关变量矩阵`U`和`V`以及其他统计结果。 可以进一步扩展典型相关分析的应用,如使用相关系数矩阵`R`进行变量选择、变量降维或者预测建模等。在MATLAB中,还有其他的函数和工具可以用于支持典型相关分析的进一步分析和应用。 总之,MATLAB中提供了丰富的工具和函数来进行典型相关分析,可以灵活地探究两个多元变量之间的关系,并获得相应的统计结果。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值