【数学建模】day11

您所在的位置:网站首页 x与x的相关系数怎么求 【数学建模】day11

【数学建模】day11

2024-07-14 20:13| 来源: 网络整理| 查看: 265

这与主成分分析有点相似。

 

0. 基本思想主成分分析(PCA)是把原始有相关性变量,线性组合出无关的变量(投影),以利用主成分变量进行更加有效的分析。而典型相关分析(CCA)的思想是:

分析自变量组 X = [x1,x2,x3…xp],因变量组 Y = [y1,y2,y3…yq] 之间的相关性。(注意这里X的每一个自变量x1是个列向量,代表有多个观测值)。

如果采用传统的相关分析,只要求X的每一个变量与Y的每一个变量的相关系数,从而组成相关系数矩阵 R = [rij]p*q ,rij表示第i个自变量xi与第j个因变量yj之间的相关系数。

然而,这是有缺陷的:只粗暴的考虑了X与Y的关系,却忽略了X自变量之间也可能有相关关系,Y因变量之间亦如此。

解决的方法类似于主成分分析,我们可以把X提取出主成分,Y也提取出主成分,从而X、Y内部线性不相关了,这样利用主成分研究X与Y之间相关性就解决了上述缺点。

1. 典型相关分析

典型相关分析:

假设

自变量组:X = [x1,x2,x3…xp]

因变量组:Y = [y1,y2,y3…yq]

注意,xi与yj都是相同维度的列向量。

要求

分析X与Y之间的相关性

 

2 直观描述

首先在X中找出线性组合u1, 在Y中找出线性组合v1,使得 r(u1,v1)达到最大。

其次,在X中找第二个线性组合u2,Y中找第二个线性组合v2,要求使得u2与u1线性不相关,v2与v1线性不相关,并且: r(u2,v2)达到次大。

继续。直到两组变量之间的相关性被提取完毕。

 

3 数学描述

数学描述:

image

image

image

image

image

线性组合得到的变量称作典型变量。

 

4. 典型相关模型的分析

需要分析原始变量与典型变量之间的相关性。

原始变量xi与典型变量uj之间的相关性为:

image

式中,α是典型变量系数。

同理可求得原始变量xi与典型变量vj、yi与vj、yi与uj之间的相关系数。

建模时可以列出这四个相关系数表格。

 

进而,我们要对典型变量对各组原始变量解释能力做分析,因为原始变量-->典型变量毕竟会有信息的损失。

Def:

image

其中,ρ(ui,xk) 是指原始变量xk与电影变量ui之间的相关系数。

注:

1)这个解释能力是指,原始变量—>典型变量后,某个典型变量 ui 对原始变量的解释能力。因为如果采用比较少的典型变量,就会有更多的信息损失,这与PCA分析中主成分贡献率类似。

2) 计算方法是:某个典型变量ui与所有xk(k=1 to p)的相关系数的平方和,再除以变量个数。这是方差比例。

 

我们还要进行典型相关系数的检验。

这一步是建模必须的。

计算典型相关系数用到的是,X与X之间的协方差矩阵、X与Y之间的协方差矩阵、Y与Y之间的协方差矩阵。而这些协方差矩阵其实是未知的,我们只是用一些样本对总体进行了近似。这个近似是有误差的,需要进行有关的假设检验。

即:整体检验:检验X与Y之间的协方差矩阵是否为0。若是0,则显然X与Y不相关。否则X与Y具有相关性,即说明至少第一对典型变量之间的相关性显著。

部分检验:检验部分典型相关系数为0的检验:也就是第k对典型相关变量之间相关关系不显著。

下面进行检验:

1)整体检验

image

image

 

2)部分总体典型相关系数为零的检验

image

 

5 Summary:典型相关分析步骤

步骤如下:

设标准化后,X、Y增广阵为Z:

image

 

step1:计算原始变量X、Y增广阵的相关系数矩阵R,并且剖分为:image,其中,R11是X的协方差矩阵,R12是X与Y的协方差矩阵。

step2:求典型相关系数以及典型变量。

    image

step3:进行典型相关系数λi的显著性检验。有整体检验与部分检验,详情见上。

step4:典型结构与典型冗余分析。

这其实是计算:

image

典型结构分析:其实就是X组原始变量被ui解释分方差比例,Y组原始变量被vi解释的方差比例

image

典型冗余分析:其实就是X组原始变量被vi解释分方差比例,Y组原始变量被ui解释的方差比例

image

image

 

 

 

 

6. MATLAB实现。

MATLAB进行典型相关分析命令:

先查看一下Matlab help命令解释:

canoncorr Canonical correlation analysis. [A,B] = canoncorr(X,Y) computes the sample canonical coefficients for the N-by-P1 and N-by-P2 data matrices X and Y. X and Y must have the same number of observations (rows) but can have different numbers of variables (cols). A and B are P1-by-D and P2-by-D matrices, where D = min(rank(X),rank(Y)). The jth columns of A and B contain the canonical coefficients, i.e. the linear combination of variables making up the jth canonical variable for X and Y, respectively. Columns of A and B are scaled to make COV(U) and COV(V) (see below) the identity matrix. If X or Y are less than full rank, canoncorr gives a warning and returns zeros in the rows of A or B corresponding to dependent columns of X or Y. [A,B,R] = canoncorr(X,Y) returns the 1-by-D vector R containing the sample canonical correlations. The jth element of R is the correlation between the jth columns of U and V (see below). [A,B,R,U,V] = canoncorr(X,Y) returns the canonical variables, also known as scores, in the N-by-D matrices U and V. U and V are computed as U = (X - repmat(mean(X),N,1))*A and V = (Y - repmat(mean(Y),N,1))*B. [A,B,R,U,V,STATS] = canoncorr(X,Y) returns a structure containing information relating to the sequence of D null hypotheses H0_K, that the (K+1)st through Dth correlations are all zero, for K = 0:(D-1). STATS contains seven fields, each a 1-by-D vector with elements corresponding to values of K: Wilks: Wilks' lambda (likelihood ratio) statistic chisq: Bartlett's approximate chi-squared statistic for H0_K, with Lawley's modification pChisq: the right-tail significance level for CHISQ F: Rao's approximate F statistic for H0_K pF: the right-tail significance level for F df1: the degrees of freedom for the chi-squared statistic, also the numerator degrees of freedom for the F statistic df2: the denominator degrees of freedom for the F statistic Example: load carbig; X = [Displacement Horsepower Weight Acceleration MPG]; nans = sum(isnan(X),2) > 0; [A B r U V] = canoncorr(X(~nans,1:3), X(~nans,4:5)); plot(U(:,1),V(:,1),'.'); xlabel('0.0025*Disp + 0.020*HP - 0.000025*Wgt'); ylabel('-0.17*Accel + -0.092*MPG') See also pca, manova1.

 

典型相关分析函数:[a,b,r,u,v,stats] = cononcorr(x,y):

param:

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

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

return:

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

        列数为典型相关变量数

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

  r: 典型相关系数。即第一对之间的相关系数、第二对之间的相关系数…

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

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

  stats:假设检验的值

 

 

 

也可以使用MATLAB按照原理直接编写程序,一个实现的例子如下:

image

实现程序:

image

image

image

这个典型相关系数表中,第一列0.5537是第的相关系数。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3