多变量分析

现实中的统计对象经常用多个指标来表示,比如人口普查,就可以有姓名、性别、出 生年月日、籍贯、婚姻状况、民族、政治面貌、地区等,企业调查,可以有净资产、负债、 盈利、职工人数、还贷情况等等。多个指标(变量)可以分别进行分析,但是,我们往往希 望综合使用这些指标,这时,有主分量分析、因子分析等方法可以把数据的维数降低,同时 又尽量不损失数据中的信息。

I. 主分量分析

一、理论介绍

主分量分析的目的是从原始的多个变量取若干线性组合,能尽可能多地保留原始变量 中的信息。从原始变量到新变量是一个正交变换(坐标变换)。设有 是一个 维随机变量,有二阶矩,记 。考虑它的线性变换

易见

如果要用 尽可能多地保留原始的 的信息,经典的办法是使 的方差尽可能大,这需要对线性变换的系数 加限制,一般要求它是单位向量,即 。其它的各 也希望尽可能多地保留 的信息,但前面的 已保留的信息就不再保留,即要求 ,同时对 也有 的要求,在这样的条件下使 最大。设协方差阵 的特征值为 ,相应的单位特征向量分别为 (当特征根有重根时单位特征向量不唯一) 。这时 的第 个主成分为 ,且 。记 ,则 为正交阵, ,且 ,其中 的主对角线元素。

主分量 与原始变量 的相关系数 称为因子负荷量(factor loading),可以 证明

为了减少变量的个数,希望前几个 就可以代表 的大部分信息。定义 为主分量 的贡献率,称 为主分量 的累计贡献率。一般取 使得累计贡献率达到70%-80%以上。累计贡 献率表示 个主分量从 中提取了多少信息,但没有表达用它来恢复 每一个 能恢复多少,为此定义 个主分量 对原始变量 的贡献率 的复相关系数平方,可以用公式 计算(注意 )。前 个主分量 个线性组合中能对 最好地线性逼近。

在上面的主分量计算方法中,方差越大的变量越被优先保留信息,实际中为了消除这 种影响经常把变量标准化,即令

这时 的协方差阵就是 的相关阵 。这时,主分量的协方差阵是 ,其中 的特征根; 与主分量 的相关系数(因子负荷量)为 ,其中 的对应 的单位特征向量;

对于X的观测样本,设第t次观测为 ,把数据写成矩阵形式为

得协方差阵 的估计 和相关阵 的估计 ,从 可以得到主分量分解。计算特征值和单位特 征向量,仍记为 ,用 作为X的第i主分量,而 称为第t个观测的主分量得分。结果得到的主 分量得分矩阵为 。可以把 的前几行作为维数压缩后的数据。在SAS的PRINCOMP 中计算主分量得分时如果主分量分解是用相关阵得到的则原始自变量要先标准化(减去均值 并除以标准差),如果分解用的是协方差阵则计算主分量得分时只对原始变量中心化(减去 均值)。

二、用PRINCOMP过程计算主分量分析

SAS的PRINTCOMP过程有如下功能:

PRINCOMP主要使用PROC PRINCOMP语句与VAR语句。PROC PRINCOMP语句用来规定输入输出 和一些运行选项,包括:

DATA=输入数据集,可以是原始数据集,也可以是TYPE=CORR,COV的数据集
OUT=输出包含原始数据和主分量得分的数据集
OUTSTAT=统计量输出数据集
COV 要求从协方差阵出发计算主分量。缺省为从相关阵出发计算。
N=要计算的主分量个数。缺省时全算。
NOINT  要求在模型中不使用截距项。这时统计量输出数据集类型为TYPE=UCORR或UCOV。
STD  要求在OUT=的数据集中把主分量得分标准化为单位方差。不规定时方差为相应特征
     值。

用VAR语句指定原始变量。必须为数值型(区间变量)。

三、应用举例

例1.一月和七月平均气温的主分量分析

