public PredictorSettings ReadPredictorSettings() { return(new PredictorSettings { Predictor = PredictorFactory.GetPredictor((Predictor)bitReader.ReadNBits(4)), AcceptedError = (int)bitReader.ReadNBits(4) }); }
private IPredictorable CreatePredicator(int i) { return(PredictorFactory.CreatePredictor(ballsDirections[balls[i].Name])); }
private void button3_Click(object sender, EventArgs e) { bar.ChartAreas.Clear(); bar.ChartAreas.Add(new ChartArea("Time series")); Series series = new Series("Original"); series.ChartType = SeriesChartType.Line; for (int i = 0; i < samsungValues.Count; i++) { series.Points.AddXY(samsungValues[i].Date, samsungValues[i].Value); } int option = comboBox1.SelectedIndex; PredictorFactory predictorFactory = null; switch (option) { case 0: predictorFactory = new PredictorFactory(PredictorTypes.MA); break; case 1: predictorFactory = new PredictorFactory(PredictorTypes.ARMA); break; case 2: predictorFactory = new PredictorFactory(PredictorTypes.SSA); break; } Series estimation = new Series("Estimated"); estimation.ChartType = SeriesChartType.Line; List <Double?> predictedValues = new List <Double?>(); int accuracy = 10; if (predictorFactory.Type == PredictorTypes.MA) { List <Double> predictedValues1 = new List <double>(); for (int i = 0; i < samsungValues.Count; i++) { predictedValues1.Add(samsungValues[i].Value); } List <Double> copy = MAPredictor.PredictList(predictedValues1, accuracy); for (int i = 0; i < samsungValues.Count; i++) { estimation.Points.AddXY(samsungValues[i].Date, copy[i]); } } else if (predictorFactory.Type == PredictorTypes.ARMA) { List <Double> copy = new List <Double>(); for (int i = 0; i < samsungValues.Count; i++) { copy.Add(samsungValues[i].Value); } List <Double> prediction = ARMAPredictor.PredictList(copy, accuracy); for (int i = 0; i < samsungValues.Count; i++) { estimation.Points.AddXY(samsungValues[i].Date, prediction[i]); } } else if (predictorFactory.Type == PredictorTypes.SSA) { List <Double> temp = new List <Double>(); for (int i = 0; i < samsungValues.Count; i++) { temp.Add(samsungValues[i].Value); } List <double> predictedValues1 = SSAPredictor.PredictList(temp, 10); for (int i = 0; i < samsungValues.Count; i++) { estimation.Points.AddXY(samsungValues[i].Date, predictedValues1[i]); } } bar.ChartAreas[0].AxisY.Minimum = 970; bar.Series.Clear(); bar.Series.Add(series); bar.Series.Add(estimation); }