Maps unconstrained values to (0, 1) via the sigmoid function. Use this for probability parameters.
Details
The transformation is: probability(x) = 1 / (1 + exp(-x)) = sigmoid(x)
For optimization:
result <- fit(
function(logit_p) {
p <- probability(logit_p)
loglik_bernoulli(p, data)
},
params = c(logit_p = 0) # sigmoid(0) = 0.5
)
# To recover p: sigmoid(coef(result)["logit_p"])