Stan Math Library
4.9.0
Automatic Differentiation
|
return_type_t< T_x_cl, T_alpha_cl, T_beta_cl, T_phi_cl > stan::math::neg_binomial_2_log_glm_lpmf | ( | const T_y_cl & | y, |
const T_x_cl & | x, | ||
const T_alpha_cl & | alpha, | ||
const T_beta_cl & | beta, | ||
const T_phi_cl & | phi | ||
) |
Returns the log PMF of the Generalized Linear Model (GLM) with Negative-Binomial-2 distribution and log link function.
The idea is that neg_binomial_2_log_glm_lpmf(y, x, alpha, beta, phi) should compute a more efficient version of neg_binomial_2_log_lpmf(y, alpha + x * beta, phi) by using analytically simplified gradients. If containers are supplied, returns the log sum of the probabilities. This is an overload of the GLM in prim/prob/neg_binomial_2_log_glm_lpdf.hpp that is implemented in OpenCL.
T_y_cl | type of independent variable; this can be a matrix_cl vector of intercepts or a single value (wich will be broadcast - used for all instances); |
T_x_cl | type of the design matrix |
T_alpha_cl | type of the intercept(s); this can be a vector (of the same length as y) of intercepts or a single value (for models with constant intercept); |
T_beta_cl | type of the weight vector; this can also be a scalar; |
T_phi_cl | type of the (positive) precision(s); this can be a vector (of the same length as y, for heteroskedasticity) or a scalar. |
y | failures count scalar or vector parameter on OpenCL device. If it is a scalar it will be broadcast - used for all instances. |
x | design matrix on OpenCL device. This overload does not support broadcasting of a row vector x! |
alpha | intercept (in log odds) |
beta | weight vector |
phi | (vector of) precision parameter(s) |
std::invalid_argument | if container sizes mismatch. |
std::domain_error | if x, beta or alpha is infinite. |
std::domain_error | if phi is infinite or non-positive. |
std::domain_error | if y is negative. |
Definition at line 69 of file neg_binomial_2_log_glm_lpmf.hpp.