stata学习笔记(四):主成份分析与因子分析

1.判断是否适合做主成份分析,变量标准化

Kaiser-Meyer-Olkin抽样充分性测度也是用于测量变量之间相关关系的强弱的重要指标,是通过比较两个变量的相关系数与偏相关系数得到的。

KMO介于0于1之间。KMO越高,表明变量的共性越强。如果偏相关系数相对于相关系数比较高,则KMO比较低,主成分分析不能起到很好的数据约化效果。

根据Kaiser(1974),一般的判断标准如下:

0.00-0.49,不能接受(unacceptable);

0.50-0.59,非常差(miserable);

0.60-0.69,勉强接受(mediocre);

0.70-0.79,可以接受(middling);

0.80-0.89,比较好(meritorious);

0.90-1.00,非常好(marvelous)。

SMC即一个变量与其他所有变量的复相关系数的平方,也就是复回归方程的可决系数。

SMC比较高表明变量的线性关系越强,共性越强,主成分分析就越合适。

. estat smc. estat kmo. estat anti//暂时不知道这个有什么用

得到结果,说明变量之间有较强的相关性,适合做主成份分析。

Squared multiple correlations of variables with all other variables

    -----------------------
        Variable |     smc
    -------------+---------
              x1 |  0.8923
              x2 |  0.9862
              y1 |  0.9657
              y2 |  0.9897
              y3 |  0.9910
              y4 |  0.9898
              y5 |  0.9769
              y6 |  0.9859
              y7 |  0.9735
    -----------------------

变量标准化

. egen z1=std(x1)

2.对变量进行主成份分析

. pca x1 x2 y1 y2 y3 y4 y5 y6 y7
. pca x1 x2 y1 y2 y3 y4 y5 y6 y7, comp(1)

得到下面两个表格,第一个表格中的各项分别为特征根、difference这个不知道是啥、方差贡献率、累积方差贡献率。

*第二个表格即为因子载荷矩阵,它和SPSS中的成份矩阵和成份得分系数矩阵的关系为:

成份矩阵/sqrt(对应的特征值)=因子载荷矩阵=sqrt(对应的特征值)*成份得分系数矩阵

*系数越大,说明主成份对该变量的代表性越大。

Principal components/correlation                  Number of obs    =        19
                                                  Number of comp.  =         9
                                                  Trace            =         9
    Rotation: (unrotated = principal)             Rho              =    1.0000

    --------------------------------------------------------------------------
       Component |   Eigenvalue     Difference         Proportion   Cumulative
    -------------+------------------------------------------------------------
           Comp1 |      7.57604      6.59246             0.8418       0.8418
           Comp2 |      .983579      .731224             0.1093       0.9511
           Comp3 |      .252355      .162221             0.0280       0.9791
           Comp4 |     .0901337     .0323568             0.0100       0.9891
           Comp5 |     .0577769     .0387149             0.0064       0.9955
           Comp6 |      .019062    .00931458             0.0021       0.9977
           Comp7 |    .00974741    .00259494             0.0011       0.9987
           Comp8 |    .00715247    .00299772             0.0008       0.9995
           Comp9 |    .00415475            .             0.0005       1.0000
    --------------------------------------------------------------------------

Principal components (eigenvectors) 

    ----------------------------------------------------------------------------------------------------------------------
        Variable |    Comp1     Comp2     Comp3     Comp4     Comp5     Comp6     Comp7     Comp8     Comp9 | Unexplained
    -------------+------------------------------------------------------------------------------------------+-------------
              x1 |   0.1292    0.9388    0.1499    0.0240    0.0387    0.1398    0.2098    0.0776    0.0884 |           0
              x2 |   0.3485    0.2337   -0.2455    0.1139    0.1515   -0.4559   -0.6523   -0.2378   -0.1946 |           0
              y1 |   0.3482   -0.0578    0.4193    0.1836   -0.7127    0.1420   -0.2687    0.2227   -0.1264 |           0
              y2 |   0.3476   -0.1604    0.4115    0.3539    0.1732   -0.1441    0.2073   -0.4811    0.4834 |           0
              y3 |   0.3528   -0.1002    0.3289   -0.3145    0.3512    0.2787    0.1233   -0.2021   -0.6335 |           0
              y4 |   0.3566   -0.1297    0.1355   -0.1226    0.3995   -0.2039   -0.0372    0.7516    0.2350 |           0
              y5 |   0.3505   -0.0056   -0.2152   -0.7536   -0.3081   -0.0449    0.0658   -0.2047    0.3460 |           0
              y6 |   0.3523   -0.0477   -0.4099    0.2705   -0.2076   -0.3276    0.6130    0.0922   -0.3127 |           0
              y7 |   0.3482   -0.0761   -0.4809    0.2693    0.1291    0.7093   -0.1366    0.0146    0.1750 |           0
    ----------------------------------------------------------------------------------------------------------------------
