声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

12
返回列表 发新帖
楼主: zuohaoyi

[编程技巧] 请问如何判断矩阵是否为病态?

[复制链接]
发表于 2009-11-9 06:07 | 显示全部楼层
有个著名的矩阵叫hilbert矩阵,看看你对它的改造结果如何.
还有一种东西叫Matrix Scaling, 你查找相关的东西.
答辩的时候别忘了致谢我呕:'(

[ 本帖最后由 VibrationMaster 于 2009-11-9 06:09 编辑 ]

评分

1

查看全部评分

回复 支持 反对
分享到:

使用道具 举报

 楼主| 发表于 2009-11-9 09:52 | 显示全部楼层

矩阵病态的实质是什么?

很病态矩阵打交道很长时间了,也做了不少工作,可说来惭愧,究竟病态矩阵的本质究竟是什么,或者说究竟什么原因导致矩阵病态到现在也没有完全弄清楚。我在百度里搜索到以下结论:
判别分析的一个假设是用来判定组别的变量不能是完全冗余的变量。判别分析的计算过程中,要求模型中的变量方差/协方差矩阵的逆矩阵。如果变量是与另一个变量完全冗余的,这个矩阵称为病态矩阵,即矩阵不能求逆。例如,有一个变量是其他三个变量之和,这个变量也存在于模型中,这个矩阵就是病态矩阵。
该结论中强调的是“如果存在冗余变量就导致矩阵病态”,这我与我一直的理解是一致的。那是不是只有这一种情况会导致矩阵病态呢?请看下列:
矩阵A为   1     2
                     2     7
该矩阵不存在变量冗余,条件数为19,是个很好的矩阵。
矩阵B为   100000    200000
                      2               7
该矩阵同样不存在冗余变量,可条件数却是1.6667e+005,是个病态矩阵。这是为什么?

评分

1

查看全部评分

发表于 2009-11-9 13:12 | 显示全部楼层
病态问题是指输入数据有微小扰动时,计算结果对之很敏感,即条件数很大的时候。一般矩阵的某些行(列)之间近似的成线性关系,或者矩阵各元素的数量级相差很大,又没有什么分布规律的时候,这个矩阵就有可能出现病态的情况了。

评分

1

查看全部评分

 楼主| 发表于 2009-11-9 13:17 | 显示全部楼层
那说穿了就是矩阵向来间多重共线性会导致严重的病态了。但反过来病态不一定是由向量间多重共线性导致的,而有可能是因为矩阵元素相差很大导致的。看来病态是一个比多重共线性更加广泛的概念。

[ 本帖最后由 ChaChing 于 2010-5-2 17:14 编辑 ]
发表于 2010-1-12 20:02 | 显示全部楼层
原帖由 zuohaoyi 于 2009-11-8 19:39 发表
楼上,那应该缩小多少才算显著呢?一个矩阵,条件数为10^3量级,是不是很严重的病态?判断一个矩阵病态程度是“十分严重”,还是“一般”,还是“稍微病态”,有一个大致标准吗?我找了很久都没有这方面的资料。能否 ...



我觉得这位仁兄说的话很有道理,同时也有这样的疑问,请各位赐教,先谢过了!
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-11-26 05:33 , Processed in 0.070647 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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