Example #1
0
        public void CalculateMean()
        {
            var statsHelper = new StatsHelper();
            var mean        = statsHelper.CalculateMean(new List <double> {
                5, 10, 15, 20, 25
            });

            Assert.AreEqual(mean, 15);
        }
        private StatsSummary <decimal> CalculateBasicStats()
        {
            var count = _records.Count;

            var sum  = StatsHelper.CalculateSum(_records);
            var mean = StatsHelper.CalculateMean(sum, count);
            var standardDeviation  = StatsHelper.CalculateStandardDeviation(_records, mean);
            var frequencyHistogram = StatsHelper.GenerateHistogram(_records, 10);

            return(new StatsSummary <decimal>()
            {
                NumRecords = count,
                Sum = sum,
                Mean = mean,
                StandardDeviation = standardDeviation,
                FrequencyHistogram = frequencyHistogram
            });
        }
        /// <summary>
        /// Populate DataItemDto.Score and DataItemDto.IsOutlier
        /// </summary>
        /// <param name="input"></param>
        public void CalculateOutlier(IEnumerable <DataItemDto> input)
        {
            foreach (var item in input)
            {
                _trainingData.Enqueue(item);
                if (_trainingData.Count > _trainingDataSize)
                {
                    _trainingData.Dequeue();
                }
            }

            var mean = _statsHelper.CalculateMean(_trainingData.Select(x => (double)x.Value));
            var std  = _statsHelper.CalculateStandardDeviation(_trainingData.Select(x => (double)x.Value));

            foreach (var item in input)
            {
                item.Score     = _statsHelper.CalculateZScore((double)item.Value, mean, std);
                item.IsOutlier = Math.Abs(item.Score) >= _outlierThreshHold;
            }
        }
Example #4
0
        public void Should_Return_CorrectMean(decimal sum, int count, decimal expectedResult)
        {
            var result = StatsHelper.CalculateMean(sum, count);

            Assert.Equal(expectedResult, result);
        }