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

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

You have to give more info than that...
E is the array that contains atmospheric data. i is altitude (i=1:30) and j is the latitude bin (j=1:36) and k is the number of data that is stored in one altitude and one latitude bin. let me know if you need any other information
thank you
So you want to, for every latitude (j) and longitude (i), calculate the median standard deviation (over k). Then you want to remove values where the deviation exceeds some threshold.
Am I getting it right?
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?
apology, I meant median absolute deviation.

댓글을 달려면 로그인하십시오.

 채택된 답변

KSSV
KSSV 2018년 7월 4일
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개)

카테고리

도움말 센터File Exchange에서 Creating and Concatenating Matrices에 대해 자세히 알아보기

질문:

2018년 7월 3일

댓글:

2018년 7월 4일

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by