Aquí está la versión Java, Biblioteca de matemáticas de Apache Commons :
import org.apache.commons.math3.distribution.NormalDistribution;
public static double overlapArea(double mean1, double sd1, double mean2, double sd2) {
NormalDistribution normalDistribution1 = new NormalDistribution(mean1, sd1);
NormalDistribution normalDistribution2 = new NormalDistribution(mean2, sd2);
double min = Math.min(mean1 - 6 * sd1, mean2 - 6 * sd2);
double max = Math.max(mean1 + 6 * sd1, mean2 + 6 * sd2);
double range = max - min;
int resolution = (int) (range/Math.min(sd1, sd2));
double partwidth = range / resolution;
double intersectionArea = 0;
int begin = (int)((Math.max(mean1 - 6 * sd1, mean2 - 6 * sd2)-min)/partwidth);
int end = (int)((Math.min(mean1 + 6 * sd1, mean2 + 6 * sd2)-min)/partwidth);
/// Divide the range into N partitions
for (int ii = begin; ii < end; ii++) {
double partMin = partwidth * ii;
double partMax = partwidth * (ii + 1);
double areaOfDist1 = normalDistribution1.probability(partMin, partMax);
double areaOfDist2 = normalDistribution2.probability(partMin, partMax);
intersectionArea += Math.min(areaOfDist1, areaOfDist2);
}
return intersectionArea;
}
2 votos
¿A qué se refiere con lo de la región superpuesta? ¿Se refiere a la zona que está por debajo de ambas curvas de densidad?
0 votos
Me refiero a la intersección de dos áreas
5 votos
En resumen, escribir los dos pdfs como $f$ y $g$ ¿realmente quieres calcular $\int \min(f(x),g(x))dx$ ? ¿Podría aclararnos el contexto en el que surge y cómo se interpretaría?
0 votos
Véase también: stats.stackexchange.com/questions/103800/