protected override IEnumerable<IRegressionSolution> CreateBaselineSolutions() { foreach (var sol in base.CreateBaselineSolutions()) yield return sol; IEnumerable<double> trainingStartValues = ProblemData.Dataset.GetDoubleValues(ProblemData.TargetVariable, ProblemData.TrainingIndices.Select(r => r - 1).Where(r => r > 0)).ToList(); //AR1 model double alpha, beta; OnlineCalculatorError errorState; OnlineLinearScalingParameterCalculator.Calculate(ProblemData.Dataset.GetDoubleValues(ProblemData.TargetVariable, ProblemData.TrainingIndices.Where(x => x > 0)), trainingStartValues, out alpha, out beta, out errorState); var ar1Solution = new TimeSeriesPrognosisAutoRegressiveModel(ProblemData.TargetVariable, new double[] { beta }, alpha).CreateTimeSeriesPrognosisSolution(ProblemData); ar1Solution.Name = "AR(1)"; yield return ar1Solution; }
protected override IEnumerable <IRegressionSolution> CreateBaselineSolutions() { foreach (var sol in base.CreateBaselineSolutions()) { yield return(sol); } IEnumerable <double> trainingStartValues = ProblemData.Dataset.GetDoubleValues(ProblemData.TargetVariable, ProblemData.TrainingIndices.Select(r => r - 1).Where(r => r > 0)).ToList(); //AR1 model double alpha, beta; OnlineCalculatorError errorState; OnlineLinearScalingParameterCalculator.Calculate(ProblemData.Dataset.GetDoubleValues(ProblemData.TargetVariable, ProblemData.TrainingIndices.Where(x => x > 0)), trainingStartValues, out alpha, out beta, out errorState); var ar1Solution = new TimeSeriesPrognosisAutoRegressiveModel(ProblemData.TargetVariable, new double[] { beta }, alpha).CreateTimeSeriesPrognosisSolution(ProblemData); ar1Solution.Name = "AR(1)"; yield return(ar1Solution); }