Exemplo n.º 1
0
 public PredictorSettings ReadPredictorSettings()
 {
     return(new PredictorSettings
     {
         Predictor = PredictorFactory.GetPredictor((Predictor)bitReader.ReadNBits(4)),
         AcceptedError = (int)bitReader.ReadNBits(4)
     });
 }
Exemplo n.º 2
0
 private IPredictorable CreatePredicator(int i)
 {
     return(PredictorFactory.CreatePredictor(ballsDirections[balls[i].Name]));
 }
Exemplo n.º 3
0
        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);
        }