package com.spbsu.exp.modelexp;
/**
* User: solar
* Date: 03.04.15
* Time: 13:26
*/
public class Stat {
double sum = 0;
double sum2 = 0;
int power = 0;
public Stat update(double score) {
power++;
sum += score;
sum2 += score * score;
return this;
}
public Verdict status() {
if (power < 3)
return Verdict.INSIGNIFICANT;
final double mean = sum/power;
final double D = (1./(power - 1.)) * (sum2 - sum * mean);
final double var = Math.sqrt(D);
if (Math.abs(mean) < var * 3)
return Verdict.INSIGNIFICANT;
return mean > 0 ? Verdict.GOOD : Verdict.BAD;
}
public enum Verdict {
GOOD, BAD, INSIGNIFICANT
}
}