private IList <double> FilterOutliers(IList <double> data)
        {
            var k           = 1.5; // tukey constant
            var iqr         = Stats.InterquartileRange(data);
            var q1          = Stats.LowerQuartile(data);
            var q3          = Stats.UpperQuartile(data);
            var outlierLow  = q1 - k * iqr;
            var outlierHigh = q3 + k * iqr;

            return(data.Where(x => x >= outlierLow && x <= outlierHigh).ToList());
        }