Exemple #1
0
        public static AccuracyResult CalcAccuracy(PlotData data, IEnumerable <StatisticMethods> methods)
        {
            var realSource = (RealDataSource)data.Values.Keys.Where(s => s is RealDataSource).First();
            var answers    = new Dictionary <ForecastDataSource, Dictionary <StatisticMethods, double> >();

            var result = new AccuracyResult(data.ParameterType, realSource, answers);

            var realSourceSeries = data.Values[realSource].First();

            var forecastSources = data.Values.Keys.Where(s => s is ForecastDataSource).Cast <ForecastDataSource>();

            foreach (var source in forecastSources.DistinctBy(s => s.Id, null))
            {
                foreach (var series in data.Values[source])
                {
                    var filteredRealSeries = FitTimes(realSourceSeries, series);
                    answers.Add(source, Statistic.CalculateMany(methods, series, filteredRealSeries));
                }
            }

            return(result);
        }
Exemple #2
0
 public static AccuracyResult CalcAccuracy(PlotData data, StatisticMethods method)
 {
     return(CalcAccuracy(data, method.ToIEnumerable()));
 }