public AnalyticStatisticsItemDetailsWindow( AnalyticStatisticsItemViewModel item) : this() { if (item == null) { throw new ArgumentNullException("item"); } this.item = item; sigma = Math.Round(Sigma.Get(item.Model.GetDoubleValues().ToList()), 2); expectation = Math.Round(item.Model.GetDoubleValues().Average(), 2); controlProperties.textBlockElementType.Text = item.Type; controlProperties.textBlockEngineFamily.Text = item.EngineFamily; controlProperties.textBlockEngine.Text = item.EngineType; controlProperties.textBlockExpectation.Text = expectation.ToString(CultureInfo.InvariantCulture); controlProperties.textBlockSigma.Text = sigma.ToString(CultureInfo.InvariantCulture); discretion = float.Parse( controlDisplaySettings.textBlockDiscretionValue.Text, NumberStyles.Float, CultureInfo.InvariantCulture); IDictionary <string, long> distribution = GetDistribution(); controlGraphicalRepresentation.DisplayDistribution(distribution); }
public void TestDistribution() { IList <double> values = new List <double>() { 3.2, 4.1, 5.3, 5.1, 3.825, 4.8, 2.7, 3.1, 2.3 }; double m = values.Average(); Assert.IsTrue(m > 3.824); Assert.IsTrue(m < 3.825); double sigma = Sigma.Get(values); // approx 1.02 Assert.IsTrue(sigma > 1.01); Assert.IsTrue(sigma < 1.02); SigmaDistributor distributor = new SigmaDistributor(values, (float)0.5); IDictionary <string, long> distribution = distributor.Distribute(); Assert.IsTrue(distribution != null); Assert.IsTrue(distribution.Count == 6); Assert.IsTrue(distribution["-1,5σ"] == 2); Assert.IsTrue(distribution["-1σ"] == 2); Assert.IsTrue(distribution["-0,5σ"] == 0); Assert.IsTrue(distribution["+0,5σ"] == 2); Assert.IsTrue(distribution["+1σ"] == 1); Assert.IsTrue(distribution["+1,5σ"] == 2); }
public void TestSigmaGeneration() { IList <double> data = new List <double>() { 3.2, 4.1, 5.3, 5.1, 3.825, 4.8, 2.7, 3.1, 2.3 }; double sigma = Sigma.Get(data); Assert.IsTrue(sigma > 1.01); Assert.IsTrue(sigma < 1.02); }