Removing outliers for a matrix
Afficher commentaires plus anciens
How can I remove outliers of a large matrix where an outlier is defined as a point more than three standard deviations from the mean of each column of the matrix.
I have this code but it works for a single vector, my data is in a matrix form
threshold = 3 * std( BQ);
validRange = mean(BQ) + [-1 1] * threshold;
dataWithoutOutliers = BQ(( data >= validRange(1) & data <= validRange(2) );
Réponses (1)
Sulaymon Eshkabilov
le 3 Oct 2020
0 votes
Use logical indexing.
3 commentaires
Kwasi Boateng
le 3 Oct 2020
Kwasi Boateng
le 3 Oct 2020
Modifié(e) : Kwasi Boateng
le 3 Oct 2020
Sulaymon Eshkabilov
le 3 Oct 2020
In this case, you had better employ MATLAB's builtin function to remove outliers. See this help doc:
Catégories
En savoir plus sur Tables dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!