在数据集TEMPERAT中存放有美国一些城市一月和七月的平均气温。我们希望对这两个气温 进行主成分分析,希望用一个统一的温度来作为总的可比的温度,所以进行主分量分析。程 序如下:

/*EXAMPLE 1*/
DATA TEMPERAT;
   INPUT CITY $1-15 JANUARY JULY;
   CARDS;
MOBILE          51.2 81.6
PHOENIX         51.2 91.2
LITTLE ROCK     39.5 81.4
SACRAMENTO      45.1 75.2
DENVER          29.9 73.0
HARTFORD        24.8 72.7
WILMINGTON      32.0 75.8
WASHINGTON DC   35.6 78.7
JACKSONVILLE    54.6 81.0
MIAMI           67.2 82.3
ATLANTA         42.4 78.0
BOISE           29.0 74.5
CHICAGO         22.9 71.9
PEORIA          23.8 75.1
INDIANAPOLIS    27.9 75.0
DES MOINES      19.4 75.1
WICHITA         31.3 80.7
LOUISVILLE      33.3 76.9
NEW ORLEANS     52.9 81.9
PORTLAND, MAINE 21.5 68.0
BALTIMORE       33.4 76.6
BOSTON          29.2 73.3
DETROIT         25.5 73.3
SAULT STE MARIE 14.2 63.8
DULUTH           8.5 65.6
MINNEAPOLIS     12.2 71.9
JACKSON         47.1 81.7
KANSAS CITY     27.8 78.8
ST LOUIS        31.3 78.6
GREAT FALLS     20.5 69.3
OMAHA           22.6 77.2
RENO            31.9 69.3
CONCORD         20.6 69.7
ATLANTIC CITY   32.7 75.1
ALBUQUERQUE     35.2 78.7
ALBANY          21.5 72.0
BUFFALO         23.7 70.1
NEW YORK        32.2 76.6
CHARLOTTE       42.1 78.5
RALEIGH         40.5 77.5
BISMARCK         8.2 70.8
CINCINNATI      31.1 75.6
CLEVELAND       26.9 71.4
COLUMBUS        28.4 73.6
OKLAHOMA CITY   36.8 81.5
PORTLAND, OREG  38.1 67.1
PHILADELPHIA    32.3 76.8
PITTSBURGH      28.1 71.9
PROVIDENCE      28.4 72.1
COLUMBIA        45.4 81.2
SIOUX FALLS     14.2 73.3
MEMPHIS         40.5 79.6
NASHVILLE       38.3 79.6
DALLAS          44.8 84.8
EL PASO         43.6 82.3
HOUSTON         52.1 83.3
SALT LAKE CITY  28.0 76.7
BURLINGTON      16.8 69.8
NORFOLK         40.5 78.3
RICHMOND        37.5 77.9
SPOKANE         25.4 69.7
CHARLESTON, WV  34.5 75.0
MILWAUKEE       19.4 69.9
CHEYENNE        26.6 69.1
;
PROC PRINCOMP COV OUT=PRIN;

  VAR JULY JANUARY;
RUN;

在INSIGHT中打开WORK.PRIN,分别绘制JULY对JANUARY、PRIN2对PRIN1的散点图(图 1) 。从图可以看出主分量为原始变量的一个正交旋转。输出如下:

                                 Principal Component Analysis   
      62 Observations                                           
       2 Variables                                              
                                      Simple Statistics         
                                             JULY           JANUARY 
                           Mean       75.92096774       32.55483871 
                           StD         4.88061193       11.59197967     


                                      Covariance Matrix                      
        
                                              JULY           JANUARY         
       
                         JULY           23.8203728        43.4319461         
       
                         JANUARY        43.4319461       134.3739926         
       
                                Total Variance = 158.19436542                
        

                             Eigenvalues of the Covariance Matrix            
        
                       Eigenvalue      Difference      Proportion      Cumulative
    
            PRIN1         149.396         140.597        0.944380         0.94438
   
            PRIN2           8.799            .           0.055620         1.00000
   
                                         Eigenvectors                        
       
                                                                             
       
                                             PRIN1         PRIN2             
       
                             JULY         0.326866      0.945071             
        
                             JANUARY      0.945071      -.326866

