public void BuildIntervalToNDependency(PlotModel plot, DistributionParameter p) { LineSeries interval_series = new LineSeries() { Title = "Величина интервала " + p.Name }; LineSeries accurate_interval_series = new LineSeries() { Title = "Величина интервала " + p.Name + "(известные параметры)" }; plot.Title = "Зависимость величины интервала от размера выборки"; plot.Series.Clear(); plot.Series.Add(interval_series); plot.Series.Add(accurate_interval_series); foreach (var n in AvaliableN) { var xx = _statistics.GenerateVariationArray(n); var i = p.IntervalEstimation(xx, Alpha); var ai = p.IntervalEstimation(xx, Alpha, (p is Variance) ? MyStatistics.M : MyStatistics.D); interval_series.Points.Add(new DataPoint(n, Math.Abs(i.End - i.Start))); accurate_interval_series.Points.Add(new DataPoint(n, Math.Abs(ai.End - ai.Start))); } }
public void UpdateModel(ParameterType paremeter_type) { var x = _statistics.GenerateVariationArray(N); DistributionParameter p = null; switch (paremeter_type) { case ParameterType.ExpectedValue: ExactParameter = MyStatistics.M; p = new ExpectedValue(); break; case ParameterType.Variance: ExactParameter = MyStatistics.D; p = new Variance(); break; } PointEstimation = p.PointEstimation(x); IntervalEstimation = p.IntervalEstimation(x, Alpha); AccurateIntervalEstimation = p.IntervalEstimation(x, Alpha, MyStatistics.D); BuildIntervalToAlphaDependency(IntervalToAlphaDependencyPlot, p, x); BuildIntervalToNDependency(IntervalToNDependencyPlot, p); }
public void BuildIntervalToAlphaDependency(PlotModel plot, DistributionParameter p, double[] x) { LineSeries interval_series = new LineSeries() { Title = "Величина интервала " + p.Name }; LineSeries accurate_interval_series = new LineSeries() { Title = "Величина интервала " + p.Name + "(известные параметры)" }; plot.Title = "Зависимость величины интервала от доверительной вероятности"; plot.Series.Clear(); plot.Series.Add(interval_series); plot.Series.Add(accurate_interval_series); foreach (var alpha in AvaliableAlpha) { var i = p.IntervalEstimation(x, alpha); var ai = p.IntervalEstimation(x, alpha, (p is Variance) ? MyStatistics.M : MyStatistics.D); interval_series.Points.Add(new DataPoint(alpha, Math.Abs(i.End - i.Start))); accurate_interval_series.Points.Add(new DataPoint(alpha, Math.Abs(ai.End - ai.Start))); } }