Changeset 13867 for branches/HeuristicLab.Problems.GeneticProgramming.BloodGlucosePrediction/Interpreter.cs
- Timestamp:
- 05/31/16 17:05:49 (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HeuristicLab.Problems.GeneticProgramming.BloodGlucosePrediction/Interpreter.cs
r13865 r13867 101 101 } else if (node.Symbol is PredictedGlucoseVariableSymbol) { 102 102 var n = (PredictedGlucoseVariableTreeNode)node; 103 return data.predGluc[k + n.RowOffset];103 return n.Weight * data.predGluc[k + n.RowOffset]; 104 104 } else if (node.Symbol is RealGlucoseVariableSymbol) { 105 105 var n = (RealGlucoseVariableTreeNode)node; 106 return data.realGluc[k + n.RowOffset];106 return n.Weight * data.realGluc[k + n.RowOffset]; 107 107 } else if (node.Symbol is CurvedChVariableSymbol) { 108 108 var n = (CurvedChVariableTreeNode)node; … … 110 110 int prevValDistance; 111 111 GetPrevDataAndDistance(data.realCh, k, out prevVal, out prevValDistance, maxDistance: 48); 112 return prevVal * Beta(prevValDistance / 48.0, n.Symbol.Alpha, n.Symbol.Beta);112 return n.Weight * prevVal * Beta(prevValDistance / 48.0, n.Alpha, n.Beta); 113 113 } else if (node.Symbol is RealInsulineVariableSymbol) { 114 114 var n = (RealInsulineVariableTreeNode)node; 115 return data.realIns[k + n.RowOffset];115 return n.Weight * data.realIns[k + n.RowOffset]; 116 116 } else if (node.Symbol is CurvedInsVariableSymbol) { 117 117 var n = (CurvedInsVariableTreeNode)node; … … 121 121 122 122 GetMaxValueAndDistance(data.realIns, k, out maxVal, out maxValDistance, maxDistance: 48); 123 return (sum - maxVal) * maxVal * Beta(maxValDistance / 48.0, n.Symbol.Alpha, n.Symbol.Beta);123 return n.Weight * (sum - maxVal) * maxVal * Beta(maxValDistance / 48.0, n.Alpha, n.Beta); 124 124 } else { 125 125 throw new InvalidProgramException("found unknown symbol " + node.Symbol); … … 128 128 129 129 private static double Beta(double x, double alpha, double beta) { 130 return alglib.invincompletebeta(alpha, beta, x);130 return 1.0 / alglib.beta(alpha, beta) * Math.Pow(x, alpha - 1) * Math.Pow(1 - x, beta - 1); 131 131 } 132 132
Note: See TracChangeset
for help on using the changeset viewer.