Improved outlier calculation
This commit is contained in:
parent
55e4b745ef
commit
f3695a016c
@ -145,13 +145,12 @@ export class ChartHitDistributionComponent implements OnInit, OnChanges {
|
|||||||
let {errorDetails, ys} = this.calculateData(data);
|
let {errorDetails, ys} = this.calculateData(data);
|
||||||
|
|
||||||
// Calculate IQR
|
// Calculate IQR
|
||||||
const q1 = ys[Math.floor((ys.length / 4))];
|
const percentiles = this.percentile(ys, [25, 75]);
|
||||||
const q3 = ys[Math.floor((ys.length * 3) / 4)];
|
const iqr = percentiles[1] - percentiles[0];
|
||||||
const iqr = q3 - q1;
|
|
||||||
|
|
||||||
// Calculate bounds
|
// Calculate bounds
|
||||||
const lowerBound = q1 - 1.5 * iqr;
|
const lowerBound = percentiles[0] - 1.5 * iqr;
|
||||||
const upperBound = q3 + 1.5 * iqr;
|
const upperBound = percentiles[1] + 1.5 * iqr;
|
||||||
|
|
||||||
// Filter outliers
|
// Filter outliers
|
||||||
const filteredDetails = errorDetails.filter(detail => detail.x > lowerBound && detail.x < upperBound);
|
const filteredDetails = errorDetails.filter(detail => detail.x > lowerBound && detail.x < upperBound);
|
||||||
@ -166,6 +165,10 @@ export class ChartHitDistributionComponent implements OnInit, OnChanges {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
if(Object.entries(filteredData).length === 0) {
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
|
||||||
return filteredData;
|
return filteredData;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user