Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
09/15/10 21:11:11 (14 years ago)
Author:
gkronber
Message:

Added model and solution classes for time series prognosis and added views for time series prognosis solutions. #1142

Location:
branches/DataAnalysis/HeuristicLab.Problems.DataAnalysis.MultiVariate.TimeSeriesPrognosis/3.3
Files:
2 added
4 edited

Legend:

Unmodified
Added
Removed
  • branches/DataAnalysis/HeuristicLab.Problems.DataAnalysis.MultiVariate.TimeSeriesPrognosis/3.3/HeuristicLab.Problems.DataAnalysis.MultiVariate.TimeSeriesPrognosis-3.3.csproj

    r4113 r4401  
    108108    <Compile Include="HeuristicLabProblemsDataAnalysisMultiVariateTimeSeriesPrognosisPlugin.cs" />
    109109    <Compile Include="Symbolic\Analyzer\ValidationBestScaledSymbolicTimeSeriesPrognosisSolutionAnalyzer.cs" />
     110    <Compile Include="Symbolic\SymbolicTimeSeriesPrognosisSolution.cs" />
     111    <Compile Include="Symbolic\SymbolicTimeSeriesPrognosisModel.cs" />
    110112    <Compile Include="Symbolic\Evaluators\SymbolicTimeSeriesPrognosisNormalizedMseEvaluator.cs" />
    111113    <Compile Include="Symbolic\Evaluators\SymbolicTimeSeriesPrognosisScaledNormalizedMseEvaluator.cs" />
  • branches/DataAnalysis/HeuristicLab.Problems.DataAnalysis.MultiVariate.TimeSeriesPrognosis/3.3/Symbolic/Analyzer/ValidationBestScaledSymbolicTimeSeriesPrognosisSolutionAnalyzer.cs

    r4113 r4401  
    152152      get { return (IValueLookupParameter<IntValue>)Parameters[PredictionHorizonParameterName]; }
    153153    }
    154     public ILookupParameter<SymbolicExpressionTree> BestSolutionParameter {
    155       get { return (ILookupParameter<SymbolicExpressionTree>)Parameters[BestSolutionParameterName]; }
     154    public ILookupParameter<SymbolicTimeSeriesPrognosisSolution> BestSolutionParameter {
     155      get { return (ILookupParameter<SymbolicTimeSeriesPrognosisSolution>)Parameters[BestSolutionParameterName]; }
    156156    }
    157157    public ILookupParameter<IntValue> GenerationsParameter {
     
    239239      Parameters.Add(new ValueLookupParameter<DoubleArray>(UpperEstimationLimitParameterName, "The upper estimation limit that was set for the evaluation of the symbolic expression trees."));
    240240      Parameters.Add(new ValueLookupParameter<DoubleArray>(LowerEstimationLimitParameterName, "The lower estimation limit that was set for the evaluation of the symbolic expression trees."));
    241       Parameters.Add(new LookupParameter<SymbolicExpressionTree>(BestSolutionParameterName, "The best symbolic time series prognosis solution."));
     241      Parameters.Add(new LookupParameter<SymbolicTimeSeriesPrognosisSolution>(BestSolutionParameterName, "The best symbolic time series prognosis solution."));
    242242      Parameters.Add(new LookupParameter<IntValue>(GenerationsParameterName, "The number of generations calculated so far."));
    243243      Parameters.Add(new LookupParameter<DoubleValue>(BestSolutionQualityParameterName, "The quality of the best symbolic regression solution."));
     
    274274      int validationEnd = ValidationSamplesEnd.Value;
    275275      int rowCount = (int)Math.Ceiling((validationEnd - validationStart) * RelativeNumberOfEvaluatedSamples.Value);
    276       IEnumerable<int> rows = RandomEnumerable.SampleRandomNumbers((uint)Random.Next(), validationStart, validationEnd, rowCount);
     276      IEnumerable<int> rows = RandomEnumerable.SampleRandomNumbers(Random.Next(), validationStart, validationEnd, rowCount);
    277277      double bestValidationNmse = double.MaxValue;
    278278      SymbolicExpressionTree bestTree = null;
     
    291291
    292292      if (BestSolutionQualityParameter.ActualValue == null || BestSolutionQualityParameter.ActualValue.Value > bestValidationNmse) {
    293         var solution = bestTree;
    294         //solution.Name = BestSolutionParameterName;
    295         //solution.Description = "Best solution on validation partition found over the whole run.";
     293        var model = new SymbolicTimeSeriesPrognosisModel((ISymbolicTimeSeriesExpressionInterpreter)SymbolicExpressionTreeInterpreter.Clone(), bestTree);
     294        model.Name = "Time series prognosis model";
     295        model.Description = "Best solution on validation partition found over the whole run.";
     296
     297        var solution = new SymbolicTimeSeriesPrognosisSolution(ProblemData, model, PredictionHorizon.Value);
     298        solution.Name = BestSolutionParameterName;
     299        solution.Description = "Best solution on validation partition found over the whole run.";
    296300
    297301        BestSolutionParameter.ActualValue = solution;
  • branches/DataAnalysis/HeuristicLab.Problems.DataAnalysis.MultiVariate.TimeSeriesPrognosis/3.3/Symbolic/Evaluators/SymbolicTimeSeriesPrognosisNormalizedMseEvaluator.cs

    r4113 r4401  
    149149      string conditionVariableName = ConditionVariableName == null ? null : ConditionVariableName.Value;
    150150      int nRows = (int)Math.Ceiling((SamplesEnd.Value - SamplesStart.Value) * RelativeNumberOfEvaluatedSamples.Value);
    151       IEnumerable<int> rows = RandomEnumerable.SampleRandomNumbers((uint)Random.Next(), SamplesStart.Value, SamplesEnd.Value, nRows);
     151      IEnumerable<int> rows = RandomEnumerable.SampleRandomNumbers(Random.Next(), SamplesStart.Value, SamplesEnd.Value, nRows);
    152152
    153153      quality = Evaluate(TimeSeriesPrognosisModel, ProblemData, TimeSeriesExpressionInterpreter,
  • branches/DataAnalysis/HeuristicLab.Problems.DataAnalysis.MultiVariate.TimeSeriesPrognosis/3.3/Symbolic/Evaluators/SymbolicTimeSeriesPrognosisScaledNormalizedMseEvaluator.cs

    r4113 r4401  
    162162      int nRows = (int)Math.Ceiling((SamplesEnd.Value - SamplesStart.Value) * RelativeNumberOfEvaluatedSamples.Value);
    163163
    164       IEnumerable<int> rows = RandomEnumerable.SampleRandomNumbers((uint)Random.Next(), SamplesStart.Value, SamplesEnd.Value, nRows);
     164      IEnumerable<int> rows = RandomEnumerable.SampleRandomNumbers(Random.Next(), SamplesStart.Value, SamplesEnd.Value, nRows);
    165165      CalculateScalingParameters(TimeSeriesPrognosisModel, ProblemData, TimeSeriesExpressionInterpreter,
    166166        conditionVariableName, rows,
Note: See TracChangeset for help on using the changeset viewer.