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

  1. 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.

  2. 02

    Choose Nonlinear principal components (PRINCALS)

    In the Dimension reduction group, pick Nonlinear principal components (PRINCALS).

  3. 03

    Give each variable a level

    For each analysis variable choose Multiple nominal, Single nominal, Ordinal or Numeric; leave the rest Not used.

  4. 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.

Try with example data

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.

Eigenvalues
DimensionEigenvalueTotal (Eigenvalue)
10.4593.216
20.1531.073
Total fit0.6134.289

Mean fit over the 7 variables; the second column multiplies by 7. 480 objects; 40 iterations.

Fit
VariableScaling levelMultiple Fit (sum)Single Fit (sum)Single Loss (sum)
The product is easy to useOrdinal0.6170.5960.021
The product is good valueOrdinal0.6430.6420.001
Support resolves my issuesOrdinal0.6130.6030.010
The product is reliableOrdinal0.6480.6380.010
I would recommend the productOrdinal0.6880.6850.003
PlanSingle nominal0.4680.4680.000
RegionMultiple nominal0.658——

Sums over the two dimensions. Single loss is multiple fit minus single fit: what the rank-one restriction costs.

Component Loadings
VariableDimension 1Dimension 2
The product is easy to use0.7720.019
The product is good value0.801−0.018
Support resolves my issues0.765−0.133
The product is reliable0.795−0.076
I would recommend the product0.827−0.036
Plan0.2750.626

Loadings of the single (rank-one) variables; without missing values they are correlations with the object scores.

Quantifications: Plan
CategoryMarginal FrequencyQuantificationDimension 1Dimension 2
Free235−0.994−0.273−0.622
Pro1750.7510.2060.470
Team701.4590.4010.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.

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.

Open the workspace

SPSS is a trademark of IBM Corp. Crosstabs is not affiliated with or endorsed by IBM.