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.
- Template Parameters
-
T_y | type of positive int vector of variates (labels); this can also be a single positive integer value; |
T_x_scalar | type of a scalar in the matrix of independent variables (features) |
T_x_rows | compile-time number of rows of x . It can be either Eigen::Dynamic or 1. |
T_alpha | 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 | type of the weight vector; this can also be a scalar; |
T_precision | type of the (positive) precision(s); this can be a vector (of the same length as y, for heteroskedasticity) or a scalar. |
- Parameters
-
y | failures count scalar or vector parameter. If it is a scalar it will be broadcast - used for all instances. |
x | design matrix or row vector. If it is a row vector it will be broadcast - used for all instances. |
alpha | intercept (in log odds) |
beta | weight vector |
phi | (vector of) precision parameter(s) |
- Returns
- log probability or log sum of probabilities
- Exceptions
-
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 68 of file neg_binomial_2_log_glm_lpmf.hpp.