如何用SPSS快速计算主成分的结果

2011-03-09 06:38林海明
统计与决策 2011年12期
关键词:原始数据对话框载荷

林海明

(广东商学院 a.国民经济研究中心,b.经济贸易与统计学院 广州 510320)

0 引言

主成分分析是多元数据降维的重要方法之一,应用广泛。主成分的结果计算量大,应用计算机软件计算是必须的。在统计软件SPSS、SAS中,SAS计算主成分的结果是正确的;SPSS迄今没有主成分分析的模块,不能直接得到主成分系数和主成分值。如何用SPSS快速计算主成分的结果,是SPSS使用者和教学面临的理论和计算困难。

文献[2]根据第j个主成分Yj=γj′X(X是标准化后原始变量),用SPSS正确计算了主成分值,但计算中除了X的计算外,还有对话框中γj的输入慢。“慢”显然不能反映出计算机速度快的优点。

美国统计学家C.R.Rao(2004)认为[4]:“进行主成分分析和因子分析关系的理论研究,以及在个别的数据集中考察主成分与因子之间的实际差异,都是令人非常感兴趣的”。

为了在原始数据标准化或中心化的一般条件下,能用SPSS快速计算主成分的结果,我们认为理论和计算上,需要解决如下2个问题:

问题①:何为因子得分与主成分的一般等式关系式?

问题②:如何用SPSS快速计算一般性的主成分系数、主成分值?

据我们国内外文献的查询,上述问题没有解决。这里应用因子分析中主成分法的初始因子载荷阵及其回归的初始因子得分,解决了问题①,据此,用SPSS软件的因子分析模块和Transform Compute功能,解决了问题②。

1 主要理论结果

设X=(X1,…,Xp)'为可观测的随机向量(p≥2),cov(X)=∑,均值E(X)=(μ1,…,μp)'=μ,r=秩(∑)≤p,∑的非零特征值为λ1、…、λr、λ1≥…≥λr,Ur=(γ1,…,γr)=(rij)p×r、这里∑γi=λiγi=(i=1,…,r),Ur′Ur=Ir(单位阵)。原始变量数据标准化时,∑是相关阵,μ=0。

因子分析模型参见[1]。

为了解决问题①,有

定理1 设主成分法的初始因子载荷阵A0回归的初始

事实上,A0、F0是因子分析模型L的解,见文献[5](2009)。

2 快速计算主成分的SPSS操作步骤

为了解决问题②,以下用定理1,给出(1)原始数据正向化(正向化的目的是为了在方向趋同的情况下,进行样品的优劣性比较)、标准化下,(2)原始数据正向化、中心化下,快速计算主成分系数、主成分值的SPSS操作步骤。

2.1 原始数据正向化、标准化下的步骤:

第一步,原始数据正向化:将原始变量X1-Xp的数据输入或复制粘贴到数据窗口中,根据正向化公式,用Transform? compute,在对话框中输入公式进行计算,记正向化后的变量数据为x1-xp。

第二步,SPSS软件初始因子结果的计算过程:

(1)按Analyze→Date Reduction→Factor顺序单击菜单项,打开因子分析主对话框。

(2)选择正向化后的变量数据x1-xp为分析变量送到右面的Variables栏中。

(3)在主对话框中单击Extraction按钮,相应的对话框中:

①Method菜单中选择Principal Component项(默认项),使用主成分法;

②Analyze栏中选择Correlation matrix(默认项),变量数据x1-xp自动执行标准化;

③Extract栏中选择Number of factor m(≤r),要求计算m个因子的结果;

④Display栏中选择Unrotated factor solution,要求显示初始因子载荷阵结果,单击Continue。

(4)在主对话框中单击Rotation按钮,在Method栏中选择None,要求初始因子不作旋转,单击Continue。

(5)在主对话框中单击Scores按钮,在相应的对话框中选择Save as Variables,并在Method栏中选择Regression,要求通过回归方法计算因子得分值并把因子得分值作为新变量数据保存到数据文件中,单击Continue。

(6)在主对话框中单击OK提交系统执行。

结果有:特征值λ1、…、λr在Total Variance Explained的 Initial Eigenvalues中,初始因子载荷阵A0=(,…,)是Component Matrix,A0回归的初始因子得分,…,)的n个样品值设为(,…,),(,…,)显示在数据窗口fac1-1、…、facm-1栏中。

第三步,主成分系数的快速算法:由引理1得:γj=j≤r,将A0(Component Matrix)复制粘贴到Word文档,再将Word文档中的A0复制粘贴到数据窗口中 (这比逐个输入快得多),用Transform→compute,在对话框中输入r1=/SQRT (λ)→OK得主成分系数列r1;…;在对话框中输入rm=1SQRT(λm)→OK得主成分系数列rm(即初始因子载荷阵A0是两次复制粘贴、主成分系数列ri是1次除法计算)。

主成分系数列r1,…,rm的计算结果:显示在数据窗口的r1、…、rm栏中。

第四步,主成分值的快速算法:设主成分Yj的n个样品值是Zj,初始因子得分的n个样品值是(facj-1),由定理1得:Yj=,有Zj=,j≤r:用Transform→compute,在对话框中输入Z1=SQRT(λm)*fac1-1→OK得Z1;…;在对话框中输入Zm=SQRT(λm)*facm-1→OK得Zm(即主成分Yj的n个样品值Zj是1次乘法计算)。

m个主成分n个样品值Z1、…、Zm的计算结果:显示在数据窗口的Z1、…、Zm栏中。

2.2 原始数据正向化、中心化下的步骤:

第一步,同2.1第一步。