. estat loading,cnorm(eigen)

利用上述命令可以得到SPSS中的成分矩阵

Principal component loadings (unrotated)
    component normalization: sum of squares(column) = eigenvalue

    --------------------------------------------------------------------------------------------------------
                 |    Comp1     Comp2     Comp3     Comp4     Comp5     Comp6     Comp7     Comp8     Comp9
    -------------+------------------------------------------------------------------------------------------
              x1 |    .3556     .9311    .07533   .007206   .009293     .0193    .02071   .006566   .005701
              x2 |    .9591     .2318    -.1233    .03421    .03642   -.06295    -.0644   -.02011   -.01254
              y1 |    .9584   -.05736     .2106    .05512    -.1713     .0196   -.02653    .01884  -.008146
              y2 |    .9568     -.159     .2067     .1062    .04163    -.0199    .02047   -.04069    .03116
              y3 |    .9712   -.09934     .1652   -.09441    .08441    .03848    .01218   -.01709   -.04083
              y4 |    .9814    -.1286    .06808   -.03679    .09602   -.02815   -.00367    .06357    .01515
              y5 |    .9647  -.005542    -.1081    -.2262   -.07406  -.006196   .006492   -.01731     .0223
              y6 |    .9696   -.04732    -.2059    .08121   -.04991   -.04523    .06052   .007799   -.02015
              y7 |    .9584   -.07548    -.2416    .08084    .03102    .09793   -.01348   .001237    .01128
    --------------------------------------------------------------------------------------------------------

. 

3.画碎石图

. screeplot

4.画载荷图

. loadingplot

5.因子分析

. factor x1 x2 y1 y2 y3 y4 y5 y6 y7, pcf
(obs=19)

Factor analysis/correlation                        Number of obs    =       19
    Method: principal-component factors            Retained factors =        1
    Rotation: (unrotated)                          Number of params =        9

    --------------------------------------------------------------------------
         Factor  |   Eigenvalue   Difference        Proportion   Cumulative
    -------------+------------------------------------------------------------
        Factor1  |      7.57604      6.59246            0.8418       0.8418
        Factor2  |      0.98358      0.73122            0.1093       0.9511
        Factor3  |      0.25235      0.16222            0.0280       0.9791
        Factor4  |      0.09013      0.03236            0.0100       0.9891
        Factor5  |      0.05778      0.03871            0.0064       0.9955
        Factor6  |      0.01906      0.00931            0.0021       0.9977
        Factor7  |      0.00975      0.00259            0.0011       0.9987
        Factor8  |      0.00715      0.00300            0.0008       0.9995
        Factor9  |      0.00415            .            0.0005       1.0000
    --------------------------------------------------------------------------
    LR test: independent vs. saturated:  chi2(36) =  358.55 Prob>chi2 = 0.0000

Factor loadings (pattern matrix) and unique variances

    ---------------------------------------
        Variable |  Factor1 |   Uniqueness
    -------------+----------+--------------
              x1 |   0.3556 |      0.8736
              x2 |   0.9591 |      0.0801
              y1 |   0.9584 |      0.0816
              y2 |   0.9568 |      0.0845
              y3 |   0.9712 |      0.0568
              y4 |   0.9814 |      0.0368
              y5 |   0.9647 |      0.0693
              y6 |   0.9696 |      0.0599
              y7 |   0.9584 |      0.0815
    ---------------------------------------

利用predict命令可以直接得到SPSS中的成分得分系数矩阵,也就是基于factor命令将变量标准化

. predict f1
(regression scoring assumed)

Scoring coefficients (method = regression)

    ------------------------
        Variable |  Factor1
    -------------+----------
              x1 |  0.04693
              x2 |  0.12660
              y1 |  0.12650
              y2 |  0.12630
              y3 |  0.12819
              y4 |  0.12954
              y5 |  0.12734
              y6 |  0.12798
              y7 |  0.12651
    ------------------------
时间: 2024-08-07 18:23:54

stata学习笔记(四):主成份分析与因子分析的相关文章

NLTK学习笔记(四):自然语言处理的一些算法研究

自然语言处理中算法设计有两大部分:分而治之 和 转化 思想.一个是将大问题简化为小问题,另一个是将问题抽象化,向向已知转化.前者的例子:归并排序:后者的例子:判断相邻元素是否相同(与排序). 这次总结的自然语言中常用的一些基本算法,算是入个门了. 递归 使用递归速度上会受影响,但是便于理解算法深层嵌套对象.而一些函数式编程语言会将尾递归优化为迭代. 如果要计算n个词有多少种组合方式?按照阶乘定义:n! = n*(n-1)*...*1 def func(wordlist): length = le

图像识别概念入门之“基于主成份分析的人脸识别学习”

