Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
12/05/11 08:22:36 (13 years ago)
Author:
gkronber
Message:

#1081 implemented multi-variate symbolic expression tree interpreter for time series prognosis.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/HeuristicLab.TimeSeries/HeuristicLab.Problems.DataAnalysis.Symbolic.TimeSeriesPrognosis/3.4/SymbolicTimeSeriesPrognosisModel.cs

    r7100 r7120  
    2121
    2222using System.Collections.Generic;
     23using System.Drawing;
    2324using System.Linq;
    2425using HeuristicLab.Common;
     
    3334  [StorableClass]
    3435  [Item(Name = "Symbolic Time-Series Prognosis Model", Description = "Represents a symbolic time series prognosis model.")]
    35   public class SymbolicTimeSeriesPrognosisModel : SymbolicDataAnalysisModel, ISymbolicTimeSeriesPrognosisModel {
    36     public new ISymbolicTimeSeriesPrognosisInterpreter Interpreter {
    37       get { return (ISymbolicTimeSeriesPrognosisInterpreter)base.Interpreter; }
     36  public class SymbolicTimeSeriesPrognosisModel : NamedItem, ISymbolicTimeSeriesPrognosisModel {
     37    public override Image ItemImage {
     38      get { return HeuristicLab.Common.Resources.VSImageLibrary.Function; }
    3839    }
     40
     41    #region properties
     42
     43    [Storable]
     44    private ISymbolicExpressionTree symbolicExpressionTree;
     45    public ISymbolicExpressionTree SymbolicExpressionTree {
     46      get { return symbolicExpressionTree; }
     47    }
     48
     49    [Storable]
     50    private ISymbolicTimeSeriesPrognosisExpressionTreeInterpreter interpreter;
     51    public ISymbolicTimeSeriesPrognosisExpressionTreeInterpreter Interpreter {
     52      get { return interpreter; }
     53    }
     54
     55    #endregion
     56
     57    [Storable]
     58    private string[] targetVariables;
     59
    3960
    4061    [StorableConstructor]
     
    4263    protected SymbolicTimeSeriesPrognosisModel(SymbolicTimeSeriesPrognosisModel original, Cloner cloner)
    4364      : base(original, cloner) {
     65      this.symbolicExpressionTree = cloner.Clone(original.symbolicExpressionTree);
     66      this.interpreter = cloner.Clone(original.interpreter);
    4467    }
    45     public SymbolicTimeSeriesPrognosisModel(ISymbolicExpressionTree tree, ISymbolicTimeSeriesPrognosisInterpreter interpreter)
    46       : base(tree, interpreter) {
     68    public SymbolicTimeSeriesPrognosisModel(ISymbolicExpressionTree tree, ISymbolicTimeSeriesPrognosisExpressionTreeInterpreter interpreter, IEnumerable<string> targetVariables)
     69      : base() {
     70      this.name = ItemName;
     71      this.description = ItemDescription;
     72      this.symbolicExpressionTree = tree;
     73      this.interpreter = interpreter; this.targetVariables = targetVariables.ToArray();
    4774    }
    4875
     
    5279
    5380    public IEnumerable<IEnumerable<IEnumerable<double>>> GetPrognosedValues(Dataset dataset, IEnumerable<int> rows, int horizon) {
    54       return Interpreter.GetSymbolicExpressionTreeValues(SymbolicExpressionTree, dataset, rows, horizon);
     81      return Interpreter.GetSymbolicExpressionTreeValues(SymbolicExpressionTree, dataset, targetVariables, rows, horizon);
    5582    }
    5683
     
    6895      int i = 0;
    6996      int horizon = 1;
    70       var estimatedValues = model.Interpreter.GetSymbolicExpressionTreeValues(model.SymbolicExpressionTree, dataset, rows, horizon)
     97      var estimatedValues = model.Interpreter.GetSymbolicExpressionTreeValues(model.SymbolicExpressionTree, dataset, problemData.TargetVariables.ToArray(), rows, horizon)
    7198        .ToArray();
    7299      foreach (var targetVariable in targetVariables) {
Note: See TracChangeset for help on using the changeset viewer.