package ecoparasite.nettoyage; import ecoparasite.poisson.Poisson; import java.util.HashSet; /** * Class Définissant les méthodes statics de Nettoyage des données */ public class Nettoyage { /** * Methode Static de nettoyage des valeurs abérrante et absurde * @param tablePoisson Un Hashset de Poisson contenant nos données * @return Le Hashset de Poisson une fois qu'il est nettoyé */ public static HashSet nettoiePoissonMean(HashSet tablePoisson){ Double mean = mean(tablePoisson); //Moyenne Double ecart = ecartType(tablePoisson); // Ecart Type Double z = 0.0; for (Poisson p : tablePoisson) { z = ( p.getInfestation() - mean ) / ecart; if ( z >= 2.5 ) { p.setInfestation(mean); } } return tablePoisson; } /** * Methode Privée permettant de calculer la moyenne * @param tablePoisson Un Hashset de Poisson contenant nos données * @return Un Double correspondant à la moyenne */ private static Double mean(HashSet tablePoisson){ Double mean = 0.0; for (Poisson p : tablePoisson){ mean += p.getInfestation(); } return mean / tablePoisson.size(); } /** * Methode Privée permettant de calculer la variance * @param tablePoisson Un Hashset de Poisson contenant nos données * @return Un Double correspondant à la variance */ private static Double variance(HashSet tablePoisson){ Double vari = 0.0; Double mean = mean(tablePoisson); for (Poisson p : tablePoisson) { vari += Math.pow( (p.getInfestation() - mean), 2); } return vari / tablePoisson.size(); } /** * Methode Privée permettant de calculer l'écart-type * @param tablePoisson Un Hashset de Poisson contenant nos données * @return Un Double correspondant à l'écart-type */ private static Double ecartType(HashSet tablePoisson){ Double vari = variance(tablePoisson); return Math.sqrt(vari); } }