Skip to contents

p(x) = exp(psi(x)) / int exp(psi) turns ANY bounded function psi into a positive normalised density. The two constraints that make density estimation awkward – positivity and unit mass – are both discharged by the link, so the prior on psi can be completely unconstrained.

Usage

Ghosalexplink(x, psi = NULL)

Arguments

x

Grid points; sorted internally, at least two of them.

psi

Log-density shape as a function; sin(3 t) when NULL.

Value

List with estimate (density at the middle grid point), density, normalizer, method.

Details

Formula: Z = int exp(psi) by the trapezoid rule on the sorted grid; density = exp(psi) / Z.

References

Ghosal & van der Vaart (2017), Fundamentals of Nonparametric Bayesian Inference, CUP, section 2.3.1.

Examples

V <- c(1, 2, 3, 4, 5, 6, 7, 8)
Ghosalexplink(V)
#> $estimate
#> [1] 0.2301461
#> 
#> $density
#> [1] 0.13831674 0.09083192 0.18137102 0.07023546 0.23014606 0.05668100 0.27729500
#> [8] 0.04856232
#> 
#> $normalizer
#> [1] 8.325549
#> 
#> $method
#> [1] "exponential link density (GvdV 2017 sec. 2.3.1)"
#> 
#> attr(,"class")
#> [1] "morie_rich_result" "list"