输出中,第一部分为简单统计量(均值和标准差),第二部分为协方差的特征值(注意我 们在过程中用了COV选项,无此选项用相关阵),从这里可以看到贡献率(Proportion)和累 计贡献率(Cumulative),第三部分为特征向量。按本结果的特征向量值及用COV选项规定使 用协方差阵,我们可以知道两个主分量如此计算:

		PRIN1 = 0.326866 (JULY-75.92) + 0.945071 (JANUARY-32.55)
		PRIN2 = 0.945071 (JULY-75.92)+ (-0.326866) (JANUARY-32.55)

如果没有用COV选项,原始变量还需要除以标准差。由系数可见,第一主分量是两个月份 的加权平均,代表了一个地方的气温水平,第二主分量系数一正一负,反应了冬季和夏季的 气温差别。

例2.美国各种类型犯罪的主分量分析

在数据集CRIME中有美国各个州的各种类型犯罪的犯罪率数据。希望对这些犯罪率数据进 行主分量分析以概括犯罪情况。程序如下:

/* EXAMPLE 2*/
DATA CRIME;
   TITLE '各州每十万人的犯罪率';
   INPUT STATE $1-15 MURDER RAPE ROBBERY ASSAULT BURGLARY LARCENY AUTO;
   CARDS;
ALABAMA        14.2 25.2  96.8 278.3 1135.5 1881.9 280.7
ALASKA         10.8 51.6  96.8 284.0 1331.7 3369.8 753.3
ARIZONA         9.5 34.2 138.2 312.3 2346.1 4467.4 439.5
ARKANSAS        8.8 27.6  83.2 203.4  972.6 1862.1 183.4
CALIFORNIA     11.5 49.4 287.0 358.0 2139.4 3499.8 663.5
COLORADO        6.3 42.0 170.7 292.9 1935.2 3903.2 477.1
CONNECTICUT     4.2 16.8 129.5 131.8 1346.0 2620.7 593.2
DELAWARE        6.0 24.9 157.0 194.2 1682.6 3678.4 467.0
FLORIDA        10.2 39.6 187.9 449.1 1859.9 3840.5 351.4
GEORGIA        11.7 31.1 140.5 256.5 1351.1 2170.2 297.9
HAWAII          7.2 25.5 128.0  64.1 1911.5 3920.4 489.4
IDAHO           5.5 19.4  39.6 172.5 1050.8 2599.6 237.6
ILLINOIS        9.9 21.8 211.3 209.0 1085.0 2828.5 528.6
INDIANA         7.4 26.5 123.2 153.5 1086.2 2498.7 377.4
IOWA            2.3 10.6  41.2  89.8  812.5 2685.1 219.9
KANSAS          6.6 22.0 100.7 180.5 1270.4 2739.3 244.3
KENTUCKY       10.1 19.1  81.1 123.3  872.2 1662.1 245.4
LOUISIANA      15.5 30.9 142.9 335.5 1165.5 2469.9 337.7
MAINE           2.4 13.5  38.7 170.0 1253.1 2350.7 246.9
MARYLAND        8.0 34.8 292.1 358.9 1400.0 3177.7 428.5
MASSACHUSETTS   3.1 20.8 169.1 231.6 1532.2 2311.3 1140.1
MICHIGAN        9.3 38.9 261.9 274.6 1522.7 3159.0 545.5
MINNESOTA       2.7 19.5  85.9  85.8 1134.7 2559.3 343.1
MISSISSIPPI    14.3 19.6  65.7 189.1  915.6 1239.9 144.4
MISSOURI        9.6 28.3 189.0 233.5 1318.3 2424.2 378.4
MONTANA         5.4 16.7  39.2 156.8  804.9 2773.2 309.2
NEBRASKA        3.9 18.1  64.7 112.7  760.0 2316.1 249.1
NEVADA         15.8 49.1 323.1 355.0 2453.1 4212.6 559.2
NEW HAMPSHIRE   3.2 10.7  23.2  76.0 1041.7 2343.9 293.4
NEW JERSEY      5.6 21.0 180.4 185.1 1435.8 2774.5 511.5
NEW MEXICO      8.8 39.1 109.6 343.4 1418.7 3008.6 259.5
NEW YORK       10.7 29.4 472.6 319.1 1728.0 2782.0 745.8
NORTH CAROLINA 10.6 17.0  61.3 318.3 1154.1 2037.8 192.1
NORTH DAKOTA    0.9  9.0  13.3  43.8  446.1 1843.0 144.7
OHIO            7.8 27.3 190.5 181.1 1216.0 2696.8 400.4
OKLAHOMA        8.6 29.2  73.8 205.0 1288.2 2228.1 326.8
OREGON          4.9 39.9 124.1 286.9 1636.4 3506.1 388.9
PENNSYLVANIA    5.6 19.0 130.3 128.0  877.5 1624.1 333.2
RHODE ISLAND    3.6 10.5  86.5 201.0 1489.5 2844.1 791.4
SOUTH CAROLINA 11.9 33.0 105.9 485.3 1613.6 2342.4 245.1
SOUTH DAKOTA    2.0 13.5  17.9 155.7  570.5 1704.4 147.5
TENNESSEE      10.1 29.7 145.8 203.9 1259.7 1776.5 314.0
TEXAS          13.3 33.8 152.4 208.2 1603.1 2988.7 397.6
UTAH            3.5 20.3  68.8 147.3 1171.6 3004.6 334.5
VERMONT         1.4 15.9  30.8 101.2 1348.2 2201.0 265.2
VIRGINIA        9.0 23.3  92.1 165.7  986.2 2521.2 226.7
WASHINGTON      4.3 39.6 106.2 224.8 1605.6 3386.9 360.3
WEST VIRGINIA   6.0 13.2  42.2  90.9  597.4 1341.7 163.3
WISCONSIN       2.8 12.9  52.2  63.7  846.9 2614.2 220.7
WYOMING         5.4 21.9  39.7 173.9  811.6 2772.2 282.0
;
PROC PRINCOMP OUT=CRIMCOMP;
RUN;

