For the complete documentation index, see llms.txt. This page is also available as Markdown.

ARMS MH

ARMS stands for Adaptive Rejection Metropolis Sampling, and it is the generalization of ARS algorithm.

We can implement this algorithm with the following Julia program:

include("../GenRV/ars.jl")
using Main.corears
# ARMS
function arms(T, yfixed::Array)
    x = ones(T+1)
    for t = 1:T
        # generate Y
        while true
            global y
            y = gplus_sample(yfixed)
            u = rand()
            u <= exp(h(y)-hplus(y, yfixed)) && break
        end
        # accept or not
        v = rand()
        r = exp(h(y))*phi(x[t], yfixed)/(exp(h(x[t]))*phi(y, yfixed))
        println(r)
        if r >= 1
            x[t+1] = y
        else
            if v <= r
                x[t+1] = y
            else
                x[t+1] = x[t]
            end
        end
    end
    return(x)
end

Now let's apply ARMS to poisson logistic model:

Last updated