void GetBounds(ExpertVariable var, out double vmin, out double vmax) { var min = Experts.Min(x => x.Estimates[var].GetQuantile(0)); var max = Experts.Max(x => x.Estimates[var].GetQuantile(1)); if (var is CalibrationVariable) { var cVar = (CalibrationVariable)var; min = Math.Min(min, cVar.TrueValue); max = Math.Max(max, cVar.TrueValue); } var overshoot = (max - min) * K / 100.0; vmin = min - overshoot; vmax = max + overshoot; }
/// <summary> /// Adds the estimate for the specified variable <c>variable</c>. /// </summary> /// <param name="variable">Variable.</param> /// <param name="estimates">Estimates.</param> public void AddEstimate(ExpertVariable variable, ExpertEstimate estimate) { Estimates.Add(variable, estimate); }