Given a hyper2 object, discard competitors with a small estimated strength.

zapweak(H, minstrength = 1e-05, maxit, ...)

Arguments

H

Object of class hyper2

minstrength

Strength below which to discard competitors

maxit

Maximum number of iterations; if missing, use size(H)-1

...

Further arguments, passed to maxp()

Details

Iteratively discards the weakest player (if the estimated strength is less than minstrength) using discard_flawed(). maxp(..,n=1) for efficiency.

Value

Returns a slimmed-down hyper2 object with weak players removed.

Note

This function is experimental and appears to be overly aggressive. For some likelihood functions zapweak() removes all the players.

I now think that there is no consistent way to remove weaker players from a likelihood function. I think the only way to do it is to look at the dataset that generates the likelihood function, somehow weed out the players with the poorest performance, and generate a new likelihood function without them.

See also

Author

Robin K. S. Hankin

Examples

 zapweak(icons)        # removes noone
#> iteration 1, size(H) = 6
#> log(L^24 * (L + NB + OA + THC)^-20 * (L + NB + OA + WAIS)^-9 * (L + NB
#> + THC + WAIS)^-15 * (L + OA + PB + THC)^-11 * (L + OA + PB + WAIS)^-18
#> * (L + PB + THC + WAIS)^-16 * NB^32 * (NB + OA + PB + THC)^-18 * (NB +
#> OA + PB + WAIS)^-8 * (NB + PB + THC + WAIS)^-18 * OA^14 * PB^30 *
#> THC^24 * WAIS^9)
# zapweak(rowing)      # removes everyone...