Customize weight-updating within factor levels in case of numerical calibration. The functions described here serve as inputs for ipf.
computeLinear(curValue, target, x, w, boundLinear = 10)computeLinearG1(curValue, target, x, w, boundLinear = 10)
computeFrac(curValue, target, x, w)
Current summed up value. Same as sum(x*w)
Target value. An element of conP
in ipf
Vector of numeric values to be calibrated against
Vector of weights
The output f
will satisfy
1/boundLinear <= f <= boundLinear
. See bound
in ipf
A weight multiplier f
computeFrac
provides the "standard" IPU updating scheme given as
$$f = target/curValue$$
which means that each weight inside the level will be multtiplied by the same
factor when doing the actual update step (w := f*w
). computeLinear
on the
other hand calculates f
as
where a
and b
are chosen, so f satisfies the following two equations.
computeLinearG1
calculates f
in the same way as computeLinear
, but if
f_i*w_i<1
f_i
will be set to 1/w_i
.