SPSS command: SPSS PRINCALS
PRINCALS nonlinear principal components in your browser
PRINCALS finds a few components that summarise categorical variables while it also chooses the best numeric values (quantifications) for their categories.
Free · No account · Files stay on your device · Updated 18 October 2026
What it tells you
Crosstabs runs the SPSS PRINCALS algorithm on your device: alternating least squares with multiple nominal, single nominal, ordinal and numeric levels and passive missing values.
- How much of the variance of the optimally scaled variables each dimension explains (the eigenvalues).
- Component loadings of the single variables, plotted as a map.
- The quantification of every category, with single and multiple category coordinates.
- Multiple fit, single fit and single loss: how much each variable gains from a free (multiple) treatment.
When to use it
Use it when
- You want to reproduce a PRINCALS analysis from older SPSS syntax.
- Some variables should keep their category order (ordinal) while others are free (nominal or multiple nominal).
- Objects with a missing value should stay in the analysis for their other variables (passive missing values).
Use something else when
- You need case weights, spline levels, supplementary variables or bootstrap confidence ellipses: use Categorical principal components (CATPCA).
- All variables are numeric and linear: ordinary factor or principal components analysis is simpler.
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. The file is read in your browser and never uploaded.
- 02
Choose Nonlinear principal components (PRINCALS)
In the Dimension reduction group, pick Nonlinear principal components (PRINCALS).
- 03
Give each variable a level
For each analysis variable choose Multiple nominal, Single nominal, Ordinal or Numeric; leave the rest Not used.
- 04
Set dimensions and iterations
Set Dimensions in solution (default 2) and Maximum iterations (default 100), then click Run.
Worked example
Computed by the Crosstabs engine from the synthetic data below when this page was built — not typed in.
Data
The 480 respondents of the bundled "Product experience (numeric)" sample (seeded): five 1–5 agreement items driven by one satisfaction trait that is higher on the Pro and Team plans, plus Plan and Region. Levels: the five items Ordinal, Plan Single nominal, Region Multiple nominal; 2 dimensions, at most 100 iterations.
| Dimension | Eigenvalue | Total (Eigenvalue) |
|---|---|---|
| 1 | 0.459 | 3.216 |
| 2 | 0.153 | 1.073 |
| Total fit | 0.613 | 4.289 |
Mean fit over the 7 variables; the second column multiplies by 7. 480 objects; 40 iterations.
| Variable | Scaling level | Multiple Fit (sum) | Single Fit (sum) | Single Loss (sum) |
|---|---|---|---|---|
| The product is easy to use | Ordinal | 0.617 | 0.596 | 0.021 |
| The product is good value | Ordinal | 0.643 | 0.642 | 0.001 |
| Support resolves my issues | Ordinal | 0.613 | 0.603 | 0.010 |
| The product is reliable | Ordinal | 0.648 | 0.638 | 0.010 |
| I would recommend the product | Ordinal | 0.688 | 0.685 | 0.003 |
| Plan | Single nominal | 0.468 | 0.468 | 0.000 |
| Region | Multiple nominal | 0.658 | — | — |
Sums over the two dimensions. Single loss is multiple fit minus single fit: what the rank-one restriction costs.
| Variable | Dimension 1 | Dimension 2 |
|---|---|---|
| The product is easy to use | 0.772 | 0.019 |
| The product is good value | 0.801 | −0.018 |
| Support resolves my issues | 0.765 | −0.133 |
| The product is reliable | 0.795 | −0.076 |
| I would recommend the product | 0.827 | −0.036 |
| Plan | 0.275 | 0.626 |
Loadings of the single (rank-one) variables; without missing values they are correlations with the object scores.
| Category | Marginal Frequency | Quantification | Dimension 1 | Dimension 2 |
|---|---|---|---|---|
| Free | 235 | −0.994 | −0.273 | −0.622 |
| Pro | 175 | 0.751 | 0.206 | 0.470 |
| Team | 70 | 1.459 | 0.401 | 0.914 |
Optimal scaling level: Single nominal. Single category coordinates = quantification × weight per dimension.
How to read it
The first dimension has eigenvalue 0.459: on average it explains 45.9% of the variance of the 7 optimally scaled variables, against 15.3% for the second. All five agreement items load on it, most strongly “I would recommend the product” (0.83): one satisfaction dimension, as the data were built. Plan loads 0.27 on dimension 1 (the trait is higher on the paid plans) and 0.63 on dimension 2, which separates the plans from the items. Region, multiple nominal and unrelated to the trait, fits 0.003 on dimension 1 and 0.655 on dimension 2.
Output tables explained
- Eigenvalues
- The mean fit per dimension over the variables, and the same values multiplied by the number of variables.
- Fit
- Multiple fit, single fit and single loss per variable and dimension.
- Component Loadings
- Loadings of the single variables; without missing values they are correlations with the object scores.
- Quantifications
- Per variable: marginal frequency, quantification, single and multiple category coordinates.
Assumptions and notes
- Ordinal quantifications are nondecreasing in the category order; numeric ones are linear in the category values.
- Alternating least squares can stop in a local optimum for nominal and ordinal levels; the start is a numeric solution, as in SPSS's nested start.
How the results are validated
When every variable is multiple nominal or numeric the solution has a closed form: an independent reference solves it as an eigenproblem with NumPy, and the eigenvalues, losses, loadings and object scores agree within 1e-6 (numeric PRINCALS equals PCA of the correlation matrix divided by the number of variables). Ordinal and single nominal solutions match an independent NumPy alternating least squares (best of 12 starts) within 1e-6, and ordinal PRINCALS matches R Gifi::princals within 1e-5 for the eigenvalues. Validation evidence
Questions
PRINCALS or CATPCA?
CATPCA is the newer SPSS procedure with weights, splines and more output; PRINCALS is the older one with multiple nominal variables and passive missing values. Both minimise the same kind of loss.
Why do PRINCALS eigenvalues look smaller than CATPCA's?
PRINCALS reports the mean fit over the variables; CATPCA reports the sum. Multiply by the number of variables to compare.
What does multiple nominal mean?
The variable gets a separate quantification on every dimension, as in multiple correspondence analysis, instead of one set of values with a loading per dimension.
Will results match SPSS to every decimal?
Not always: nominal and ordinal solutions depend on the start and the stopping rule, and SPSS's random start may reach a different local optimum. Converged numeric and multiple nominal solutions are unique.
Related procedures
- Categorical Principal Components (CATPCA)CATPCA
- Multiple Correspondence AnalysisMULTIPLE CORRESPONDENCE
- Factor AnalysisFACTOR
- Nonlinear Canonical Correlation (OVERALS)OVERALS
- Free SPSS alternative: full coverage list
Run Nonlinear Principal Components (PRINCALS) 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.