Dupliquer possible:
Statistiques simples - Packages Java pour le calcul de la moyenne, de l'écart type, etc.
J'ai un vecteur de quelques doubles (1.1,2,3,5). Comment puis-je calculer la variance, la médiane et l'écart type?
Java ou C++ ou même un pseudo-code feraient l'affaire.
public class Statistics {
double[] data;
int size;
public Statistics(double[] data) {
this.data = data;
size = data.length;
}
double getMean() {
double sum = 0.0;
for(double a : data)
sum += a;
return sum/size;
}
double getVariance() {
double mean = getMean();
double temp = 0;
for(double a :data)
temp += (a-mean)*(a-mean);
return temp/(size-1);
}
double getStdDev() {
return Math.sqrt(getVariance());
}
public double median() {
Arrays.sort(data);
if (data.length % 2 == 0)
return (data[(data.length / 2) - 1] + data[data.length / 2]) / 2.0;
return data[data.length / 2];
}
}
Pour calculer la moyenne, parcourez la liste/le tableau de nombres en gardant une trace des sommes partielles et de la longueur. Puis retournez le sum/length
.
double sum = 0.0;
int length = 0;
for( double number : numbers ) {
sum += number;
length++;
}
return sum/length;
La variance est calculée de manière similaire. L’écart-type est simplement la racine carrée de la variance:
double stddev = Math.sqrt( variance );