private double computeVariance(int[] stream) {
double mean = computeAverage(stream);
double rvar = Math.pow(stream[0] - mean, 2);
double total = 1;
double fract = 1;
double sqdif = 0;
for (int i = 1; i < stream.length; i++) {
sqdif = Math.pow(stream[i] - mean, 2);
fract = total / ++total;
rvar = (rvar * fract) + (sqdif / total);
}
return rvar;
}
private double computeAverage(int[] stream) {
double rmean = stream[0];
double total = 1;
double fract = 1;
for (int i = 1; i < stream.length; i++) {
fract = total / ++total;
rmean = (rmean * fract) + (stream[i] / total);
}
return rmean;
}
double mean = computeAverage(stream);
double rvar = Math.pow(stream[0] - mean, 2);
double total = 1;
double fract = 1;
double sqdif = 0;
for (int i = 1; i < stream.length; i++) {
sqdif = Math.pow(stream[i] - mean, 2);
fract = total / ++total;
rvar = (rvar * fract) + (sqdif / total);
}
return rvar;
}
private double computeAverage(int[] stream) {
double rmean = stream[0];
double total = 1;
double fract = 1;
for (int i = 1; i < stream.length; i++) {
fract = total / ++total;
rmean = (rmean * fract) + (stream[i] / total);
}
return rmean;
}
No comments:
Post a Comment