This function creates an object of class RprobitB_normalization
,
which determines the utility scale and level.
Usage
RprobitB_normalization(
level,
scale = "Sigma_1,1 := 1",
form,
re = NULL,
alternatives,
base,
ordered = FALSE
)
Arguments
- level
The alternative name with respect to which utility differences are computed. Currently, only differences with respect to the last alternative can be computed.
- scale
A character which determines the utility scale. It is of the form
<parameter> := <value>
, where<parameter>
is either the name of a fixed effect orSigma_<j>,<j>
for the<j>
th diagonal element ofSigma
, and<value>
is the value of the fixed parameter.- form
A
formula
object that is used to specify the model equation. The structure ischoice ~ A | B | C
, wherechoice
is the name of the dependent variable (the choices),A
are names of alternative and choice situation specific covariates with a coefficient that is constant across alternatives,B
are names of choice situation specific covariates with alternative specific coefficients,and
C
are names of alternative and choice situation specific covariates with alternative specific coefficients.
Multiple covariates (of one type) are separated by a
+
sign. By default, alternative specific constants (ASCs) are added to the model. They can be removed by adding+0
in the second spot.In the ordered probit model (
ordered = TRUE
), theformula
object has the simple structurechoice ~ A
. ASCs are not estimated.- re
A character (vector) of covariates of
form
with random effects. Ifre = NULL
(the default), there are no random effects. To have random effects for the ASCs, include"ASC"
inre
.- alternatives
A character vector with the names of the choice alternatives. If not specified, the choice set is defined by the observed choices. If
ordered = TRUE
,alternatives
is assumed to be specified with the alternatives ordered from worst to best.- base
A character, the name of the base alternative for covariates that are not alternative specific (i.e. type 2 covariates and ASCs). Ignored and set to
NULL
if the model has no alternative specific covariates (e.g. in the ordered probit model). Per default,base
is the last element ofalternatives
.- ordered
A boolean,
FALSE
per default. IfTRUE
, the choice setalternatives
is assumed to be ordered from worst to best.
Value
An object of class RprobitB_normalization
, which is a list of
level
, a list with the elementslevel
(the number of the alternative specified by the inputlevel
) andname
(the name of the alternative, i.e. the inputlevel
), or alternativelyNA
in the ordered probit case,and
scale
, a list with the elementsparameter
(either"s"
for an element ofSigma
or"a"
for an element ofalpha
), the parameterindex
, and the fixedvalue
. Ifparameter = "a"
, also thename
of the fixed effect.
Details
Any choice model has to be normalized with respect to the utility level and scale.
For level normalization, RprobitB takes utility differences with respect to one alternative. For the ordered model where only one utility is modeled, RprobitB fixes the first utility threshold to 0.
For scale normalization, RprobitB fixes one model parameter. Per default, the first error-term variance is fixed to
1
. This is specified viascale = "Sigma_1,1 := 1"
. Alternatively, any error-term variance or any non-random coefficient can be fixed.
Examples
RprobitB:::RprobitB_normalization(
level = "B",
scale = "price := -1",
form = choice ~ price + time + comfort + change | 1,
re = "time",
alternatives = c("A", "B"),
base = "A"
)
#> Level: Utility differences with respect to alternative 'B'.
#> Scale: Coefficient of effect 'price' (alpha_1) fixed to -1.