Statistical Methods Atlas
Atlas › Predict & Explain › Multinomial Logistic Regression

Multinomial Logistic Regression

Predicts membership in three or more unordered categories — e.g., which benefits package (cash/insurance/leave) employees choose.

Predict & ExplainMultivariate also known as: Polytomous logistic regression, Baseline-category logit

✓ When to use

  • Outcome has 3+ categories with no natural order: career track chosen, brand preferred, exit destination (competitor/retirement/other).
  • You want odds ratios comparing each category against a reference category, with covariates.

✗ When NOT to use

  • Ordered categories — ordinal logistic (uses the ordering, more power, fewer parameters).
  • Two categories — binary logistic.
  • Categories that are alternatives with attributes of their own (price, distance) — conditional logit/discrete-choice models.
  • Tiny categories — merge or collect more data; each contrast needs its own events.

Data requirements

Dependent / outcome variableOne nominal variable with 3+ categories; choose a meaningful reference category.
Independent / grouping variableContinuous and/or dummy-coded predictors.
DesignIndependent observations; each case in exactly one category.
Sample size guidanceEvents-per-variable logic applies per outcome contrast — samples need to be larger than for binary models (each extra category adds a full coefficient set).

Assumptions

Hypotheses

H₀ — A predictor's coefficients are zero across all contrasts: it does not distinguish any category from the reference.
H₁ — At least one contrast's coefficient differs from zero.

The concept

With k categories and category k as reference, the model fits k − 1 simultaneous binary-style equations: log(P(cat j)/P(cat k)) = b₀ⱼ + b₁ⱼX₁ + … Each predictor therefore gets k − 1 odds ratios, one per contrast, and its overall contribution is tested with a likelihood-ratio χ² pooling the contrasts.

Interpretation discipline matters: every OR is relative to the reference category ('a satisfaction point multiplies the odds of choosing insurance over cash by 1.4'). Predicted probabilities across representative covariate profiles are usually the clearest way to present results.

Worked example

Employees (N = 450) choose one of three benefit packages: cash (reference, 38%), insurance (34%), extra leave (28%); predictors: age and family size.

Result: model χ²(4) = 61.3, p < .001. Age: OR = 1.06 per year for insurance-vs-cash (p < .001), n.s. for leave-vs-cash. Family size: OR = 1.52 for insurance-vs-cash, OR = 0.80 for leave-vs-cash.

How to run it

library(nnet)
df$package <- relevel(factor(df$package), ref = "cash")
model <- multinom(package ~ age + family_size, data = df)
summary(model)
exp(coef(model))                       # ORs per contrast

# z and p values
z <- summary(model)$coefficients / summary(model)$standard.errors
2 * pnorm(abs(z), lower.tail = FALSE)

Interpreting the output

APA-style reporting

Multinomial logistic regression (reference: cash) showed the model significantly predicted package choice, χ²(4, N = 450) = 61.3, p < .001, Nagelkerke R² = .14. Family size increased the odds of choosing insurance over cash, OR = 1.52, 95% CI [1.24, 1.86], p < .001, and decreased the odds of choosing extra leave over cash, OR = 0.80, 95% CI [0.65, 0.98], p = .034.

Common mistakes

Related methods

Binary Logistic RegressionTwo categoriesOrdinal Logistic RegressionOrdered categoriesDiscriminant Analysis (LDA)Alternative classifier
← Ordinal Logistic RegressionPrincipal Component Analysis (PCA) →