В LaplacesDemon (библиотека R) мне было интересно, есть ли способ ограничить выборки определенным диапазоном.Для модели задано предварительное вычисление, но я не думаю, что она учитывается при создании выборок, поскольку я получаю предупреждения о неконечных значениях (моя модель не принимает отрицательные значения).
Например, используя пример кода:
Model <- function(parm, Data)
{
### Parameters
beta <- parm[1:Data$J]
sigma <- exp(parm[Data$J+1])
### Log of Prior Densities
beta.prior <- sum(dnormv(beta, 0, 1000, log=TRUE))
sigma.prior <- dhalfcauchy(sigma, 25, log=TRUE)
### Log-Likelihood
mu <- tcrossprod(Data$X, t(beta))
LL <- sum(dnorm(Data$y, mu, sigma, log=TRUE))
### Log-Posterior
LP <- LL + beta.prior + sigma.prior
Modelout <- list(LP=LP, Dev=-2*LL, Monitor=c(LP,sigma),
yhat=rnorm(length(mu), mu, sigma), parm=parm)
return(Modelout)
}
Можно ли попросить пробоотборник отбирать только положительные образцы для бета-параметров вместо -Inf to Inf?или это уже делает работу, где beta.prior рассматривается для образцов бета-версии ?, что я не думаю, что происходит ...