The marginal density of the data, i.e. the likelihood integrated with respect to the given prior distribution on the regression coefficients of the variables included in the model and an inverse gamma prior on the residual variance.
nlpMarginal
is the general function, the remaining ones
correspond to particular cases and are kept for backwards
compatibility with old code, and will be deprecated in the future.
nlpMarginal(sel, y, x, family="normal", priorCoef=momprior(tau=0.348),
priorVar=igprior(alpha=0.01,lambda=0.01), priorSkew=momprior(tau=0.348),
method='auto', hess='asymp', optimMethod='CDA', B=10^5, logscale=TRUE, XtX, ytX)pimomMarginalK(sel, y, x, phi, tau=1, method='Laplace', B=10^5, logscale=TRUE, XtX, ytX)
pimomMarginalU(sel, y, x, alpha=0.001, lambda=0.001, tau=1,
method='Laplace', B=10^5, logscale=TRUE, XtX, ytX)
pmomMarginalK(sel, y, x, phi, tau, r=1, method='auto', B=10^5,
logscale=TRUE, XtX, ytX)
pmomMarginalU(sel, y, x, alpha=0.001, lambda=0.001, tau=1,
r=1, method='auto', B=10^5, logscale=TRUE, XtX, ytX)
Vector with indexes of columns in x to be included in the model
Vector with observed responses
Design matrix with covariates. Only the columns specified in
sel
are included in the model, the rest are disregarded
Residual distribution. Possible values are 'normal','twopiecenormal','laplace', 'twopiecelaplace'
Prior on coefficients, created
by momprior
, imomprior
, emomprior
or
zellnerprior
.
Prior dispersion is on coefficients/sqrt(scale) for Normal and
two-piece Normal, and on coefficients/sqrt(2*scale) for Laplace
and two-piece Laplace.
Inverse gamma prior on scale parameter, created by
igprior(). For Normal variance=scale, for Laplace variance=2*scale.
Either a number fixing tanh(alpha) where alpha is the
asymmetry parameter or a prior on residual skewness parameter,
assumed to be of
the same family as priorCoef. Ignored if family
is 'normal' or
'laplace'.
Method to approximate the integral. method=='auto' uses closed-form expressions whenever possible and Laplace approximations otherwise. method=='Laplace' for Laplace approx. method=='MC' for Monte Carlo
Method to estimat the hessian in the Laplace approximation to the integrated likelihood under Laplace or asymmetric Laplace errors. When hess=='asymp' the asymptotic hessian is used, hess=='asympDiagAdj' a diagonal adjustment is applied (see Rossell and Rubio for details).
Algorithm to maximize objective function when method=='Laplace' or method=='MC'. optimMethod=='LMA' uses modified Newton-Raphson algorithm, 'CDA' coordinate descent algorithm
Number of Monte Carlo samples to use (ignored unless
method=='MC'
)
If logscale==TRUE
the log marginal density is returned.
Optionally, specify the matrix X'X. Useful when the function must be called a large number of times.
Optionally, specify the vector y'X. Useful when the function must be called a large number of times.
Residual variance, assumed to be known by
pimomMarginalK
and pmomMarginalK
Prior for phi is inverse gamma alpha/2
,
lambda/2
Prior for phi is inverse gamma alpha/2
,
lambda/2
Prior dispersion parameter for MOM and iMOM priors (see details)
Prior power parameter for MOM prior is 2*r
Marginal density of the observed data under the specified prior.
The marginal density of the data is equal to the integral of N(y;x[,sel]*theta,phi*I) * pi(theta|phi,tau) * IG(phi;alpha/2,lambda/2) with respect to theta, where pi(theta|phi,tau) is a non-local prior and IG denotes the density of an inverse gamma.
pmomMarginalK
and pimomMarginalK
assume that the
residual variance is known and therefore the inverse-gamma term in the
integrand can be ommitted.
The product MOM and iMOM densities can be evaluated using the
functions dmom
and dimom
.
Johnson V.E., Rossell D. Non-Local Prior Densities for Default Bayesian Hypothesis Tests. Journal of the Royal Statistical Society B, 2010, 72, 143-170. See http://rosselldavid.googlepages.com for technical reports.
modelSelection
to perform model selection based
on product non-local priors.
momunknown
, imomunknown
, momknown
, imomknown
to compute Bayes factors for additive MOM and iMOM priors
# NOT RUN {
x <- matrix(rnorm(100*2),ncol=2)
y <- x %*% matrix(c(.5,1),ncol=1) + rnorm(nrow(x))
pmomMarginalK(sel=1, y=y, x=x, phi=1, tau=1, method='Laplace')
pmomMarginalK(sel=1:2, y=y, x=x, phi=1, tau=1, method='Laplace')
# }
Run the code above in your browser using DataLab