RSS
热门关键字:  数据挖掘  人工智能  数据仓库  搜索引擎  数据挖掘导论

主成份分析

来源: 作者:unkonwn 时间:2004-12-13 点击:

一、理论介绍

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

数据挖掘研究院

易见

数据挖掘实验室

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

数据挖掘研究院

主成份 与原始变量 的相关系数 称为因子负荷量(factor loading),可以证明 数据挖掘研究院

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

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

数据挖掘实验室

数据挖掘研究院

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

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

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

二、用PRINCOMP过程计算主成份分析

SAS的PRINTCOMP过程有如下功能: 数据挖掘研究院

  • 完成主成份分析。
  • 主成份的个数可以由用户自己确定,主成份的名字可以用户自己规定,主成份得分是否标准化可自己规定。
  • 输入数据集可以是原始数据集、相关阵、协方差阵或叉积阵。输入为原始数据时,用户还可以规定从协方差阵出发还是从相关阵出发进行分析。由协方差阵出发时方差大的变量在分析中起到更大的作用。
  • 计算结果有:简单统计量,相关阵或协方差阵,从大到小排序的特征值和相应特征向量,每个主成份解释的方差比例,累计比例等。可生成两个输出数据集:一个包含原始数据及主成份得分,另一个包含有关统计量,类型为TYPE=CORR或COV。
  • 可揭示变量间的共线关系。若某特征值特别接近0说明变量线性相关,这时用这些变量作回归自变量可能得到错误的结果。

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后就得到了多变量分析结果(包括原始变量的简单统计量、相关阵)和主成份分析的结果(特征值、累计贡献率、特征向量)。另外还画了前两个主成份的散点图。 数据挖掘研究院

最新评论共有 0 位网友发表了评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
匿名?