1 %> @brief Distribution-Based Outlier Removal
3 %> @sa uip_blmisc_rowsout_distr.m
6 %> =0.01. Value to be used
if type is \c
'threshold'. This is a
7 %> fraction of the maximum value in the histogram
9 %> =0. Range filter: 0-none; 1-left quantile; 2-right quantile
11 %> =0. Activates
"tail trimming mode". In
this mode, tails are trimmed starting at the first bin below the
12 %> threshold. This can happen either/both at the first or/and second quantile, depending on the value of the @c
19 o.classtitle = 'Distribution Estimation';
22 function o = draw_histogram(o)
27 %> @brief Returns a vector that flags whether each bin goes or not.
28 function z = get_distrboolmap(o, x)
29 nb = length(x); % number of bins
34 iq = o.get_idx_50plus(x);
35 if o.quantile == 1 % restricts check to quantile
37 elseif o.quantile == 2
40 absthreshold = o.threshold*max(x);
42 if x(i) < absthreshold
57 methods(Access=protected)
58 function o = draw_thresholds(o)
61 maxy = max(o.hits)*1.1;
62 if o.quantile == 1 % left quantile
63 x2 = o.edges(o.get_idx_50plus(o.hits));
64 plot([x2, x2], [0, maxy], 'r', 'LineWidth', 2);
66 elseif o.quantile == 2 % right quantile
67 x1 = o.edges(o.get_idx_50plus(o.hits));
68 plot([x1, x1], [0, maxy], 'r', 'LineWidth', 2);
71 plot([x1, x2], [1, 1]*o.threshold*max(o.hits), 'r', 'LineWidth', 2);
Distribution-Based Outlier Removal.
Univariate Outlier removal.