会员
周边
众包
新闻
博问
闪存
所有博客
当前博客
我的博客
我的园子
账号设置
简洁模式
...
退出登录
注册
登录
依依似君子
自强不息,厚德载物
博客园
首页
联系
订阅
管理
检查矩阵是否有线性相关性
网上没找到,自己对付着写了一个,作用就是判断一个2列以上(含2列)的矩阵,是否有某2列存在线性相关性
/**/
///
<summary>
///
检查矩阵的轶是否具有高相关性
///
</summary>
///
<param name="X">
待检查的矩阵
</param>
///
<returns>
检查结果,如果有高相关性,返回true,否则返回false
</returns>
private
Boolean HasHighlyCorrelated(Matrix X)
{
Boolean flag
=
true
;
Double rate
=
0
;
for
(Int32 m
=
0
; m
<
X.Columns
-
1
; m
++
)
{
for
(Int32 n
=
m
+
1
; n
<
X.Columns; n
++
)
{
rate
=
X[
0
,m]
/
X[
0
,n];
//
记录第一行的2数的比率
for
(
int
i
=
1
; i
<
X.Rows; i
++
)
//
以第一行为参照,从第二行开始比较
{
//
如果2数比率和第一行不同
if
((X[i,m]
/
X[i,n])
/
rate
!=
1
)
{
flag
=
false
;
//
则此2列无线性相关性
break
;
}
}
if
(flag)
//
如果此次比较的2列具有线性相关性,返回true
{
return
true
;
}
}
}
return
false
;
}
posted on
2007-10-29 16:37
非我
阅读(
1146
) 评论(
0
)
编辑
收藏
举报
会员力量,点亮园子希望
刷新页面
返回顶部