Binary links, multinomial normalization, and low-rank preference matrices.
Random utility and probability normalization
A binary model observes Y_i=1\{X_i'\beta+\varepsilon_i>0\}. Logistic errors give P_i=\operatorname{logit}^{-1}(X_i'\beta); standard normal errors give P_i=\Phi(X_i'\beta). Their coefficient scales differ because the latent error variances are normalized differently. Compare probabilities or marginal effects, not raw logit and probit coefficients.
Trex exposes BinaryLogit and BinaryProbit in trex.choice. The regression-family LogisticRegression additionally supports the fixed-effect and offset machinery described in GLMs.
The last alternative is Trex’s reference category. X has shape (n,p), with the same observation-level covariates entering alternative-specific coefficient vectors. This is not a long-format conditional-logit formula API for arbitrary alternative-specific covariates.
Figure 1: Fitted probabilities sum to one and vary jointly with the covariate.
Covariance dimensions: (4, 4)
The covariance corresponds to the free, non-reference coefficients. For a covariate x_k, the probability derivative is \partial P_j/\partial x_k=P_j(\beta_{kj}-\sum_\ell P_\ell\beta_{k\ell}). A positive utility coefficient need not mean every comparison of average probabilities increases: the entire choice set and covariate distribution matter.
Low-rank preferences over assortments
When users and products repeat, LowRankLogit replaces an unrestricted utility matrix by \Theta=AB', with low-dimensional user and item factors. For a displayed assortment S_i,
An assortment is part of the conditioning information: an unavailable item is not an observed rejection. The factors are not separately identified under rotations. The rank and penalty regularize predictions, not automatically economic preference parameters. Below is a small full-assortment fit.
Warning: Could not compute standard errors: LowRankLogit standard errors are not implemented; factor rotations make the naive Hessian singular
Full-assortment probabilities for user 0:
[[0.081 0.218 0.275 0.037 0.056 0.333]]
Interpretation and checks
Report held-out log loss as well as classification accuracy. Check rare alternatives and separation; finite optimization does not establish a finite MLE. Multinomial logit imposes IIA conditional on included covariates; low-rank heterogeneity changes the model but does not eliminate all substitution restrictions. Neither fitting choices nor changing covariates identifies price elasticities without an exogeneity or identification argument.
Low-rank standard errors are not implemented. The static counterfactual helpers compare fitted probabilities; they do not solve a supply equilibrium.