声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 966|回复: 2

[综合讨论] 矩阵里剔除某些因子

[复制链接]
发表于 2009-7-14 11:49 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
有一个矩阵(有5个因子,9个对象(每一列为一个对象))
X =
   77.0058   71.2988   87.6185   81.3091   79.8293   74.6359   82.3153   68.1548   94.1657
    0.1037    0.0995    0.0992    0.0916    0.0982    0.1006    0.1028    0.0873    0.0837
    0.2056    0.1970    0.1994    0.1846    0.1966    0.2000    0.1989    0.1772    0.1688
    0.2423    0.2329    0.2333    0.2161    0.2312    0.2336    0.2357    0.2089    0.2014
    0.1029    0.0982    0.0973    0.0887    0.0975    0.0971    0.1004    0.0849    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.0306    0.9973    0.2133    0.0294   -0.6159    0.3383   -1.4213    1.8109
    1.0525    0.4548    0.4073   -0.6664    0.2668    0.6155    0.9190   -1.2685   -1.7810
    1.1046    0.4075    0.6000   -0.6029    0.3756    0.6491    0.5596   -1.2073   -1.8861
    1.1638    0.4856    0.5137   -0.7270    0.3660    0.5362    0.6879   -1.2449   -1.7813
    1.1173    0.5258    0.4102   -0.6528    0.4433    0.3913    0.7991   -1.1370   -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)

[ 本帖最后由 friendchj 于 2009-7-14 17:55 编辑 ]
回复
分享到:

使用道具 举报

发表于 2009-7-14 16:26 | 显示全部楼层

回复 楼主 lanxiaod 的帖子

我也是刚入门,但是我觉的你这个就用for,在for里面进行比较不就行了吗?删除的话就设那个因子为空就行了吧
 楼主| 发表于 2009-7-15 08:25 | 显示全部楼层

回复 沙发 huali 的帖子

我现在不懂得怎么在for里表述那两个剔除原则?你知道吗?
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-17 00:27 , Processed in 0.086315 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表