コード例 #1
0
        public static NumericDistribution?GenerateDistribution(HistogramWithCounts histogramResult)
        {
            if (histogramResult.ValueCounts.NonSuppressedNonNullCount == 0)
            {
                return(null);
            }

            var samples = histogramResult.Histogram.Buckets.Values.Select(bucket =>
            {
                var sampleValue  = bucket.LowerBound + (bucket.BucketSize.SnappedSize / 2);
                var sampleWeight = Convert.ToInt32(bucket.Count);

                return(new
                {
                    SampleValue = sampleValue,
                    SampleWeight = sampleWeight,
                });
            });

            var dist = new EmpiricalDistribution(
                samples.Select(_ => Convert.ToDouble(_.SampleValue)).ToArray(),
                samples.Select(_ => _.SampleWeight).ToArray());

            return(new NumericDistribution(dist));
        }
コード例 #2
0
 public static Task <List <double> > EstimateQuartiles(HistogramWithCounts hwc) =>
 EstimateQuartiles(hwc.Histogram);
コード例 #3
0
ファイル: AverageEstimator.cs プロジェクト: diffix/explorer
 public static Task <decimal> EstimateAverage(HistogramWithCounts hwc) =>
 EstimateAverage(hwc.Histogram);