最近看到一篇介绍利用“主成份分析实现人脸识别”的matlab应用实例. 学习了一遍,对主成份分析和图像识别有了一个概念性的认识. 这个例子可能是最简单的人脸识别例子了,暂且不考虑实用性,单单起到认识和了解. 下面matlab程序进行学习注释,希望能帮助记忆.同时加强交流. 程序使用的人脸库来自Essex大学的人脸数据库的face94部分.选择了10个人,每人选择3张照片.1张放入测试集合. 2张放入训练集合.照片比较理想化,绿色背景的大头照片,表情略有不同,光照均匀. 程序的链接如下: http

C++ Primer 学习笔记_45_STL实践与分析(19)--泛型算法的结构

STL实践与分析 --泛型算法的结构 引言: 正如全部的容器都建立在一致的设计模式上一样,算法也具有共同的设计基础. 算法最主要的性质是须要使用的迭代器种类.全部算法都指定了它的每一个迭代器形參可使用的迭代器类型.比方,假设形參必须为随机訪问迭代器则可提供vector或 deque类型的迭代器,或者提供指向数组的指针.而其它容器的迭代器不能用在这类算法上. C++还提供了另外两种算法模式:一种模式由算法所带的形參定义;还有一种模式则通过两种函数命名和重载的规范定义. 一.算法的形參模式 大多数的

主成份分析(Principal Components Analysis)

因子分析是基于概率模型的基础上,利用EM算法的迭代,对参数进行估计.主成份分析(Principal Components Analysis, PCA)仅仅通过的线性变幻,用少数几个主分量来近似的表示所有的变量,以达到降低维度的目的. 一.  规范化(normalize) 规范化的目的是将不同尺度的数据化为同一尺度.规范化的步骤如下: (1)令 : (2)将所有替换为: (3)令: (4)将所有替换为. 其中,步骤(1)和步骤(2)将数据的均值转换为零:步骤(3)和步骤(4)使得数据都为单位方差,

Caliburn.Micro学习笔记(四)----IHandle<T>实现多语言功能

Caliburn.Micro学习笔记(四)----IHandle<T>实现多语言功能 说一下IHandle<T>实现多语言功能 因为Caliburn.Micro是基于MvvM的UI与codebehind分离, binding可以是双向的所以我们想动态的实现多语言切换很是方便今天我做一个小demo给大家提供一个思路 先看一下效果 点击英文  变成英文状态点chinese就会变成中文                          源码的下载地址在文章的最下边 多语言用的是资源文件建

代码管理工具 --- git的学习笔记四《重新整理git(1)》

1.创建版本库 mkdir  创建目录 cd  地址,到该地址下 pwd 显示当前目录 1.创建目录 $ mkdir startGit $ cd startGit $ pwd 显示当前目录 或者cd到桌面,然后再创建目录 2.初始化版本库 $ git init 初始化仓库 提示信息:Initialized empty Git repository in /Users/xingzai/Desktop/startGit/.git/ 建立一个空的git仓库在/Users/xingzai/Desktop

Linux学习笔记四:Linux的文件搜索命令

1.文件搜索命令  which 语法:which [命令名称] 范例:$which ls  列出ls命令所在目录 [[email protected] ~]$ which ls alias ls='ls --color=auto' /bin/ls 另外一个命令:whereis [名称名称],也可以列出命令所在目录. [[email protected] ~]$ whereis ls ls: /bin/ls /usr/share/man/man1/ls.1.gz /usr/share/man/ma

小猪的数据结构学习笔记(四)

小猪的数据结构学习笔记(四) 线性表之静态链表 --转载请注明出处:coder-pig 本章引言: 在二,三中中我们分别学习了顺序表中的线性表与单链表,线性表有点类似于 我们前面所学的数组,而单链表使用的最多的是指针,这里问个简单的问题, 如果是在以前没有指针的话,前辈先人们怎么实现单链表呢?大家思考下! 没有指针,那么用什么来代替呢?前辈先人们非常机智,想出了使用下标+游标的方式 来实现单链表的效果!也就是今天要讲的--静态链表! 当然你也可以直接跳过本章,因为有了单链表就没有必要用静态链表了

Swift学习笔记四:数组和字典

最近一个月都在专心做unity3d的斗地主游戏,从早到晚,最后总算是搞出来了,其中的心酸只有自己知道.最近才有功夫闲下来,还是学习学习之前的老本行--asp.net,现在用.net做项目流行MVC,而不是之前的三层,既然技术在更新,只能不断学习,以适应新的技术潮流! 创建MVC工程 1.打开Visual studio2012,新建MVC4工程 2.选择工程属性,创建MVC工程 3.生成工程的目录 App_Start:启动文件的配置信息,包括很重要的RouteConfig路由注册信息 Conten