PROC SORT;
   BY PRIN1;
PROC PRINT;
   ID STATE;
   VAR PRIN1 PRIN2 MURDER RAPE ROBBERY ASSAULT BURGLARY LARCENY AUTO;
   TITLE2 '各州按第一主分量作为总犯罪率排列';
PROC SORT;
   BY PRIN2;
PROC PRINT;
   ID STATE;
   VAR PRIN1 PRIN2 MURDER RAPE ROBBERY ASSAULT BURGLARY LARCENY AUTO;
   TITLE2 '各州按第二主分量作为金钱犯罪与暴力犯罪对比的排列';
PROC GPLOT;
   PLOT PRIN2*PRIN1=STATE;
   TITLE2 'PLOT OF THE FIRST TWO PRINCIPAL COMPONENTS';
PROC GPLOT;
   PLOT PRIN3*PRIN1=STATE;
   TITLE2 'PLOT OF THE FIRST AND THIRD PRINCIPAL COMPONENTS';
RUN;

输入数据后,用PROC PRINCOMP对数据进行主分量分析,结果先给出了各变量的简单统计 量,变量的相关阵,其特征值和特征向量结果如下:

                     Eigenvalues of the Correlation Matrix                   
       
                                                                             
       
                Eigenvalue      Difference      Proportion      Cumulative   
       
                                                                             
       
     PRIN1         4.11496         2.87624        0.587851         0.58785   
       
     PRIN2         1.23872         0.51291        0.176960         0.76481   
       
     PRIN3         0.72582         0.40938        0.103688         0.86850   
       
     PRIN4         0.31643         0.05846        0.045205         0.91370   
       
     PRIN5         0.25797         0.03593        0.036853         0.95056   
       
     PRIN6         0.22204         0.09798        0.031720         0.98228   
       
     PRIN7         0.12406          .             0.017722         1.00000   
       
                                                                             
       
                                  Eigenvectors                               
       
              PRIN1     PRIN2     PRIN3     PRIN4     PRIN5     PRIN6     PRIN7
     
 MURDER    0.300279  -.629174  0.178245  -.232114  0.538123  0.259117  0.267593
      
 RAPE      0.431759  -.169435  -.244198  0.062216  0.188471  -.773271  -.296485
     
 ROBBERY   0.396875  0.042247  0.495861  -.557989  -.519977  -.114385  -.003903
     
 ASSAULT   0.396652  -.343528  -.069510  0.629804  -.506651  0.172363  0.191745
     
 BURGLARY  0.440157  0.203341  -.209895  -.057555  0.101033  0.535987  -.648117
     
 LARCENY   0.357360  0.402319  -.539231  -.234890  0.030099  0.039406  0.601690
     
 AUTO      0.295177  0.502421  0.568384  0.419238  0.369753  -.057298  0.147046

