0
点赞
收藏
分享

微信扫一扫

拓端数据tecdat|R语言 PCA(主成分分析),CA(对应分析)夫妻职业差异和马赛克图可视化


主成分分析法是数据挖掘中常用的一种降维算法,是Pearson在1901年提出的,再后来由hotelling在1933年加以发展提出的一种多变量的统计方法,其最主要的用途在于“降维”,通过析取主成分显出的最大的个别差异,也可以用来削减回归分析和聚类分析中变量的数目,与因子分析类似。

所谓降维,就是把具有相关性的变量数目减少,用较少的变量来取代原先变量。如果原始变量互相正交,即没有相关性,则主成分分析没有效果。

对应分析(CA)是适用于分析由两个定性变量(或分类数据)形成的大型应变表的主成分分析的扩展。本文通过析取主成分来分析夫妻职业的个别差异。

夫妻职业数据

考虑以下数据,对应于一对夫妻中的职业。我们有以下的频数表

read.table(data.csv",header=TRUE)

拓端数据tecdat|R语言 PCA(主成分分析),CA(对应分析)夫妻职业差异和马赛克图可视化_数据

传统上,对于这种数据,我们习惯于使用卡方检验,卡方距离,以及卡方贡献来查看数据的差异性

chisq.test(M)

拓端数据tecdat|R语言 PCA(主成分分析),CA(对应分析)夫妻职业差异和马赛克图可视化_r语言_02

马赛克图

Mosaic plot常常用来展示Categorical data(分类数据)(关于不同的数据类别,mosaic plot 强大的地方在于它能够很好的展示出2个或者多个分类型变量(categorical variable)的关系. 它也可以定义为用图像的方式展示分类型数据。

当变量是类别变量时,且数目多于三个的时候,可使用马赛克图。马赛克图中,嵌套矩阵面积正比于单元格频率,其中该频率即多维列联表中的频率。颜色和阴影可表示拟合模型的残差值。

我们可以将其结果用马赛克图来形象化。

 

plot(tM)

丈夫在行中,妻子在列中。重要的联系是蓝色或红色,这两种颜色分别对应于 "正 "联系(比独立情况下的联合概率高)或 "负 "联系(比独立情况下的联合概率低)。

拓端数据tecdat|R语言 PCA(主成分分析),CA(对应分析)夫妻职业差异和马赛克图可视化_主成分分析_03

在另一个方向

 

plot(M)

但结论与之前一样:对角线上有很强的蓝色数值。

拓端数据tecdat|R语言 PCA(主成分分析),CA(对应分析)夫妻职业差异和马赛克图可视化_主成分分析_04

换句话说,这些夫妻在职业方面是相对相似和单一的。

主成分分析和对应分析

在对应分析中,我们查看概率表,在行或列中。例如,我们可以定义行,它是概率向量

拓端数据tecdat|R语言 PCA(主成分分析),CA(对应分析)夫妻职业差异和马赛克图可视化_主成分分析_05

N/apply(N,1,sum)

注意到 

拓端数据tecdat|R语言 PCA(主成分分析),CA(对应分析)夫妻职业差异和马赛克图可视化_数据_06

,我们可以写出

拓端数据tecdat|R语言 PCA(主成分分析),CA(对应分析)夫妻职业差异和马赛克图可视化_主成分分析_07

我们的线向量的重心在这里

拓端数据tecdat|R语言 PCA(主成分分析),CA(对应分析)夫妻职业差异和马赛克图可视化_r语言_08

同样,注意到 

拓端数据tecdat|R语言 PCA(主成分分析),CA(对应分析)夫妻职业差异和马赛克图可视化_数据_09

, 我们可以用矩阵的方式来写, 

拓端数据tecdat|R语言 PCA(主成分分析),CA(对应分析)夫妻职业差异和马赛克图可视化_主成分分析_10

.

拓端数据tecdat|R语言 PCA(主成分分析),CA(对应分析)夫妻职业差异和马赛克图可视化_主成分分析_11

L0=(t(L)-Lbar)

对于每一个点,我们都将(相对)频率作为权重进行关联,拓端数据tecdat|R语言 PCA(主成分分析),CA(对应分析)夫妻职业差异和马赛克图可视化_r语言_12这相当于使用矩阵 。为了测量两点之间的距离拓端数据tecdat|R语言 PCA(主成分分析),CA(对应分析)夫妻职业差异和马赛克图可视化_主成分分析_13,我们将通过概率的倒数对欧氏距离进行加权,拓端数据tecdat|R语言 PCA(主成分分析),CA(对应分析)夫妻职业差异和马赛克图可视化_r语言_14 。两条线之间的距离是

拓端数据tecdat|R语言 PCA(主成分分析),CA(对应分析)夫妻职业差异和马赛克图可视化_主成分分析_15

然后我们将用这些不同的权重做主成分分析。从矩阵的角度来看

拓端数据tecdat|R语言 PCA(主成分分析),CA(对应分析)夫妻职业差异和马赛克图可视化_r语言_16

我们注意到特征向量

拓端数据tecdat|R语言 PCA(主成分分析),CA(对应分析)夫妻职业差异和马赛克图可视化_r语言_17

,我们定义了主成分

拓端数据tecdat|R语言 PCA(主成分分析),CA(对应分析)夫妻职业差异和马赛克图可视化_r语言_18

对线条的前两个成分的投影,在此给出了

PCA(L0,scal=FALSE

拓端数据tecdat|R语言 PCA(主成分分析),CA(对应分析)夫妻职业差异和马赛克图可视化_数据_19

拓端数据tecdat|R语言 PCA(主成分分析),CA(对应分析)夫妻职业差异和马赛克图可视化_r语言_20

 

我们的想法是将对应于行的个体进行可视化。在第二步中,我们做相同的事情,在列中

拓端数据tecdat|R语言 PCA(主成分分析),CA(对应分析)夫妻职业差异和马赛克图可视化_数据_21

N/apply(N,2,sum))

中心:

拓端数据tecdat|R语言 PCA(主成分分析),CA(对应分析)夫妻职业差异和马赛克图可视化_数据_22

C0=C-Cbar

主成分分析

然后我们可以做一个主成分分析

PCA(matC0

看个人的可视化。

拓端数据tecdat|R语言 PCA(主成分分析),CA(对应分析)夫妻职业差异和马赛克图可视化_主成分分析_23

拓端数据tecdat|R语言 PCA(主成分分析),CA(对应分析)夫妻职业差异和马赛克图可视化_r语言_24

对应分析

对应分析的奇妙之处在于,我们 "可以 "在同一平面上表示个人的两个投影。

  1.   
  2.  > plot(C[,1:2])

拓端数据tecdat|R语言 PCA(主成分分析),CA(对应分析)夫妻职业差异和马赛克图可视化_主成分分析_25

 

结果如下

> afc=CA(N)

拓端数据tecdat|R语言 PCA(主成分分析),CA(对应分析)夫妻职业差异和马赛克图可视化_r语言_26

 

拓端数据tecdat|R语言 PCA(主成分分析),CA(对应分析)夫妻职业差异和马赛克图可视化_数据_27


举报

相关推荐

0 条评论