Exemple #1
0
        private void ComputeErrors(IEnumerable <EstimationResult> result)
        {
            var weightedMeanError  = 0.0;
            var trendError         = 0.0;
            var armaError          = 0.0;
            var neuronNetworkError = 0.0;
            var estimatesCount     = 0;

            for (int i = 0; i < Data.Count - 1; i++)
            {
                if (Data[i].WeightedMeanEstimation.HasValue)
                {
                    weightedMeanError  += Math.Abs(Data[i].WeightedMeanEstimation.Value - Data[i + 1].Value);
                    trendError         += Math.Abs(Data[i].TrendEstimation.Value - Data[i + 1].Value);
                    armaError          += Math.Abs(Data[i].ArmaEstimation.Value - Data[i + 1].Value);
                    neuronNetworkError += Math.Abs(Data[i].NeuronNetworkEstimation.Value - Data[i + 1].Value);
                    estimatesCount++;
                }
            }

            result.First(x => x.Estimator == Estimator.WeightedMean).Error  = Math2.DivWithZero(weightedMeanError, estimatesCount);
            result.First(x => x.Estimator == Estimator.Trend).Error         = Math2.DivWithZero(trendError, estimatesCount);
            result.First(x => x.Estimator == Estimator.NeuronNetwork).Error = Math2.DivWithZero(neuronNetworkError, estimatesCount);
            result.First(x => x.Estimator == Estimator.ARMA).Error          = Math2.DivWithZero(armaError, estimatesCount);
        }
Exemple #2
0
 public void DivWithZero_is_correct(double a, double b, double expectedResult)
 {
     Math2.DivWithZero(a, b).ShouldBe(expectedResult);
 }