Pool adjacent violators algorithm
ID: pool-adjacent-violators-algorithm
The pool adjacent violators algorithm solves weighted isotonic regression: minimize with and . Start with singleton blocks. Whenever consecutive fitted block means decrease, merge the two blocks and replace them by their weighted mean; continue until no violation remains. For equal weights and observations , merging the first two gives the solution . A stack implementation revisits each block only when merging it, giving linear time. Pooling is required by the order-constrained optimum: two reversed adjacent blocks cannot remain separate fitted levels.
New to topics? Read the docs here!