private DataSource PredictionSource(int step)
        {
            double[]   prediction        = trainer.GetPrediction(train_data, step);
            DataSource prediction_source = new DataSource();

            prediction_source.Length = data.Length;

            float acc = 0;

            for (int i = 0; i < data.Length; i++)
            {
                if (i < network.InputCount() + step - 1)
                {
//                    prediction_source.Samples[i].x = i;
//                    prediction_source.Samples[i].y = 0.5f;
                    prediction_source.Samples[i].x = 0;
                    prediction_source.Samples[i].y = 0;
                }
                else if (i < network.InputCount() + prediction.Length + step - 1)
                {
                    prediction_source.Samples[i].x = i;
                    prediction_source.Samples[i].y = (float)prediction[i - network.InputCount() - step + 1];
//                    acc += (float) normalizer.Denormalize(prediction[i - network.InputCount()]);
//                    prediction_source.Samples[i].y = acc;
                }
                else
                {
                    prediction_source.Samples[i].x = 0;
                    prediction_source.Samples[i].y = 0;
                }
            }
            return(prediction_source);
        }