第一主分量贡献率只有59%,前两个主分量累计贡献率达到76%,可以用前两个主分量。前 三个主分量累计贡献率已达到87%,所以前三个主分量可以表现犯罪率的大部分信息。第一主 分量的计算系数都是正数,所以它是一个州的犯罪率的一个加权平均,代表这个州的总的犯 罪情况。第二主分量在入室盗窃(BURGLARY)、盗窃罪(LARCENY)、汽车犯罪(AUTO)上有 较大的正系数,在谋杀(MURDER)、强奸(RAPE)、攻击(ASSAULT)上有较大的负系数,所 以代表了暴力犯罪与其它犯罪的一种对比。第三主分量为抢劫、汽车犯罪等与盗窃罪、入室 盗窃、强奸的对比,其意义不易解释。

为了看出各州按第一主分量和第二主分量由低到高排列的情况,先用SORT过程排了序 ,然后用PRINT过程打印了结果(结果略)。在按第一主分量排序中,North Dakota、South Dakota、West Virginia排列在前,说明其犯罪率最低,Nevada、California排列在后,说 明其犯罪率最高。在按第二主分量排列的结果中,Mississippi排在最前,说明其暴力犯罪最 高,Massachusetts最后,说明其暴力犯罪最低。后面用PLOT过程画了主成分的散点图。

四、用SAS/INSIGHT进行主分量分析

