Link function Bijectors.jl

Dear All,

I would like to ask probably a stupid question. What exactly does link() function? Documentation: link: maps a sample of a random distribution dist from its support to a value in R^n. Example:
`
How how exactly/according to what key does link() maps this sample from support to R^n?

julia> using Bijectors

julia> dist = Beta(2, 2)
Beta{Float64}(α=2.0, β=2.0)

julia> x = rand(dist)
0.7472542331020509

julia> y = link(dist, x)
1.084021356473311

Best,
Honza

For a beta distribution, 0 < x < 1. The link function applies a 1-to-1 transformation to the whole real line. Because the beta distribution has both an upper and lower bound a logit transform is used here:

julia> logit(0.7472542331020509)
1.084021356473311
3 Likes

Thank you very much! Is there some more detailed documentation/tutorial that explains how it works (which transforms does it use)? Does it always transforms some bounded distribution into unbounded one?

It looks like the Readme for Bijectors.jl is the primary documentation. The available transformations are listed at the bottom. The general goal is to transform a constrained value to an unconstrained value.

3 Likes