Files
ecoparasite-data-analyse/src/ecoparasite/nettoyage/Nettoyage.java

64 lines
1.3 KiB
Java
Raw Normal View History

2026-04-01 15:05:16 +02:00
package ecoparasite.nettoyage;
import ecoparasite.poisson.Poisson;
import java.util.HashSet;
public class Nettoyage {
/**
2026-04-01 16:20:41 +02:00
*
2026-04-01 15:05:16 +02:00
* @param tablePoisson
* @return
*/
2026-04-01 16:20:41 +02:00
public static HashSet<Poisson> nettoiePoissonMean(HashSet<Poisson> tablePoisson){
2026-04-01 15:05:16 +02:00
2026-04-01 16:20:41 +02:00
Double mean = mean(tablePoisson); //Moyenne
Double ecart = ecartType(tablePoisson); // Ecart Type
2026-04-01 15:05:16 +02:00
2026-04-01 16:20:41 +02:00
Double z = 0.0;
2026-04-01 15:05:16 +02:00
for (Poisson p : tablePoisson) {
z = ( p.getInfestation() - mean ) / ecart;
2026-04-01 16:20:41 +02:00
if ( z >= 2.5 ) {
2026-04-01 15:05:16 +02:00
p.setInfestation(mean);
}
}
return tablePoisson;
}
2026-04-01 16:20:41 +02:00
private static Double mean(HashSet<Poisson> tablePoisson){
2026-04-01 15:05:16 +02:00
2026-04-01 16:20:41 +02:00
Double mean = 0.0;
2026-04-01 15:05:16 +02:00
for (Poisson p : tablePoisson){
mean += p.getInfestation();
}
return mean / tablePoisson.size();
}
2026-04-01 16:20:41 +02:00
private static Double variance(HashSet<Poisson> tablePoisson){
2026-04-01 15:05:16 +02:00
2026-04-01 16:20:41 +02:00
Double vari = 0.0;
Double mean = mean(tablePoisson);
2026-04-01 15:05:16 +02:00
for (Poisson p : tablePoisson) {
vari += Math.pow( (p.getInfestation() - mean), 2);
}
return vari / tablePoisson.size();
}
2026-04-01 16:20:41 +02:00
private static Double ecartType(HashSet<Poisson> tablePoisson){
2026-04-01 15:05:16 +02:00
2026-04-01 16:20:41 +02:00
Double vari = variance(tablePoisson);
2026-04-01 15:05:16 +02:00
return Math.sqrt(vari);
}
}