24小时热门版块排行榜    

CyRhmU.jpeg
查看: 2734  |  回复: 12
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

张小小旭

铜虫 (小有名气)


[交流] 马氏距离剔除光谱数据异常值

请问大家,我在应用马氏距离剔除光谱数据异常值,我看到关于马氏距离有这样的描述“求在计算马氏距离过程中,要求总体样本数大于样本的维数,否则得到的总体样本协方差矩阵逆矩阵不存在,这种情况下,用欧式距离计算即可”

对于光谱数据来说,一般样本数几百个,每个样本光谱数据超过一千个,我用pdist函数报错显示
错误使用 pdist (line 190)
the covariance matrix for the mahalanobis metric must be symmetric and positive definite.
出错 shishi (line 132)
dist= pdist(x,'mahalanobis')

我看到很多论文是应用马氏距离剔除光谱数据异常值,这种样本数小于样本的维数情况下,是否可以实现马氏距离计算呢?
我的代码如下:

meanx=mean(x); %求均值
[m,n]=size(x);
covx=cov(x);%求协方差矩阵
cov_x=inv(covx);%逆矩阵
for i=1:m
dist(i)=(x(i,: )-meanx)*cov_x*(x(i,: )-meanx)'%求出每个样本到u的马氏距离,
end
dist= pdist(x,'mahalanobis')

x数据120样本,1900吸光度,用定义计算出马氏距离平方有负数,用pdist函数计算报错如上。
谢谢大家共同讨论!
回复此楼

» 猜你喜欢

» 抢金币啦!回帖就可以得到:

查看全部散金贴

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

张小小旭

铜虫 (小有名气)


引用回帖:
3楼: Originally posted by wlpl at 2019-12-27 17:38:14
要是不用pca降维的话,可以Covx加一个很小的单位阵,保证可逆。

谢谢回复,请问是先求协方差矩阵cov,再加上单位阵,然后求逆矩阵吗?具体是如何加单位阵呢,多谢~
5楼2019-12-27 19:21:47
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 13 个回答

张小小旭

铜虫 (小有名气)


可能是这样的方法《PCA结合马氏距离法剔除近红外异常样品 陈 斌 , 邹贤勇 , 朱文静》
2楼2019-12-27 17:35:07
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wlpl

木虫 (小有名气)



张小小旭(金币+1): 谢谢参与
要是不用pca降维的话,可以Covx加一个很小的单位阵,保证可逆。

发自小木虫Android客户端
3楼2019-12-27 17:38:14
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
简单回复
2019-12-27 23:53   回复  
张小小旭(金币+1): 谢谢参与
发自小木虫Android客户端
LWJL20198楼
2019-12-28 10:58   回复  
张小小旭(金币+1): 谢谢参与
发自小木虫Android客户端
普通表情 高级回复(可上传附件)
信息提示
请填处理意见