public static IMLDataSet GenerateTrainingSet(double[][] inputData, double[][] outputData, int leadWindowSize, int lagWindowSize)
        {
            var temporalDataSet = new TemporalMLDataSet(lagWindowSize, leadWindowSize);

            int inputCount  = inputData[0].Length;
            int outputCount = outputData[0].Length;

            for (int i = 0; i < inputCount; i++)
            {
                var desc = new TemporalDataDescription(TemporalDataDescription.Type.Raw, true, false);
                temporalDataSet.AddDescription(desc);
            }
            for (int i = 0; i < outputCount; i++)
            {
                var desc = new TemporalDataDescription(TemporalDataDescription.Type.Raw, false, true);
                temporalDataSet.AddDescription(desc);
            }


            for (int i = 0; i < inputData.Length; i++)
            {
                var point = temporalDataSet.CreatePoint(i);
                point.Data = inputData[i].Concat(outputData[i]).ToArray();
            }

            temporalDataSet.Generate();

            return(temporalDataSet);
        }
示例#2
0
        /// <summary>
        /// Generates a temporal data set with a given double serie.
        /// uses Type percent change.
        /// </summary>
        /// <param name="inputserie">The inputserie.</param>
        /// <param name="windowsize">The windowsize.</param>
        /// <param name="predictsize">The predictsize.</param>
        /// <returns></returns>
        public static TemporalMLDataSet GenerateTrainingWithPercentChangeOnSerie(double[] inputserie, int windowsize, int predictsize)
        {
            TemporalMLDataSet       result = new TemporalMLDataSet(windowsize, predictsize);
            TemporalDataDescription desc   = new TemporalDataDescription(TemporalDataDescription.Type.PercentChange, true, true);

            result.AddDescription(desc);
            for (int index = 0; index < inputserie.Length - 1; index++)
            {
                TemporalPoint point = new TemporalPoint(1);
                point.Sequence = index;
                point.Data[0]  = inputserie[index];
                result.Points.Add(point);
            }
            result.Generate();
            return(result);
        }
示例#3
0
        public IMLDataSet GenerateTraining()
        {
            var result = new TemporalMLDataSet(WindowSize, 1);
            var desc   = new TemporalDataDescription(TemporalDataDescription.Type.Raw, true, true);

            result.AddDescription(desc);

            for (int i = WindowSize; i < _normalizedTrainingData.Length; i++)
            {
                var point = new TemporalPoint(1)
                {
                    Sequence = i
                };
                point.Data[0] = _normalizedTrainingData[i];
                result.Points.Add(point);
            }
            result.Generate();
            return(result);
        }
示例#4
0
        public IMLDataSet GenerateTraining()
        {
            var result = new TemporalMLDataSet(WindowSize, 1);
            var desc   = new TemporalDataDescription(TemporalDataDescription.Type.Raw, true, true);

            result.AddDescription(desc);

            for (var year = TrainStart; year < TrainEnd; year++)
            {
                var point = new TemporalPoint(1)
                {
                    Sequence = year
                };
                point.Data[0] = _normalizedForexPair[year];
                result.Points.Add(point);
            }

            result.Generate();
            return(result);
        }
        public static IMLDataSet GenerateTraining()
        {
            TemporalMLDataSet result = new TemporalMLDataSet(WindowSize, 1);

            TemporalDataDescription desc =
                new TemporalDataDescription(TemporalDataDescription.Type.Raw, true, true);

            result.AddDescription(desc);

            for (int year = TrainStart; year < TrainEnd; year++)
            {
                TemporalPoint point = new TemporalPoint(1);
                point.Sequence = year;
                point.Data[0]  = _normalizedSunspots[year];
                result.Points.Add(point);
            }

            result.Generate();
            return(result);
        }
示例#6
0
        /// <summary>
        /// Generates a temporal data set with a given double serie or a any number of double series , making your inputs.
        /// uses Type percent change.
        /// </summary>
        /// <param name="windowsize">The windowsize.</param>
        /// <param name="predictsize">The predictsize.</param>
        /// <param name="inputserie">The inputserie.</param>
        /// <returns></returns>
        public static TemporalMLDataSet GenerateTrainingWithPercentChangeOnSerie(int windowsize, int predictsize, params double[][] inputserie)
        {
            TemporalMLDataSet       result = new TemporalMLDataSet(windowsize, predictsize);
            TemporalDataDescription desc   = new TemporalDataDescription(TemporalDataDescription.Type.PercentChange, true,
                                                                         true);

            result.AddDescription(desc);
            foreach (double[] t in inputserie)
            {
                for (int j = 0; j < t.Length; j++)
                {
                    TemporalPoint point = new TemporalPoint(1);
                    point.Sequence = j;
                    point.Data[0]  = t[j];
                    result.Points.Add(point);
                }
                result.Generate();
                return(result);
            }
            return(null);
        }
示例#7
0
        public IMLDataSet GenerateTraining()
        {
            var result = new TemporalMLDataSet(WindowSize, 1);

            var desc = new TemporalDataDescription(
                TemporalDataDescription.Type.Raw, true, true);

            result.AddDescription(desc);

            for (int day = TrainStart; day < TrainEnd; day++)
            {
                var point = new TemporalPoint(1)
                {
                    Sequence = day,
                    Data     = { [0] = _normalizedArray[day] }
                };
                result.Points.Add(point);
            }

            result.Generate();

            return(result);
        }
示例#8
0
        public IMLDataSet GenerateTraining(double[] normalizedData)
        {
            var result = new TemporalMLDataSet(WindowSize, 1);

            TemporalDataDescription desc = new TemporalDataDescription(TemporalDataDescription.Type.Raw, true, true);

            result.AddDescription(desc);

            int TrainStart = 0;
            int TrainEnd   = normalizedData.Length;

            for (int index = TrainStart; index < TrainEnd; index++)
            {
                TemporalPoint point = new TemporalPoint(1)
                {
                    Sequence = index
                };
                point.Data[0] = normalizedData[index];
                result.Points.Add(point);
            }

            result.Generate();
            return(result);
        }