数学建模常用模型13 :相关性分析 相关分析研究的是两个变量的相关性,但你研究的两个变量必须是有关联的,如果你把历年人口总量和你历年的身高做相关性分析,分析结果会呈现显著地相关,但它没有实际的意义,因为人口总量和你的身高都是逐步增加的,从数据上来说是有一致性,但他们没有现实意义。 相关性分析和聚类分析一样,比较简单,数学建模中经常用,但是每次都只用一小步,或者只是对数据进行一下分析,根据分析的结果确定使用的方法,所以这些方法不要掌握的特别深,能会用SPSS实现就行。相关性分析可以是简单的理解为各个变量之间的相关程度。 一般这样认为: 0.8-1.0 极强相关 0.6-0.8 强相关 0.4-0.6 中等程度相关 0.2-0.4 弱相关 0.0-0.2 极弱相关或无相关 Sperman或kendall等级相关分析 Person相关(样本点的个数比较多)//一般常用皮尔逊相关 Copula相关(比较难,金融数学,概率密度) 典型相关分析(因变量组Y1234,自变量组X1234,各自变量组相关性比较强,问哪一个因变量与哪一个自变量关系比较紧密?) 下面是一个典型相关性分析的MATLAB的程序,想看的可以看一下 例 满意度典型相关分析 某调查公司从一个大型零售公司随机调查了 784 人,测量了 5 个职业特性指标和 7个职业满意变量,有关的变量见表 1讨论两组指标之间是否相联系。 表1 指标变量表 | X1—用户反馈,X2—任务重要性,X3—任务多样性,X4—任务特殊性 X5—自主性 | | Y1—主管满意度,Y2—事业前景满意度,Y3—财政满意度,Y4—工作强度满意度,Y5—公司地位满意度, Y6—工作满意度,Y7—总体满意度 |
相关系数矩阵数据见表 2 表2 相关系数矩阵数据 一些计算结果的数据见下面的表格。 表3 的典型变量 表 4原始变量与本组典型变量之间的相关系数 表 5原始变量与对应组典型变量之间的相关系数 表6 典型相关系数 MATLAB源代码: clc,clear load r.txt %原始的相关系数矩阵保存在纯文本文件r.txt中 n1=5;n2=7;num=min(n1,n2); s1=r(1:n1,1:n1); %提出X与X的相关系数 s12=r(1:n1,n1+1:end); %提出X与Y的相关系数 s21=s12'; %提出Y与X的相关系数 s2=r(n1+1:end,n1+1:end); %提出Y与Y的相关系数 m1=inv(s1)*s12*inv(s2)*s21; %计算矩阵M1 m2=inv(s2)*s21*inv(s1)*s12; %计算矩阵M2 [vec1,val1]=eig(m1); %求M1的特征向量和特征值 for i=1:n1 vec1(:,i)=vec1(:,i)/sqrt(vec1(:,i)'*s1*vec1(:,i)); %特征向量归一化,满足a's1a=1 vec1(:,i)=vec1(:,i)/sign(sum(vec1(:,i))); %特征向量乘以1或-1,保证所有分量和为正 end val1=sqrt(diag(val1)); %计算特征值的平方根 [val1,ind1]=sort(val1,'descend'); %按照从大到小排列 a=vec1(:,ind1(1:num)) %取出X组的系数阵 dcoef1=val1(1:num) %提出典型相关系数 [vec2,val2]=eig(m2); for i=1:n2 vec2(:,i)=vec2(:,i)/sqrt(vec2(:,i)'*s2*vec2(:,i)); %特征向量归一化,满足b's2b=1 vec2(:,i)=vec2(:,i)/sign(sum(vec2(:,i))); %特征向量乘以1或-1,保证所有分量和为正 end val2=sqrt(diag(val2)); %计算特征值的平方根 [val2,ind2]=sort(val2,'descend'); %按照从大到小排列 b=vec2(:,ind2(1:num)) %取出Y组的系数阵 dcoef2=val2(1:num) %提出典型相关系数 x_u_r=s1*a %x,u的相关系数 y_v_r=s2*b %y,v的相关系数 x_v_r=s12*b %x,v的相关系数 y_u_r=s21*a %y,u的相关系数 mu=sum(x_u_r.^2)/n1 %x组原始变量被u_i解释的方差比例 mv=sum(x_v_r.^2)/n1 %x组原始变量被v_i解释的方差比例 nu=sum(y_u_r.^2)/n2 %y组原始变量被u_i解释的方差比例 nv=sum(y_v_r.^2)/n2 %y组原始变量被v_i解释的方差比例 fprintf('X组的原始变量被u1~u%d解释的比例为%f\n',num,sum(mu)); fprintf('Y组的原始变量被v1~v%d解释的比例为%f\n',num,sum(nv)); 可以看出,所有五个表示职业特性的变量与有大致相同的相关系数,视为形容职业特性的指标。第一对典型变量的第二个成员V1与Y1,Y2,Y5,Y6有较大的相关系数,说明V1主要代表了主管满意度,事业前景满意度,公司地位满意度和工种满意度。而U1和V1之间的相关系数0.5537。 u1和v1解释的本组原始变量的比率:
,
X组的原始变量被到解释了100%, Y 组的原始变量被到解释了80.3%。 6 `, v9 x' p x/ L' P0 Z( W
$ f* @0 i3 _$ N% T. [9 R2 b |