Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
05/31/16 17:05:49 (8 years ago)
Author:
gkronber
Message:

#2608 worked on glucose prediction problem

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/HeuristicLab.Problems.GeneticProgramming.BloodGlucosePrediction/Interpreter.cs

    r13865 r13867  
    101101      } else if (node.Symbol is PredictedGlucoseVariableSymbol) {
    102102        var n = (PredictedGlucoseVariableTreeNode)node;
    103         return data.predGluc[k + n.RowOffset];
     103        return n.Weight * data.predGluc[k + n.RowOffset];
    104104      } else if (node.Symbol is RealGlucoseVariableSymbol) {
    105105        var n = (RealGlucoseVariableTreeNode)node;
    106         return data.realGluc[k + n.RowOffset];
     106        return n.Weight * data.realGluc[k + n.RowOffset];
    107107      } else if (node.Symbol is CurvedChVariableSymbol) {
    108108        var n = (CurvedChVariableTreeNode)node;
     
    110110        int prevValDistance;
    111111        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);
    113113      } else if (node.Symbol is RealInsulineVariableSymbol) {
    114114        var n = (RealInsulineVariableTreeNode)node;
    115         return data.realIns[k + n.RowOffset];
     115        return n.Weight * data.realIns[k + n.RowOffset];
    116116      } else if (node.Symbol is CurvedInsVariableSymbol) {
    117117        var n = (CurvedInsVariableTreeNode)node;
     
    121121
    122122        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);
    124124      } else {
    125125        throw new InvalidProgramException("found unknown symbol " + node.Symbol);
     
    128128
    129129    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);
    131131    }
    132132
Note: See TracChangeset for help on using the changeset viewer.