Changeset 5275 for branches/DataAnalysis/HeuristicLab.Problems.DataAnalysis.MultiVariate.TimeSeriesPrognosis/3.3
- Timestamp:
- 01/11/11 15:03:46 (14 years ago)
- Location:
- branches/DataAnalysis/HeuristicLab.Problems.DataAnalysis.MultiVariate.TimeSeriesPrognosis/3.3
- Files:
-
- 1 added
- 17 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/DataAnalysis/HeuristicLab.Problems.DataAnalysis.MultiVariate.TimeSeriesPrognosis/3.3/HeuristicLab.Problems.DataAnalysis.MultiVariate.TimeSeriesPrognosis-3.3.csproj
r5265 r5275 92 92 </PropertyGroup> 93 93 <ItemGroup> 94 <Reference Include="HeuristicLab.Analysis-3.3"> 95 <HintPath>..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Analysis-3.3.dll</HintPath> 96 </Reference> 97 <Reference Include="HeuristicLab.Collections-3.3"> 98 <HintPath>..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Collections-3.3.dll</HintPath> 99 </Reference> 100 <Reference Include="HeuristicLab.Common-3.3"> 101 <HintPath>..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Common-3.3.dll</HintPath> 102 </Reference> 103 <Reference Include="HeuristicLab.Common.Resources-3.3"> 104 <HintPath>..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Common.Resources-3.3.dll</HintPath> 105 </Reference> 106 <Reference Include="HeuristicLab.Core-3.3"> 107 <HintPath>..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Core-3.3.dll</HintPath> 108 </Reference> 109 <Reference Include="HeuristicLab.Data-3.3"> 110 <HintPath>..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Data-3.3.dll</HintPath> 111 </Reference> 112 <Reference Include="HeuristicLab.Encodings.SymbolicExpressionTreeEncoding-3.3"> 113 <HintPath>..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Encodings.SymbolicExpressionTreeEncoding-3.3.dll</HintPath> 114 </Reference> 115 <Reference Include="HeuristicLab.Operators-3.3"> 116 <HintPath>..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Operators-3.3.dll</HintPath> 117 </Reference> 118 <Reference Include="HeuristicLab.Optimization-3.3"> 119 <HintPath>..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Optimization-3.3.dll</HintPath> 120 </Reference> 121 <Reference Include="HeuristicLab.Parameters-3.3"> 122 <HintPath>..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Parameters-3.3.dll</HintPath> 123 </Reference> 124 <Reference Include="HeuristicLab.Persistence-3.3"> 125 <HintPath>..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Persistence-3.3.dll</HintPath> 126 </Reference> 127 <Reference Include="HeuristicLab.PluginInfrastructure-3.3"> 128 <HintPath>..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.PluginInfrastructure-3.3.dll</HintPath> 129 </Reference> 130 <Reference Include="HeuristicLab.Random-3.3"> 131 <HintPath>..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Random-3.3.dll</HintPath> 132 </Reference> 94 133 <Reference Include="System" /> 95 134 <Reference Include="System.Core"> … … 109 148 <Compile Include="HeuristicLabProblemsDataAnalysisMultiVariateTimeSeriesPrognosisPlugin.cs" /> 110 149 <Compile Include="Symbolic\Analyzer\ValidationBestScaledSymbolicTimeSeriesPrognosisSolutionAnalyzer.cs" /> 150 <Compile Include="Symbolic\Evaluators\SymbolicTimeSeriesPrognosisScaledNormalizedFractionalDistanceEvaluator.cs" /> 111 151 <Compile Include="Symbolic\Evaluators\SymbolicTimeSeriesPrognosisEvaluator.cs" /> 112 152 <Compile Include="Symbolic\Evaluators\SymbolicTimeSeriesPrognosisMahalanobisEvaluator.cs"> -
branches/DataAnalysis/HeuristicLab.Problems.DataAnalysis.MultiVariate.TimeSeriesPrognosis/3.3/Symbolic/Analyzer/ValidationBestScaledSymbolicTimeSeriesPrognosisSolutionAnalyzer.cs
r4555 r5275 222 222 #endregion 223 223 224 [StorableConstructor] 225 protected ValidationBestScaledSymbolicTimeSeriesPrognosisSolutionAnalyzer(bool deserializing) : base(deserializing) { } 226 protected ValidationBestScaledSymbolicTimeSeriesPrognosisSolutionAnalyzer(ValidationBestScaledSymbolicTimeSeriesPrognosisSolutionAnalyzer original, Cloner cloner) 227 : base(original, cloner) { 228 } 224 229 public ValidationBestScaledSymbolicTimeSeriesPrognosisSolutionAnalyzer() 225 230 : base() { … … 245 250 } 246 251 247 [StorableConstructor]248 private ValidationBestScaledSymbolicTimeSeriesPrognosisSolutionAnalyzer(bool deserializing) : base(deserializing) { }249 252 public override IDeepCloneable Clone(Cloner cloner) { 253 return new ValidationBestScaledSymbolicTimeSeriesPrognosisSolutionAnalyzer(this, cloner); 254 } 250 255 [StorableHook(Persistence.Default.CompositeSerializers.Storable.HookType.AfterDeserialization)] 251 private void Initialize() {256 private void AfterDeserialization() { 252 257 //if (!Parameters.ContainsKey("Evaluator")) { 253 258 // Parameters.Add(new LookupParameter<ISingleObjectiveSymbolicTimeSeriesPrognosisEvaluator>("Evaluator", "")); -
branches/DataAnalysis/HeuristicLab.Problems.DataAnalysis.MultiVariate.TimeSeriesPrognosis/3.3/Symbolic/Evaluators/SymbolicTimeSeriesPrognosisEvaluator.cs
r4475 r5275 93 93 } 94 94 #endregion 95 #region 95 #region properties 96 96 public IRandom Random { 97 97 get { return RandomParameter.ActualValue; } … … 128 128 } 129 129 #endregion 130 130 [StorableConstructor] 131 protected SymbolicTimeSeriesPrognosisEvaluator(bool deserializing) : base(deserializing) { } 132 protected SymbolicTimeSeriesPrognosisEvaluator(SymbolicTimeSeriesPrognosisEvaluator original, Cloner cloner) 133 : base(original, cloner) { 134 } 131 135 public SymbolicTimeSeriesPrognosisEvaluator() 132 136 : base() { -
branches/DataAnalysis/HeuristicLab.Problems.DataAnalysis.MultiVariate.TimeSeriesPrognosis/3.3/Symbolic/Evaluators/SymbolicTimeSeriesPrognosisMahalanobisEvaluator.cs
r4555 r5275 45 45 public class SymbolicTimeSeriesPrognosisMahalanobisEvaluator : SymbolicTimeSeriesPrognosisEvaluator { 46 46 47 [StorableConstructor] 48 protected SymbolicTimeSeriesPrognosisMahalanobisEvaluator(bool deserializing) : base(deserializing) { } 49 protected SymbolicTimeSeriesPrognosisMahalanobisEvaluator(SymbolicTimeSeriesPrognosisMahalanobisEvaluator original, Cloner cloner) 50 : base(original, cloner) { 51 } 47 52 public SymbolicTimeSeriesPrognosisMahalanobisEvaluator() 48 53 : base() { 49 54 } 50 55 public override IDeepCloneable Clone(Cloner cloner) { 56 return new SymbolicTimeSeriesPrognosisMahalanobisEvaluator(this, cloner); 57 } 51 58 public override double Evaluate(SymbolicExpressionTree tree, MultiVariateDataAnalysisProblemData problemData, ISymbolicTimeSeriesExpressionInterpreter interpreter, IEnumerable<int> rows, int predictionHorizon, DoubleArray lowerEstimationLimit, DoubleArray upperEstimationLimit) { 52 59 return Calculate(tree, problemData, interpreter, rows, predictionHorizon, lowerEstimationLimit, upperEstimationLimit); -
branches/DataAnalysis/HeuristicLab.Problems.DataAnalysis.MultiVariate.TimeSeriesPrognosis/3.3/Symbolic/Evaluators/SymbolicTimeSeriesPrognosisScaledNormalizedMseEvaluator.cs
r4555 r5275 44 44 public class SymbolicTimeSeriesPrognosisScaledNormalizedMseEvaluator : SymbolicTimeSeriesPrognosisEvaluator { 45 45 46 [StorableConstructor] 47 protected SymbolicTimeSeriesPrognosisScaledNormalizedMseEvaluator(bool deserializing) : base(deserializing) { } 48 protected SymbolicTimeSeriesPrognosisScaledNormalizedMseEvaluator(SymbolicTimeSeriesPrognosisScaledNormalizedMseEvaluator original, Cloner cloner) 49 : base(original, cloner) { 50 } 46 51 public SymbolicTimeSeriesPrognosisScaledNormalizedMseEvaluator() 47 52 : base() { 48 53 } 49 54 public override IDeepCloneable Clone(Cloner cloner) { 55 return new SymbolicTimeSeriesPrognosisScaledNormalizedMseEvaluator(this, cloner); 56 } 50 57 public override double Evaluate(SymbolicExpressionTree tree, MultiVariateDataAnalysisProblemData problemData, ISymbolicTimeSeriesExpressionInterpreter interpreter, IEnumerable<int> rows, int predictionHorizon, DoubleArray lowerEstimationLimit, DoubleArray upperEstimationLimit) { 51 58 return Calculate(tree, problemData, interpreter, rows, predictionHorizon, lowerEstimationLimit, upperEstimationLimit); -
branches/DataAnalysis/HeuristicLab.Problems.DataAnalysis.MultiVariate.TimeSeriesPrognosis/3.3/Symbolic/SingleObjectiveSymbolicTimeSeriesPrognosisProblem.cs
r4118 r5275 87 87 [StorableConstructor] 88 88 protected SingleObjectiveSymbolicTimeSeriesPrognosisProblem(bool deserializing) : base(deserializing) { } 89 protected SingleObjectiveSymbolicTimeSeriesPrognosisProblem(SingleObjectiveSymbolicTimeSeriesPrognosisProblem original, Cloner cloner) 90 : base(original, cloner) { 91 AttachEventHandlers(); 92 } 89 93 public SingleObjectiveSymbolicTimeSeriesPrognosisProblem() 90 94 : base() { … … 102 106 103 107 [StorableHook(HookType.AfterDeserialization)] 104 private void AfterDeserialization Hook() {108 private void AfterDeserialization() { 105 109 AttachEventHandlers(); 106 110 } 107 111 108 112 public override IDeepCloneable Clone(Cloner cloner) { 109 SingleObjectiveSymbolicTimeSeriesPrognosisProblem clone = (SingleObjectiveSymbolicTimeSeriesPrognosisProblem)base.Clone(cloner); 110 clone.AttachEventHandlers(); 111 return clone; 113 return new SingleObjectiveSymbolicTimeSeriesPrognosisProblem(this, cloner); 112 114 } 113 115 -
branches/DataAnalysis/HeuristicLab.Problems.DataAnalysis.MultiVariate.TimeSeriesPrognosis/3.3/Symbolic/SymbolicTimeSeriesExpressionInterpreter.cs
r4556 r5275 116 116 get { return false; } 117 117 } 118 118 [StorableConstructor] 119 protected SymbolicTimeSeriesExpressionInterpreter(bool deserializing) : base(deserializing) { } 120 protected SymbolicTimeSeriesExpressionInterpreter(SymbolicTimeSeriesExpressionInterpreter original, Cloner cloner) 121 : base(original, cloner) { 122 } 119 123 public SymbolicTimeSeriesExpressionInterpreter() 120 124 : base() { 125 } 126 public override IDeepCloneable Clone(Cloner cloner) { 127 return new SymbolicTimeSeriesExpressionInterpreter(this, cloner); 121 128 } 122 129 #region ITimeSeriesExpressionInterpreter Members -
branches/DataAnalysis/HeuristicLab.Problems.DataAnalysis.MultiVariate.TimeSeriesPrognosis/3.3/Symbolic/SymbolicTimeSeriesPrognosisGrammar.cs
r4252 r5275 38 38 // for persistence 39 39 private SymbolicTimeSeriesPrognosisGrammar() : this(1) { } 40 40 [StorableConstructor] 41 protected SymbolicTimeSeriesPrognosisGrammar(bool deserializing) : base(deserializing) { } 42 protected SymbolicTimeSeriesPrognosisGrammar(SymbolicTimeSeriesPrognosisGrammar original, Cloner cloner) 43 : base(original, cloner) { 44 dimension = original.dimension; 45 } 41 46 public SymbolicTimeSeriesPrognosisGrammar(int dimension) 42 47 : base() { 43 48 this.dimension = dimension; 44 49 Initialize(); 50 } 51 52 public override IDeepCloneable Clone(Cloner cloner) { 53 return new SymbolicTimeSeriesPrognosisGrammar(this, cloner); 45 54 } 46 55 … … 129 138 } 130 139 } 131 } 132 133 public override IDeepCloneable Clone(Cloner cloner) { 134 SymbolicTimeSeriesPrognosisGrammar clone = (SymbolicTimeSeriesPrognosisGrammar)base.Clone(cloner); 135 clone.dimension = this.dimension; 136 return clone; 137 } 140 } 138 141 } 139 142 } -
branches/DataAnalysis/HeuristicLab.Problems.DataAnalysis.MultiVariate.TimeSeriesPrognosis/3.3/Symbolic/SymbolicTimeSeriesPrognosisModel.cs
r4463 r5275 47 47 [StorableConstructor] 48 48 protected SymbolicTimeSeriesPrognosisModel(bool deserializing) : base(deserializing) { } 49 49 protected SymbolicTimeSeriesPrognosisModel(SymbolicTimeSeriesPrognosisModel original, Cloner cloner) 50 : base(original, cloner) { 51 tree = cloner.Clone(original.tree); 52 interpreter = cloner.Clone(original.interpreter); 53 } 50 54 public SymbolicTimeSeriesPrognosisModel() { } 51 52 55 public SymbolicTimeSeriesPrognosisModel(ISymbolicTimeSeriesExpressionInterpreter interpreter, SymbolicExpressionTree tree) { 53 56 this.tree = tree; 54 57 this.interpreter = interpreter; 55 58 59 } 60 61 public override IDeepCloneable Clone(Cloner cloner) { 62 return new SymbolicTimeSeriesPrognosisModel(this, cloner); 56 63 } 57 64 … … 70 77 #endregion 71 78 72 public override IDeepCloneable Clone(Cloner cloner) {73 SymbolicTimeSeriesPrognosisModel clone = (SymbolicTimeSeriesPrognosisModel)base.Clone(cloner);74 clone.tree = (SymbolicExpressionTree)cloner.Clone(tree);75 clone.interpreter = (ISymbolicTimeSeriesExpressionInterpreter)cloner.Clone(interpreter);76 return clone;77 }78 79 } 79 80 } -
branches/DataAnalysis/HeuristicLab.Problems.DataAnalysis.MultiVariate.TimeSeriesPrognosis/3.3/Symbolic/SymbolicTimeSeriesPrognosisProblem.cs
r4118 r5275 161 161 [StorableConstructor] 162 162 protected SymbolicTimeSeriesPrognosisProblem(bool deserializing) : base(deserializing) { } 163 protected SymbolicTimeSeriesPrognosisProblem(SymbolicTimeSeriesPrognosisProblem original, Cloner cloner) 164 : base(original, cloner) { 165 operators = original.operators.Select(x => (IOperator)cloner.Clone(x)).ToList(); 166 grammar = (SymbolicTimeSeriesPrognosisGrammar)cloner.Clone(original.grammar); 167 RegisterParameterEvents(); 168 RegisterParameterValueEvents(); 169 } 163 170 public SymbolicTimeSeriesPrognosisProblem() 164 171 : base() { … … 188 195 189 196 [StorableHook(HookType.AfterDeserialization)] 190 private void AfterDeserialization Hook() {197 private void AfterDeserialization() { 191 198 // BackwardsCompatibility3.3 192 199 #region Backwards compatible code (remove with 3.4) … … 198 205 199 206 public override IDeepCloneable Clone(Cloner cloner) { 200 SymbolicTimeSeriesPrognosisProblem clone = (SymbolicTimeSeriesPrognosisProblem)base.Clone(cloner); 201 clone.operators = operators.Select(x => (IOperator)cloner.Clone(x)).ToList(); 202 clone.grammar = (SymbolicTimeSeriesPrognosisGrammar)cloner.Clone(grammar); 203 clone.RegisterParameterEvents(); 204 clone.RegisterParameterValueEvents(); 205 return clone; 207 return new SymbolicTimeSeriesPrognosisProblem(this, cloner); 206 208 } 207 209 -
branches/DataAnalysis/HeuristicLab.Problems.DataAnalysis.MultiVariate.TimeSeriesPrognosis/3.3/Symbolic/SymbolicTimeSeriesPrognosisSolution.cs
r5010 r5275 54 54 [StorableConstructor] 55 55 protected SymbolicTimeSeriesPrognosisSolution(bool deserializing) : base(deserializing) { } 56 56 protected SymbolicTimeSeriesPrognosisSolution(SymbolicTimeSeriesPrognosisSolution original, Cloner cloner) 57 : base(original, cloner) { 58 problemData = (MultiVariateDataAnalysisProblemData)cloner.Clone(original.problemData); 59 model = (SymbolicTimeSeriesPrognosisModel)cloner.Clone(original.model); 60 horizon = original.horizon; 61 conditionalEvaluationVariable = original.conditionalEvaluationVariable; 62 lowerEstimationLimit = (double[])original.lowerEstimationLimit.Clone(); 63 upperEstimationLimit = (double[])original.upperEstimationLimit.Clone(); 64 } 57 65 public SymbolicTimeSeriesPrognosisSolution() { 58 66 horizon = 1; … … 68 76 this.upperEstimationLimit = (double[])upperEstimationLimit.Clone(); 69 77 } 70 78 public override IDeepCloneable Clone(Cloner cloner) { 79 return new SymbolicTimeSeriesPrognosisSolution(this, cloner); 80 } 71 81 [StorableHook(HookType.AfterDeserialization)] 72 private void Initialize() {82 private void AfterDeserialization() { 73 83 if (problemData != null) 74 84 RegisterProblemDataEvents(); … … 206 216 207 217 208 public override IDeepCloneable Clone(Cloner cloner) {209 SymbolicTimeSeriesPrognosisSolution clone = (SymbolicTimeSeriesPrognosisSolution)base.Clone(cloner);210 clone.problemData = (MultiVariateDataAnalysisProblemData)cloner.Clone(problemData);211 clone.model = (SymbolicTimeSeriesPrognosisModel)cloner.Clone(model);212 clone.horizon = horizon;213 clone.conditionalEvaluationVariable = conditionalEvaluationVariable;214 clone.lowerEstimationLimit = (double[])lowerEstimationLimit.Clone();215 clone.upperEstimationLimit = (double[])upperEstimationLimit.Clone();216 return clone;217 }218 218 219 219 private IEnumerable<double[]> ApplyEstimationLimits(IEnumerable<double[]> values) { -
branches/DataAnalysis/HeuristicLab.Problems.DataAnalysis.MultiVariate.TimeSeriesPrognosis/3.3/Symbolic/Symbols/DerivativeVariable.cs
r4113 r5275 47 47 set { maxLag = value; } 48 48 } 49 [StorableConstructor] 50 protected DerivativeVariable(bool deserializing) : base(deserializing) { } 51 protected DerivativeVariable(DerivativeVariable original, Cloner cloner) 52 : base(original, cloner) { 53 minLag = original.minLag; 54 maxLag = original.maxLag; 55 } 49 56 public DerivativeVariable() 50 57 : base("DerivativeVariable", "Represents an differentiated variable value with a time offset.") { … … 57 64 58 65 public override IDeepCloneable Clone(Cloner cloner) { 59 DerivativeVariable clone = (DerivativeVariable)base.Clone(cloner); 60 clone.minLag = minLag; 61 clone.maxLag = maxLag; 62 return clone; 66 return new DerivativeVariable(this, cloner); 63 67 } 64 68 } -
branches/DataAnalysis/HeuristicLab.Problems.DataAnalysis.MultiVariate.TimeSeriesPrognosis/3.3/Symbolic/Symbols/DerivativeVariableTreeNode.cs
r4113 r5275 44 44 private DerivativeVariableTreeNode() { } 45 45 46 // copy constructor 47 private DerivativeVariableTreeNode(DerivativeVariableTreeNode original) 48 : base(original) { 49 lag = original.lag; 46 [StorableConstructor] 47 protected DerivativeVariableTreeNode(bool deserializing) : base(deserializing) { } 48 protected DerivativeVariableTreeNode(DerivativeVariableTreeNode original, Cloner cloner) 49 : base(original, cloner) { 50 lag = original.lag; 50 51 } 51 52 … … 69 70 70 71 71 public override object Clone() {72 return new DerivativeVariableTreeNode(this );72 public override IDeepCloneable Clone(Cloner cloner) { 73 return new DerivativeVariableTreeNode(this, cloner); 73 74 } 74 75 -
branches/DataAnalysis/HeuristicLab.Problems.DataAnalysis.MultiVariate.TimeSeriesPrognosis/3.3/Symbolic/Symbols/IntegratedVariable.cs
r4113 r5275 47 47 set { maxLag = value; } 48 48 } 49 [StorableConstructor] 50 protected IntegratedVariable(bool deserializing) : base(deserializing) { } 51 protected IntegratedVariable(IntegratedVariable original, Cloner cloner) 52 : base(original, cloner) { 53 minLag = original.minLag; 54 maxLag = original.maxLag; 55 } 49 56 public IntegratedVariable() 50 57 : base("IntegratedVariable", "Represents an integrated variable value with a time offset.") { … … 57 64 58 65 public override IDeepCloneable Clone(Cloner cloner) { 59 IntegratedVariable clone = (IntegratedVariable)base.Clone(cloner); 60 clone.minLag = minLag; 61 clone.maxLag = maxLag; 62 return clone; 66 return new IntegratedVariable(this, cloner); 63 67 } 64 68 } -
branches/DataAnalysis/HeuristicLab.Problems.DataAnalysis.MultiVariate.TimeSeriesPrognosis/3.3/Symbolic/Symbols/IntegratedVariableTreeNode.cs
r4113 r5275 50 50 51 51 private IntegratedVariableTreeNode() { } 52 53 // copy constructor54 pr ivate IntegratedVariableTreeNode(IntegratedVariableTreeNode original)55 : base(original ) {52 [StorableConstructor] 53 protected IntegratedVariableTreeNode(bool deserializing) : base(deserializing) { } 54 protected IntegratedVariableTreeNode(IntegratedVariableTreeNode original, Cloner cloner) 55 : base(original, cloner) { 56 56 minTimeOffset = original.minTimeOffset; 57 57 maxTimeOffset = original.maxTimeOffset; … … 77 77 maxTimeOffset = Math.Min(Symbol.MaxLag, Math.Max(minTimeOffset, maxTimeOffset + random.Next(-1, 2))); 78 78 } 79 80 81 public override object Clone() { 82 return new IntegratedVariableTreeNode(this); 79 public override IDeepCloneable Clone(Cloner cloner) { 80 return new IntegratedVariableTreeNode(this, cloner); 83 81 } 84 85 82 public override string ToString() { 86 83 return Weight.ToString("E4") + " I(" + VariableName + -
branches/DataAnalysis/HeuristicLab.Problems.DataAnalysis.MultiVariate.TimeSeriesPrognosis/3.3/Symbolic/Symbols/MovingAverage.cs
r4113 r5275 47 47 set { maxLag = value; } 48 48 } 49 [StorableConstructor] 50 protected MovingAverage(bool deserializing) : base(deserializing) { } 51 protected MovingAverage(MovingAverage original, Cloner cloner) 52 : base(original, cloner) { 53 minLag = original.minLag; 54 maxLag = original.maxLag; 55 } 49 56 public MovingAverage() 50 57 : base("MovingAverage", "Represents a moving average of a variable value with a time offset.") { … … 57 64 58 65 public override IDeepCloneable Clone(Cloner cloner) { 59 MovingAverage clone = (MovingAverage)base.Clone(cloner); 60 clone.minLag = minLag; 61 clone.maxLag = maxLag; 62 return clone; 66 return new MovingAverage(this, cloner); 63 67 } 64 68 } -
branches/DataAnalysis/HeuristicLab.Problems.DataAnalysis.MultiVariate.TimeSeriesPrognosis/3.3/Symbolic/Symbols/MovingAverageTreeNode.cs
r4113 r5275 50 50 51 51 private MovingAverageTreeNode() { } 52 53 // copy constructor54 pr ivate MovingAverageTreeNode(MovingAverageTreeNode original)55 : base(original ) {52 [StorableConstructor] 53 protected MovingAverageTreeNode(bool deserializing) : base(deserializing) { } 54 protected MovingAverageTreeNode(MovingAverageTreeNode original, Cloner cloner) 55 : base(original, cloner) { 56 56 minTimeOffset = original.minTimeOffset; 57 57 maxTimeOffset = original.maxTimeOffset; … … 79 79 80 80 81 public override object Clone() {82 return new MovingAverageTreeNode(this );81 public override IDeepCloneable Clone(Cloner cloner) { 82 return new MovingAverageTreeNode(this, cloner); 83 83 } 84 85 84 public override string ToString() { 86 85 return Weight.ToString("E4") + " MA(" + VariableName +
Note: See TracChangeset
for help on using the changeset viewer.