Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
![]() |
#1 |
初级会员
注册日期: 2009-06-09
年龄: 41
帖子: 7
声望力: 0 ![]() |
![]()
有一个矩阵(有5个因子,9个对象)
X = 77.0058 0.1037 0.2056 0.2423 0.1029 71.2988 0.0995 0.1970 0.2329 0.0982 87.6185 0.0992 0.1994 0.2333 0.0973 81.3091 0.0916 0.1846 0.2161 0.0887 79.8293 0.0982 0.1966 0.2312 0.0975 74.6359 0.1006 0.2000 0.2336 0.0971 82.3153 0.1028 0.1989 0.2357 0.1004 68.1548 0.0873 0.1772 0.2089 0.0849 94.1657 0.0837 0.1688 0.2014 0.0788 在matlab里算出标准差STX、平均值MX 和方差C, STX = 8.0473 0.0070 0.0123 0.0139 0.0080 MX = 79.5926 0.0963 0.1920 0.2261 0.0940 C = 64.7596 0.0000 0.0002 0.0002 0.0001 经过标准化,得出矩阵SX SX = -0.3215 1.0525 1.1046 1.1638 1.1173 -1.0306 0.4548 0.4075 0.4856 0.5258 0.9973 0.4073 0.6000 0.5137 0.4102 0.2133 -0.6664 -0.6029 -0.7270 -0.6528 0.0294 0.2668 0.3756 0.3660 0.4433 -0.6159 0.6155 0.6491 0.5362 0.3913 0.3383 0.9190 0.5596 0.6879 0.7991 -1.4213 -1.2685 -1.2073 -1.2449 -1.1370 1.8109 -1.7810 -1.8861 -1.7813 -1.8973 进而算出相关矩阵COR COR = 1.0000 -0.2532 -0.2755 -0.2576 -0.3011 -0.2532 1.0000 0.9873 0.9938 0.9915 -0.2755 0.9873 1.0000 0.9954 0.9884 -0.2576 0.9938 0.9954 1.0000 0.9947 -0.3011 0.9915 0.9884 0.9947 1.0000 现在我想进行因子剔除,根据两个原则1.相关矩阵COR 里R>=0.9 2.第i因子的方差Si >第j因子的方差Sj, 进而剔除j因子。 请各路高手帮忙看看我的代码有没有什么不对的地方,同时我要进行剔除因子的话,应该如何继续写代码? 我的一部分代码为 X=[77.0058 0.1037 0.2056 0.2423 0.1029;71.2988 0.0995 0.1970 0.2329 0.0982;87.6185 0.0992 0.1994 0.2333 0.0973;81.3091 0.0916 0.1846 0.2161 0.0887;79.8293 0.0982 0.1966 0.2312 0.0975;74.6359 0.1006 0.2000 0.2336 0.0971;82.3153 0.1028 0.1989 0.2357 0.1004;68.1548 0.0873 0.1772 0.2089 0.0849;94.1657 0.0837 0.1688 0.2014 0.0788] STX=std(X) MX=mean(X) C=var(X) [n,m]=size(X); for i=1:m SX(:,i)=(X(:,i)-MX(i))./STX(i) end COR=corr(SX) |
![]() |
![]() |
![]() |
#2 |
初级会员
注册日期: 2009-06-09
年龄: 41
帖子: 7
声望力: 0 ![]() |
![]()
没有人知道吗?高手给我点指点吧!5555
|
![]() |
![]() |