Robust estimation of standard deviation

Dear friends of Root,

I am dealing often with data samples that have a few but extreme outliers. Normally I am only interested in the mean and standard deviations of these samples. But quite often the standard deviation I get with GetRMS() in root is biased by the few but strong outliers. So I want to replace this with some robust width estimator.

I know there is a class called TRobustEstimator but I did not use it so far. From quickly looking at its reverence it seems this class is already much more then I need (it is multivariate but I have only 1D data samples)

So are there suggestions what to use in root to get a robust dispersion estimator for my use case?

thanks in advance and kind regards

Moritz Nadler


You could use the quantiles, for example

From TMath:Quantiles or Th1:GetQuantile

Or implement something like