第二步,仅在2.1第二步(3)②中,Analyze栏中选择Covariance matrix,变量数据自动执行中心化;其余不变。

第三步,同2.1第三步。

第四步,同2.1第四步。

同已有算法比:这里的算法提高了初始因子载荷阵输入到数据窗口的速度;不需要进行原始数据标准化或中心化和主成分系数的输入,便可快速算出主成分值。

3 实例

例:2001年广东卷烟工业企业广州卷烟一厂、广州卷烟二厂、韶关卷烟厂、南雄卷烟厂、梅州卷烟厂、南海卷烟厂、湛江卷烟厂和廉江卷烟厂(n=8)的经济效益变量为:X1-总资产贡献率、X2-资本保值增值率、X3-资产负债率、X4-流动资产周转率、X5-成本费用利润率、X6-全员劳动生产率、X7-产品销售率(p=7),原始数据见表1。

表1 原始数据

(一)用SPSS软件计算原始数据正向化、标准化的主成分结果。

(二)用SPSS软件计算原始数据正向化、中心化的主成分结果。

表2 正向化原始数据

解:(一)⑴将表1原始变量X1-X7的数据输入或拷贝到SPSS数据窗口中,X3-资产负债率为负向指标,X7-产品销售率为适度指标,其余是正向的。X3正向化公式:-X3。适度指标X7正向化公式:(|X7-1|+1)-1。SPSS软件中用 Transform→compute进行计算。在对话框中输入公式x3=-X3→OK,x3显示在数据窗口x3栏中;在对话框中输入公式x7=1/(ABS) (X7-1)+1)→OK,x7显示在数据窗口x7栏中。正向化后的指标依次记为x1-x7,正向化数据见表2。

表3 总方差解释(Initial Eigenvalues)

表4 初始因子载荷阵(Component Matrix)

⑵对表2数据,在数据标准化下,用 SPSS11.0计算初始因子的计算过程得相关阵特征值见表3,初始因子载荷见表4,初始因子得分值见表5。

⑶由表3相关阵特征值、表4初始因子载荷阵、应用2.1第三步主成分的快速算法,得下列主成分的系数(xi是Xi的正向化、标准化变量):

⑷由表3相关阵特征值、表5初始因子得分值、应用2.1第四步主成分值的快速算法,两次乘法计算得各企业主成分值表6(不是通过主成分公式、标准化数据计算的,但快速)。

表5 初始因子得分值

表6 主成分值

⑵对表2数据,在数据中心化下,用SPSS11.0计算初始因子的计算过程得:协差阵特征值见表7,初始因子载荷阵见表8,初始因子得分值见表9。

⑶由表7的协差阵特征值、表8初始因子载荷阵、应用2.2第三步主成分的快速算法,得下列主成分的系数(近似结果,xi是Xi的正向化、中心化变量):

⑷由表7的协差阵特征值、表9初始因子得分值、应用2.2第四步主成分值的快速算法,两次乘法计算得各企业主成分值表10(不是通过主成分公式、中心化数据计算的,但快速)。

经过验算,以上主成分系数、主成分值的结果与SAS软件计算的结果一致。

4 结论与讨论

4.1 结论

(1)在明确主成分分析与因子分析的一般性关系方面,这里应用因子分析中主成分法的初始因子载荷阵回归的初始因子得分,理论上建立了主成分与初始因子得分的一般关系式。

(2)在SPSS快速计算主成分结果方面,这里应用SPSS原始数据标准化或中心化可自动执行和Transform →compute的 功能,应用主成分分析与因子分析的一般性关系式,通过初始因子载荷阵、初始因子得分值的结果,快速地算出了主成分的结果。

表7 总方差解释(Initial Eigenvalues)

表8 初始因子载荷阵(Component Matrix)

表9 初始因子得分值

表10 主成分值

4.2 讨论

(1)任何方法能得到较满意的结果都有其应用的条件,主成分分析法要能得到较满意的结果也有其应用的条件。但该条件迄今没有明确,这使得大多数教材和论文,只能列举主成分计算的例和给出不太深入的分析,这给应用和教学带来了困难,故我们认为:有必要明确,主成分分析法能得到较满意结果的条件。

(2)主成分分析的目的之一是,确定少数几个主成分尽可能多地反映原来变量的信息,这即是主成分个数的确定。主成分个数确定已有多个方法的结果,那个更好迄今没有理论支持,这给应用和教学带来了困难,故我们认为:有必要找到更好的方法确定主成分个数。

[1]张尧庭,方开泰著.多元统计分析引论[M].北京:科学出版社,1982.

[2]王芳.主成分分析与因子分析的异同比较及应用[J].统计教育,2003,(5).

[3]何晓群编著.多元统计分析[M].北京:中国人民大学出版社,2004.

[4]G.S.马达拉、C.R.拉奥编著.金融中的统计方法[M].王美今等译.上海:上海人民出版社,2004.

[5]林海明.因子分析模型的改进与应用[J].数理统计与管理,2009,(6).

猜你喜欢
原始数据对话框载荷
GOLDEN OPPORTUNITY FOR CHINA-INDONESIA COOPERATION
交通运输部海事局“新一代卫星AIS验证载荷”成功发射
受特定变化趋势限制的传感器数据处理方法研究
正常恢复虚拟机
Bootlace Worms’Secret etc.
What Is Beauty?
全新Mentor DRS360 平台借助集中式原始数据融合及直接实时传感技术实现5 级自动驾驶
滚转机动载荷减缓风洞试验
浅谈VB的通用对话框《CommonDialog》控件的使用
一种基于白噪声响应的随机载荷谱识别方法