Changeset 712 for trunk/sources/HeuristicLab.GP.StructureIdentification.TimeSeries/AveragePercentageChangeEvaluator.cs
- Timestamp:
- 11/05/08 21:34:12 (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/sources/HeuristicLab.GP.StructureIdentification.TimeSeries/AveragePercentageChangeEvaluator.cs
r702 r712 45 45 bool differential = GetVariableValue<BoolData>("Differential", scope, true).Data; 46 46 DoubleData apc = GetVariableValue<DoubleData>("APC", scope, false, false); 47 if (apc == null) {47 if (apc == null) { 48 48 apc = new DoubleData(); 49 49 scope.AddVariable(new HeuristicLab.Core.Variable(scope.TranslateName("APC"), apc)); … … 51 51 52 52 double percentageSum = 0; 53 for (int sample = start; sample < end; sample++) {53 for (int sample = start; sample < end; sample++) { 54 54 double prevOriginal; 55 55 double originalPercentageChange; 56 56 double estimatedPercentageChange; 57 if (differential) {58 prevOriginal = dataset.GetValue( targetVariable,sample - 1);59 originalPercentageChange = (dataset.GetValue( targetVariable,sample) - prevOriginal) / prevOriginal;57 if (differential) { 58 prevOriginal = dataset.GetValue(sample - 1, targetVariable); 59 originalPercentageChange = (dataset.GetValue(sample, targetVariable) - prevOriginal) / prevOriginal; 60 60 estimatedPercentageChange = (evaluator.Evaluate(sample) - prevOriginal) / prevOriginal; 61 if (updateTargetValues) {62 dataset.SetValue( targetVariable, sample, estimatedPercentageChange * prevOriginal + prevOriginal);61 if (updateTargetValues) { 62 dataset.SetValue(sample, targetVariable, estimatedPercentageChange * prevOriginal + prevOriginal); 63 63 } 64 64 } else { 65 originalPercentageChange = dataset.GetValue( targetVariable,sample);65 originalPercentageChange = dataset.GetValue(sample, targetVariable); 66 66 estimatedPercentageChange = evaluator.Evaluate(sample); 67 if (updateTargetValues) {68 dataset.SetValue( targetVariable, sample, estimatedPercentageChange);67 if (updateTargetValues) { 68 dataset.SetValue(sample, targetVariable, estimatedPercentageChange); 69 69 } 70 70 } 71 if (!double.IsNaN(originalPercentageChange) && !double.IsInfinity(originalPercentageChange)) {72 if ((estimatedPercentageChange > 0 && originalPercentageChange > 0) ||71 if (!double.IsNaN(originalPercentageChange) && !double.IsInfinity(originalPercentageChange)) { 72 if ((estimatedPercentageChange > 0 && originalPercentageChange > 0) || 73 73 (estimatedPercentageChange < 0 && originalPercentageChange < 0)) { 74 74 percentageSum += Math.Abs(originalPercentageChange); 75 } else if ((estimatedPercentageChange > 0 && originalPercentageChange < 0) ||75 } else if ((estimatedPercentageChange > 0 && originalPercentageChange < 0) || 76 76 (estimatedPercentageChange < 0 && originalPercentageChange > 0)) { 77 77 percentageSum -= Math.Abs(originalPercentageChange); … … 81 81 82 82 percentageSum /= (end - start); 83 if (double.IsNaN(percentageSum) || double.IsInfinity(percentageSum)) {83 if (double.IsNaN(percentageSum) || double.IsInfinity(percentageSum)) { 84 84 percentageSum = double.MinValue; 85 85 }
Note: See TracChangeset
for help on using the changeset viewer.