SPSS command: SPSS NOMREG
Multinomial logistic regression in your browser
Multinomial logistic regression predicts which of several unordered categories a case falls into — a brand, a plan, a mode of transport — by fitting one logit for each category against a reference category.
Free · No account · Files stay on your device · Updated 18 October 2026
What it tells you
Crosstabs runs the SPSS NOMREG procedure on your device and reports model-fitting and likelihood-ratio tests, parameter estimates with Exp(B), goodness of fit, three pseudo R² measures and a classification table.
- Whether the predictors as a set improve on the intercept-only model (Model Fitting Information: −2 log likelihood, AIC, BIC and the likelihood-ratio chi-square).
- Which individual predictors matter across all logits at once, via likelihood-ratio tests that refit the model without each effect.
- How each predictor shifts the odds of every category relative to the reference category (B, Wald test and Exp(B) with its confidence interval).
- How well the model reproduces the observed choices: Pearson and deviance goodness of fit on covariate patterns, Cox and Snell, Nagelkerke and McFadden pseudo R², and the percent classified correctly.
When to use it
Use it when
- The outcome is nominal with three or more categories that have no natural order, such as preferred brand or chosen channel.
- You want odds ratios for each category against a chosen baseline, with categorical factors and numeric covariates in the same model.
- Survey data with a frequency-weight variable that counts identical respondents.
Use something else when
- Only two outcome categories: binary logistic regression gives the same model with simpler output.
- The categories are ordered (ratings, stages): ordinal regression uses that order and needs far fewer parameters.
- You need interaction terms: the panel fits main effects of the chosen factors and covariates only.
- The data come from a complex survey design with sampling weights: use complex-samples logistic regression instead.
How to run it in Crosstabs
- 01
Open your data
Open a .sav, CSV or Excel file in the workspace and switch to Statistics mode; nothing is uploaded.
- 02
Choose Multinomial logistic regression
In the Regression group, pick Multinomial logistic regression (NOMREG).
- 03
Set the dependent variable and reference category
Choose a categorical Dependent variable, then set Reference category to Last category (the SPSS default) or First category.
- 04
Add factors and covariates
Tick categorical predictors under Factors and numeric predictors under Covariates (up to 12 each).
- 05
Optionally select predictors stepwise
Under Options choose a Stepwise method (Forward entry, Forward stepwise, Backward elimination or Backward stepwise), the Entry test (Likelihood ratio or Score) and Removal test (Likelihood ratio or Wald) with their probabilities, and tick any predictors that are Forced into the model.
- 06
Set options and run
Under Options keep Include intercept ticked and adjust Confidence level (%) if needed, then click Run. If a workspace weight is active, declare it as a frequency weight first.
Worked example
Computed by the Crosstabs engine from the synthetic data below when this page was built — not typed in.
Data
180 synthetic sign-ups choose one of three plans (Basic, Plus, Pro). The chance of a paid tier rises with age, and North-region users lean toward Plus. Choices are drawn from a multinomial logit with a fixed seed; Reference category = First category, so Basic is the baseline.
| Model | -2 Log Likelihood | Chi-Square | df | Sig. |
|---|---|---|---|---|
| Intercept Only | 379.076 | |||
| Final | 353.181 | 25.895 | 4 | <.001 |
| Effect | -2 Log Likelihood of Reduced Model | Chi-Square | df | Sig. |
|---|---|---|---|---|
| region | 357.980 | 4.799 | 2 | .091 |
| age | 374.368 | 21.187 | 2 | <.001 |
| plan | Category | B | Std. Error | Wald | Sig. | Exp(B) |
|---|---|---|---|---|---|---|
| Plus | Intercept | −1.803 | 0.687 | 6.886 | .009 | |
| [region=North] | 0.602 | 0.346 | 3.030 | .082 | 1.825 | |
| age | 0.041 | 0.016 | 6.700 | .010 | 1.042 | |
| Pro | Intercept | −4.365 | 0.986 | 19.596 | <.001 | |
| [region=North] | −0.158 | 0.447 | 0.126 | .723 | 0.853 | |
| age | 0.090 | 0.021 | 17.713 | <.001 | 1.094 |
Reference category: Basic. Redundant [region=South] rows are omitted.
| Observed | Basic | Plus | Pro | Percent Correct |
|---|---|---|---|---|
| Basic | 36 | 25 | 6 | 53.7% |
| Plus | 26 | 48 | 3 | 62.3% |
| Pro | 7 | 20 | 9 | 25.0% |
| Overall Percentage | 38.3% | 51.7% | 10.0% | 51.7% |
How to read it
Adding region and age improves on the intercept-only model by χ²(4) = 25.90, p < .001, Nagelkerke R² = 0.153. The likelihood-ratio test for age is clearly significant (χ² = 21.19, p < .001), while region as a whole is not (p = .091). Each extra year multiplies the odds of Pro versus Basic by 1.094 and of Plus versus Basic by 1.042. The model classifies 51.7% of cases correctly, but it predicts Pro for only 10.0% of cases although 20.0% chose it: a smaller category is easily under-predicted.
Output tables explained
- Case Processing Summary
- Counts and marginal percentages for each outcome category and factor level, valid and missing cases, and the number of subpopulations (distinct predictor patterns).
- Step Summary
- With a stepwise method: the starting model, then each effect entered or removed with the model's AIC, BIC and −2 log likelihood and the chi-square, df and significance of the entry or removal test.
- Model Fitting Information
- AIC, BIC and −2 log likelihood for the intercept-only and final models, and the likelihood-ratio chi-square that tests all predictors together.
- Goodness-of-Fit
- Pearson and deviance chi-square over the subpopulations. A note warns when most subpopulations hold a single case, because the chi-square approximation is then unreliable.
- Pseudo R-Square
- Cox and Snell, Nagelkerke and McFadden measures; they summarize improvement over the null model and are not proportions of variance explained.
- Likelihood Ratio Tests
- For each effect, the −2 log likelihood of the model without it and the chi-square change; this is the overall test of a factor across all categories.
- Parameter Estimates
- One block per non-reference category: B, standard error, Wald, df, significance, Exp(B) and its confidence interval. The last level of each factor is redundant and fixed at zero.
- Classification
- Observed by predicted category using the highest fitted probability, with percent correct per row and overall.
Assumptions and notes
- Independence of irrelevant alternatives: the odds between any two categories do not depend on which other categories are available.
- Each numeric covariate has a linear effect on every log odds; recode or transform it if the relation is curved.
- Enough cases per outcome category: very small categories or complete separation give huge standard errors, which the output flags.
- Cases with a missing or user-missing value on any analysis variable are excluded listwise; sampling weights are refused because ordinary inference assumes simple random sampling.
How the results are validated
Reference values come from statsmodels MNLogit, with the SPSS subpopulation goodness-of-fit statistics re-implemented in NumPy, for an unweighted model with the last category as reference and a frequency-weighted model with the first. Tests require −2 log likelihood, AIC, BIC and pseudo R² to agree within 1e-9, the model and effect chi-squares and Pearson/deviance statistics within 1e-8, B and standard errors within 1e-6, and the classification table exactly. A second fit is cross-checked against R nnet::multinom (−2LL within 1e-7, coefficients within 1e-5). Stepwise selection (forward entry, forward stepwise, backward elimination and backward stepwise with likelihood-ratio, score and Wald tests) matches an independent stepping implementation on statsmodels MNLogit step for step: the same entries and removals, with test statistics within 1e-5. Validation evidence
Questions
How do I read Exp(B) in multinomial logistic regression?
Exp(B) is an odds ratio for that category versus the reference category. An Exp(B) of 1.30 for age in the Pro block means each extra year multiplies the odds of Pro rather than the reference by 1.30, holding the other predictors fixed.
Which reference category should I pick?
Choose the category you want to compare everything against, usually the most common or a natural baseline. The panel offers the last category (SPSS default) or the first; recode values if you need a different one in either position. The overall fit and likelihood-ratio tests do not depend on this choice.
Why is a factor significant in one block but not in the likelihood-ratio test?
Wald tests in Parameter Estimates look at one category contrast at a time, while the likelihood-ratio test asks whether the effect matters across all categories together. Report the likelihood-ratio test for the overall effect and the Wald tests for specific contrasts.
The goodness-of-fit table warns about subpopulations. What should I do?
With a continuous covariate almost every case forms its own pattern, so Pearson and deviance statistics are not chi-square distributed. Rely on the likelihood-ratio tests, pseudo R² and classification instead.
Can I add interaction terms?
Not in this panel: it fits main effects only. To test an interaction you can compute a product or a combined-category variable first and enter it as a covariate or factor.
Related procedures
- Binary Logistic RegressionLOGISTIC REGRESSION
- Ordinal RegressionPLUM
- General Loglinear AnalysisGENLOG
- Discriminant AnalysisDISCRIMINANT
- Naive BayesNAIVEBAYES
- Complex Samples Logistic RegressionCSLOGISTIC
- Free SPSS alternative: full coverage list
Run Multinomial Logistic Regression on your own data
Open a .sav, CSV or Excel file. Everything runs in your browser; the file never leaves your device.
SPSS is a trademark of IBM Corp. Crosstabs is not affiliated with or endorsed by IBM.