请教,为什么这个综合得分要乘贡献率而不是除?
举个例子,Prin1是数学成绩,Prin2是语文成绩,两门成绩正交,数学成绩方差大。
你这样计算综合得分,等于是方差大的数学课给了更大的权重。某同学数学成绩一般,但是语文满分,这样算综合得分岂不是很吃亏?
能否给个实例,谢谢!

andy520 发表于 2009-6-26 22:25 
主成分综合得分在proc princomp程序中不能直接得出,必须另外写程序,其计算公式为
综合得分=∑(第i主成分得分×对应特征根贡献率),例如,经过分析,得到两个主成分Prin1、Prin2,,其对应的特征根分别为0.6751和0.1763,则综合得分=Prin1*0.6751+Prin2*0.1763,你可以将以下代码加在主成分分析程序后面
data a(keep=State Prin1 Prin2 compscore);
set sasuser.score2;
compscore=Prin1*0.6751+Prin2*0.1763;
run;
proc rank data=a descending out=c;
var Prin1 Prin2 compscore;
ranks p1rank p2rank cmprank;
run;
proc print;
var Prin1 p1rank Prin2 p2rank compscore cmprank;
id State;
run;