Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 工程数学软件 > MATLAB论坛
MATLAB论坛 一切MATLAB相关问题在此讨论。
回复
 
主题工具 显示模式
旧 2009-07-13, 14:04   #1
lanxiaod
初级会员
 
注册日期: 2009-06-09
年龄: 41
帖子: 7
声望力: 0
lanxiaod 正向着好的方向发展
默认 剔除矩阵里的某些因子

有一个矩阵(有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)
lanxiaod 当前离线   回复时引用此帖
旧 2009-07-14, 08:47   #2
lanxiaod
初级会员
 
注册日期: 2009-06-09
年龄: 41
帖子: 7
声望力: 0
lanxiaod 正向着好的方向发展
默认 回复: 剔除矩阵里的某些因子

没有人知道吗?高手给我点指点吧!5555
lanxiaod 当前离线   回复时引用此帖
回复

主题工具
显示模式

发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛启用 表情符号
论坛启用 [IMG] 代码
论坛禁用 HTML 代码



所有时间均为北京时间。现在的时间是 11:30


Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.