Esempio n. 1
0
        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)));
            }
        }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
        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)));
            }
        }