Automatic Differentiation
 
Loading...
Searching...
No Matches

◆ laplace_marginal_tol_neg_binomial_2_log_lpmf()

template<bool propto = false, typename Eta , typename Mean , typename CovarFun , typename CovarArgs , typename OpsTuple >
auto stan::math::laplace_marginal_tol_neg_binomial_2_log_lpmf ( const std::vector< int > &  y,
const std::vector< int > &  y_index,
const Eta &  eta,
Mean &&  mean,
CovarFun &&  covariance_function,
CovarArgs &&  covar_args,
OpsTuple &&  ops,
std::ostream *  msgs 
)
inline

Wrapper function around the laplace_marginal function for a negative binomial likelihood.

Uses the 2nd parameterization. Returns the marginal density p(y|phi) by marginalizing out the latent gaussian variable, with a Laplace approximation. See the laplace_marginal function for more details.

Template Parameters
EtaThe type of parameter arguments for the likelihood function.
ThetaVecA type inheriting from Eigen::EigenBase with dynamic sized rows and 1 column.
Meantype of the mean of the latent normal distribution
CovarFunA functor with an operator()(CovarArgsElements..., {TrainTupleElements...| PredTupleElements...}) method. The operator() method should accept as arguments the inner elements of CovarArgs. The return type of the operator() method should be a type inheriting from Eigen::EigenBase with dynamic sized rows and columns.
CovarArgsA tuple of types to passed as the first arguments of CovarFun::operator()
OpsTupleA tuple of laplace_options types
Parameters
[in]yobserved counts.
[in]y_indexgroup to which each observation belongs. Each group is parameterized by one element of theta.
[in]etanon-marginalized model parameters for the likelihood.
[in]meanthe mean of the latent normal variable
[in]covariance_functiona function which returns the prior covariance.
[in]covar_argsarguments for the covariance function.
[in]opsOptions for controlling Laplace approximation. The following options are available: - theta_0 the initial guess for the Laplace approximation. - tolerance controls the convergence criterion when finding the mode in the Laplace approximation. - max_num_steps maximum number of steps before the Newton solver breaks and returns an error. - hessian_block_size Block size of Hessian of log likelihood w.r.t latent Gaussian variable theta. - solver Type of Newton solver. Each corresponds to a distinct choice of B matrix (i.e. application SWM formula): 1. computes square-root of negative Hessian. 2. computes square-root of covariance matrix. 3. computes no square-root and uses LU decomposition. - max_steps_line_search Number of steps after which the algorithm gives up on doing a line search. If 0, no linesearch. - allow_fallthrough If true, if solver 1 fails then solver 2 is tried, and if that fails solver 3 is tried.
[in,out]msgsstream for messages from likelihood and covariance

Definition at line 81 of file laplace_marginal_neg_binomial_2_log_lpmf.hpp.