The probit model
The probit model1 is a regression-type model where the dependent variable only takes a finite number of values and the error term is normally distributed (Agresti 2015). Its purpose is to estimate the probability that the dependent variable takes a certain, discrete value. The most common application are discrete choice scenarios. The dependent variable here is one of finitely many and mutually exclusive alternatives, and explanatory variables typically are characteristics of the deciders or the alternatives.
To be concrete, assume that we possess data of decision makers which choose between alternatives2 at each of choice occasions3. Specific to each decision maker, alternative and choice occasion, we furthermore observe choice attributes that we use to explain the choices. The continuous choice attributes cannot be linked directly to the discrete choices but must take a detour over a latent variable. In the discrete choice setting, this variable can be interpreted as the decider’s utility of a certain alternative. Decider ’s utility for alternative at choice occasion is modeled as
for , and , where
is a (column) vector of characteristics of as faced by at ,
is a vector of coefficients,
and is the model’s error term vector for at , which in the probit model is assumed to be multivariate normally distributed with zero mean and covariance matrix .
Now let denote the event that decision maker chooses alternative at choice occasion . Assuming utility maximizing behavior of the decision makers4, the decisions are linked to the utilities via
In the ordered probit case, the concept of decider’s having separate utilities for each alternative is no longer natural (Train 2009). Instead, we model only a single utility value per decider and choice occasion , which we interpret as the “level of association” that has with the choice question. The utility value falls into discrete categories, which in turn are linked to the ordered alternatives . Formally, with end points and , and thresholds . To ensure monotonicity of the thresholds, we rather estimate logarithmic threshold increments with , .
Choice behavior heterogeneity
Note that the coefficient vector is constant across decision makers. This assumption is too restrictive for many applications.5 Heterogeneity in choice behavior can be modeled by imposing a distribution on such that each decider can have their own preferences.
Formally, we define , where are coefficients that are constant across deciders and are decider-specific coefficients. Consequently, . Now if , is distributed according to some -variate distribution, the so-called mixing distribution.
Choosing an appropriate mixing distribution is a notoriously difficult task of the model specification. In many applications, different types of standard parametric distributions (including the normal, log-normal, uniform and tent distribution) are tried in conjunction with a likelihood value-based model selection, cf., Train (2009), Chapter 6. Instead, RprobitB implements the approach of (Oelschläger and Bauer 2020) to approximate any underlying mixing distribution by a mixture of (multivariate) Gaussian densities. More precisely, the underlying mixing distribution for the random coefficients is approximated by a mixture of -variate normal densities with mean vectors and covariance matrices using components, i.e.
Here, are weights satisfying for and . One interpretation of the latent class model is obtained by introducing variables , allocating each decision maker to class with probability , i.e.
We call the resulting model the latent class mixed multinomial probit model. Note that the model collapses to the (normally) mixed multinomial probit model if and , to the multinomial probit model if and to the binary probit model if additionally .
Model normalization
As is well known, any utility model needs to be normalized with respect to level and scale in order to be identified (Train 2009). Therefore, we consider the transformed model
, and , where (choosing as the reference alternative) , , and , where and denotes a covariance matrix with the top-left element restricted to one.6
Parameter labels
In RprobitB, the probit model parameters are saved as
an RprobitB_parameter
object. Their labels are consistent
with their definition in this vignette. For example:
RprobitB:::RprobitB_parameter(
P_f = 1,
P_r = 2,
J = 3,
N = 10,
C = 2, # the number of latent classes
alpha = c(1), # the fixed coefficient vector of length 'P_f'
s = c(0.6, 0.4), # the vector of class weights of length 'C'
b = matrix(c(-1, 1, 1, 2), nrow = 2, ncol = 2),
# the matrix of class means as columns of dimension 'P_r' x 'C'
Omega = matrix(c(diag(2), 0.1 * diag(2)), nrow = 4, ncol = 2),
# the matrix of class covariance matrices as columns of dimension 'P_r^2' x 'C'
Sigma = diag(2), # the differenced error term covariance matrix of dimension '(J-1)' x '(J-1)'
# the undifferenced error term covariance matrix is labeled 'Sigma_full'
z = rep(1:2, 5) # the vector of the allocation variables of length 'N'
)
#> alpha : 1
#>
#> C : 2
#>
#> s : double vector of length 2
#> 0.6 0.4
#>
#> b : 2 x 2 matrix of doubles
#> [,1] [,2]
#> [1,] -1 1
#> [2,] 1 2
#>
#>
#> Omega : 4 x 2 matrix of doubles
#> [,1] [,2]
#> [1,] 1 0.1
#> [2,] 0 0
#> [3,] 0 0
#> [4,] 1 0.1
#>
#>
#> Sigma : 2 x 2 matrix of doubles
#> [,1] [,2]
#> [1,] 1 0
#> [2,] 0 1
#>
#>
#> Sigma_full : 3 x 3 matrix of doubles
#> [,1] [,2] [,3]
#> [1,] 2 1 1
#> [2,] 1 2 1
#> [3,] 1 1 1
#>
#>
#> beta : 2 x 10 matrix of doubles
#> [,1] [,2] [,3] ... [,10]
#> [1,] -0.03 0.97 -0.25 ... 1.52
#> [2,] -0.01 1.82 0.07 ... 1.75
#>
#>
#> z : double vector of length 10
#> 1 2 1 ... 2
#>
#> d : NA
Mind that the matrix Sigma_full
is not unique and can be
any matrix that results into Sigma
after the differencing,
see the non-exported function
RprobitB:::undiff_Sigma()
.