MATLAB Answers

How can i remove outliers from a 3d array using median standard deviation?

조회 수: 3(최근 30일)
Joseph
Joseph 3 Jul 2018
Commented: Joseph 4 Jul 2018
Hi everyone, I have a 3d array E(i,j,k) in which k is the number of data in the dimension i and j. how can I remove the outliers from this 3d array using MAD(median absolute deviation)?
thank you in advance

  댓글 수: 6

표시 이전 댓글 수: 3
Image Analyst
Image Analyst 4 Jul 2018
MAD is either the mean absolute deviation, or median absolute deviation - see wikipedia. Never heard of mean standard deviation, but I guess you could compute it if you had a population size. Which do you want? MAD is a very common outlier metric so you probably want that, but which MAD?
And what do you mean by removing outliers in a 3-D array. You cannot just get rid of those elements, but you can assign them to something, like the overall global mean, or zero, or the local median, or NAN, or something. What do you want?
Joseph
Joseph 4 Jul 2018
apology, I meant median absolute deviation.

로그인 to comment.

채택된 답변

KSSV
KSSV 4 Jul 2018
A = rand(30,36,100) ; % some random data
[nx,ny,nz] = size(A) ;
for i = 1:nx
for j = 1:ny
T = squeeze(A(i,j,:)) ;
themean = mean(T) ;
sigma = std(T) ;
idx = T>themean+3*sigma ;
T(idx) = NaN ;
idx = T<themean-3*sigma ;
T(idx) = NaN ;
A(i,j,:) = T ;
end
end

  댓글 수: 0

로그인 to comment.

More Answers (0)

이 질문에 답변하려면 로그인을(를) 수행하십시오.


Translated by