在SAS/INSIGHT中可进行主分量分析。例如,对于上面的WORK.CRIME数据集,在INSIGHT 中打开它后,选“Analyze | Multivariate ( Y's )”,弹出选择变量的对话框,把各犯罪 率变量都选为Y变量,然后按Output按钮,选中主分量分析(Principal Component Analysis )复选框,OK后就得到了多变量分析结果(包括原始变量的简单统计量、相关阵)和主分量 分析的结果(特征值、累计贡献率、特征向量)。另外还画了前两个主分量的散点图。

II. 因子分析

一、理论简介

主分量分析作 个原始变量的 个线性组合,这些线性组合在原始变量的所 有 个线性组合中可以最好地预报原始变量。因 子分析对主分量分析进行了推广,它用潜在的 个“因子”来概括原始变量的信息,这些因 子不一定是原始变量的线性组合。

随机向量,其均值为 ,协方差阵为 ,我们称 个因子的模型,若 能表为

其中 是未知常数阵, 为随机向量。 称为公共因子, 叫做特殊因子,叫因子负荷矩阵。这个模型 象是回归分析模型,但是这里 是多元随机变量而不是一个随机变量的样本 , 也是随机变量而不是一般的回归系数。求因 子分解要用到原始变量协方差阵 、特殊因子的协方差阵 的如下关系式:

公因子模型分解是不唯一的,因为如果 是一个正交阵,则有

这时 是新的因子, 是新的因子负荷阵。我们可以利用这一特点 对得到的因子模型进行旋转以产生容易解释的因子。旋转时一般试图使因子载荷系数靠近正 负1和0,这样容易解释因子的组成。

二、FACTOR过程使用

SAS/STAT的FACTOR过程可以进行因子分析、分量分析和因子旋转。对因子模型可 以使用正交旋转和斜交旋转,可以用回归法计算得分系数,同时把因子得分的估计存贮在输 出数据集中;用FACTOR过程计算的所有主要统计量也能存贮在输出数据集中。

FACTOR过程用法很简单,主要使用如下语句:

PROC FACTOR DATA= 数据集 选项;

VAR 原始变量;

RUN;

输出结果包括特征值情况、因子载荷、公因子解释比例,等等。为了计算因子得分,一般 在PROC FACTOR语句中加一个SCORE选项和“OUTSTAT=输出数据集”选项,然后用如下的得分 过程计算公因子得分:

		PROC SCORE DATA=原始数据集 SCORE=FACTOR过程的输出数据集 
							OUT=得分输出数据集;
			VAR  用来计算得分的原始变量集合;
		RUN;

三、例子

数据集SOCECON为洛杉基12个地区统计的五个社会经济指标:人口总数(POP), 教育程度(SCHOOL),就业数(EMPLOY),服务业人数(SERVICES),中等的房价(HOUSE) 。用FACTOR过程可以进行主分量分析。下例中的SIMPLE选项要求计算变量的简单统计量,CORR 要求输出相关阵。

DATA SOCECON;
   TITLE '五个经济指标的分析';
   INPUT POP SCHOOL EMPLOY SERVICES HOUSE;
   CARDS;
5700     12.8      2500      270       25000
1000     10.9      600       10        10000
3400     8.8       1000      10        9000
3800     13.6      1700      140       25000
4000     12.8      1600      140       25000
8200     8.3       2600      60        12000
1200     11.4      400       10        16000
9100     11.5      3300      60        14000
9900     12.5      3400      180       18000
9600     13.7      3600      390       25000
9600     9.6       3300      80        12000
9400     11.4      4000      100       13000
;
PROC FACTOR DATA=SOCECON SIMPLE CORR;
   TITLE2 '主分量分析';
RUN;

结果给出了五个变量的简单统计量,相关阵,和相关阵的特征值、累计贡献:

                           1           2           3           4           5    
    Eigenvalue        2.8733      1.7967      0.2148      0.0999      0.0153   
    Difference        1.0767      1.5818      0.1149      0.0847                

    Proportion        0.5747      0.3593      0.0430      0.0200      0.0031 
       
    Cumulative        0.5747      0.9340      0.9770      0.9969      1.0000 
       
                                                                             
       
             2 factors will be retained by the MINEIGEN criterion.           
       

前两个主分量解释了93.4%的方差,按照缺省的选择因子个数的准则MINEIGEN,取大于1的 特征值,所以取两个因子。因子模式阵(factor pattern,或称因子载荷阵)为最重要的结 果之一:

                                 Factor Pattern                              
                                     FACTOR1   FACTOR2                       
       
                          POP        0.58096   0.80642                       
       
                          SCHOOL     0.76704  -0.54476                       
       
                          EMPLOY     0.67243   0.72605                       
       
                          SERVICES   0.93239  -0.10431                       
       
                          HOUSE      0.79116  -0.55818                       
       

它们是用公因子预报原始变量的回归系数。第一主分量(因子)在所有五个变量上都有正 的载荷,可见这个因子反应了城市规模的影响。第二主分量在人口、就业上有大的正载荷, 在教育程度和住房价格上有大的负载荷,则第二个因子较大的城市人口多但是教育程度和住 房价格低。结果还给出了公因子解释能力的估计:

                 Final Communality Estimates: Total = 4.669974    
                      POP    SCHOOL    EMPLOY  SERVICES     HOUSE  

                 0.987826  0.885106  0.979306  0.880236  0.937500  

这里给出了公因子对每一个原始变量的解释能力的量度,这是用原始变量对公因子的复相 关系数平方(取0到1间值)来计算的。Communality Estimate是这些复相关系数平方的总和 。因为每一个复相关系数平方都比较大,所以我们可以认为两个公因子可以很好地解释原始 变量中的信息。但是我们得到的因子解释不够清楚,于是考虑用其它的因子分析方法。

我们来进行主因子分析。用FACTOR过程作主因子分析与作主分量分析的不同只是增加 一个PRIORS=选项,可以用PRIORS=SMC或者MAX、ONE等。例如:

PROC FACTOR DATA=SOCECON priors=smc;
   TITLE2 '主因子分析';
RUN;

主因子法计算简约了的相关阵的特征值(相当于 的估计),所以其特征值可能为负值。选取 因子个数的缺省准则是PROPORTION=1,即累计特征值达到特征值总和的100%。这样取了两个 因子。结果与主分量分析相似。为了得到好的因子解释,我们在上面的PROC FACTOR语句中再 加上一个ROTATE=PROMAX旋转选项,这样将在得到主因子分析后先产生方差最大正交预旋转(VARIMAX )然后进行斜交旋转,并加了一个REORDER选项使输出时把原始变量受相同因子影响的放在一 起:

PROC FACTOR DATA=SOCECON PRIORS=SMC ROTATE=PROMAX REORDER;
   TITLE2 '主因子分析及PROMAX斜交旋转';
RUN;

在初始的主因子结果之后是方差最大预旋转的结果(只显示了旋转阵和旋转后的因子载荷 ):

                        Orthogonal Transformation Matrix             
                                        1         2                 
                              1      0.78895   0.61446              
                              2     -0.61446   0.78895              
                             Rotated Factor Pattern                 
                                     FACTOR1   FACTOR2              
                          HOUSE      0.94072  -0.00004              
                          SCHOOL     0.90419   0.00055              
                          SERVICES   0.79085   0.41509              
                          POP        0.02255   0.98874              
                          EMPLOY     0.14625   0.97499             

可见第一因子反映了房价、教育水平、服务业人数,这些应该与发达程度有关。第二因子 反映了人口和就业情况,与城市规模有关。这样得到的因子已经比较好用。我们再看斜交旋 转的结果,这里只给出了旋转后的因子模式阵:

                     Rotated Factor Pattern (Std Reg Coefs)         
                                     FACTOR1   FACTOR2              
                          HOUSE      0.95558  -0.09792              
                          SCHOOL     0.91842  -0.09352              
                          SERVICES   0.76053   0.33932              
                          POP       -0.07908   1.00192              
                          EMPLOY     0.04799   0.97509             

从结果看得到的因子比正交旋转没有改进。因为斜交旋转后的公因子是相关的,所以结果 中还给出了公因子的相关阵,参考结构(Reference Structure,为每个原始变量与公因子扣 除其它公因子影响的偏相关),因子结构(Factor Structure,为原始变量与公因子间的相 关系数)。

Prerotation Method: Varimax                                  
                        Orthogonal Transformation Matrix  
                                        1         2 
                              1      0.78895   0.61446         
                              2     -0.61446   0.78895         
                             Rotated Factor Pattern  
                                     FACTOR1   FACTOR2   
                          POP        0.02255   0.98874    
                          SCHOOL     0.90419   0.00055    
                          EMPLOY     0.14625   0.97499    
                          SERVICES   0.79085   0.41509    
                          HOUSE      0.94072  -0.00004 

为了产生因子得分,需要在FACTOR过程中使用SCORE选项和OUTSTAT=选项输出得分系 数数据集并调用SCORE过程。比如,为了计算方差最大正交旋转的主因子得分,可以用如下程 序:

PROC FACTOR DATA=SOCECON PRIORS=SMC ROTATE=VARIMAX REORDER SCORE OUTSTAT=OUTF;
   TITLE2 '主因子分析及VARIMAX正交旋转';
RUN;
PROC SCORE DATA=SOCECON SCORE=OUTF OUT=OUTS;
   TITLE2 ' VARIMAX正交旋转后的主因子得分';
RUN;