SPSS command: SPSS MULTIPLE IMPUTATION

Multiple imputation in your browser

Multiple imputation replaces each missing value with several plausible draws, analyses every completed dataset, and combines the results so standard errors reflect the missing information.

Free · No account · Files stay on your device · Updated 18 October 2026

What it tells you

Crosstabs runs the SPSS MULTIPLE IMPUTATION approach on your device, with FCS or monotone imputation, linear regression, predictive mean matching or logistic models, and pooled descriptives and linear regression.

  • Which model imputed each variable (linear regression, predictive mean matching or logistic regression), with its predictors and how many values were imputed.
  • How the imputed values compare with the observed ones, per imputation and for the completed data.
  • Whether the FCS chains have converged, from the iteration history of the mean and SD of the imputed values.
  • Pooled means and regression coefficients with Rubin's-rules standard errors, degrees of freedom, fraction of missing information and relative efficiency.

When to use it

Use it when

  • Data are plausibly missing at random given other variables you have, and complete-case analysis would lose cases or bias results.
  • You need honest standard errors for means or linear regression coefficients, not just a single filled-in dataset.
  • You want the completed datasets as a file: the stacked CSV has an Imputation_ column, as in SPSS.

Use something else when

  • Data missing not at random (for example, high earners skipping the income question for reasons unrelated to anything observed): imputation cannot correct that.
  • With a sampling weight: imputation draws assume independent cases, so it is blocked. Clear the weight or declare a frequency weight.
  • A gap-filled time series: use Replace Missing Values for interpolation or trend.

How to run it in Crosstabs

  1. 01

    Open your data and check the patterns

    Open the file in Statistics mode; running Analyze Patterns first shows whether the monotone method applies.

  2. 02

    Choose the variables

    In the Missing values group, pick Impute Missing Data Values and tick at least two Variables in the imputation model. Include the variables your later analysis uses and any that predict missingness.

  3. 03

    Set measurement levels

    Under Measurement level (sets the imputation model), mark each variable Scale or Categorical; categorical ones are imputed by logistic regression.

  4. 04

    Choose the method and settings

    Imputation method: Automatic, FCS or Monotone. Model for scale variables: Linear regression or Predictive mean matching. Set Number of imputations (default 5), Maximum FCS iterations (default 10) and the Random seed, then press Impute.

  5. 05

    Pool the analysis

    Under Analyze the imputed data (pooled results), tick Descriptives: variables and/or choose Linear regression: dependent and predictors, pick the Degrees of freedom rule, and press Run pooled analysis.

  6. 06

    Download if needed

    Download imputed data (stacked CSV) gives Imputation_ = 0 for the original data and 1 to m for the completed datasets, created on this device only.

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

50 synthetic employees with tenure (years, complete), salary (thousands) and an engagement score. Salary is missing more often for staff with under five years' tenure, and engagement is missing at random, so the pattern is not monotone. Five imputations, ten FCS iterations and seed 20261017 keep the run small and reproducible.

Imputation Models
ItemTypeEffectsMissing ValuesImputed Values
salaryLinear Regressiontenure, engagement735
engagementLinear Regressiontenure, salary420

Method: Fully conditional specification (FCS); 5 imputations.

Descriptive Statistics (pooled): salary
ImputationNMeanStd. Error of MeanFraction Missing Info.Relative Efficiency
Original data4357.461.430
15056.241.347
25057.261.268
35056.981.279
45056.321.335
55056.411.362
Pooled56.641.4080.1300.975
Coefficients (pooled): dependent variable engagement
TermBStd. ErrortdfSig.95% CIFraction Missing Info.
(Constant)32.9507.7874.23239.8<.00117.610 to 48.2910.136
tenure0.3320.4320.773530.7.441−0.514 to 1.1790.034
salary0.4390.1872.35461.0.0190.072 to 0.8050.097

Rubin (1987) degrees of freedom. Average R² across imputations: 0.439 (not pooled).

How to read it

Automatic selection chose FCS. The observed salaries average 57.46 (N = 43), while the pooled mean over the five completed datasets is 56.64 (95% CI 53.87 to 59.41): imputing from tenure fills in the lower salaries of newer staff that were more often missing. In the pooled regression, B for salary is 0.439 (p = .019) and B for tenure is 0.332 (p = .441); the fraction of missing information is 0.097 for salary, which tells you how much of that coefficient's uncertainty comes from the gaps rather than the sample size.

Output tables explained

Imputation Specifications
Method actually used (and which one Automatic chose), number of imputations, model for scale variables, maximum iterations and the random seed.
Imputation Models
One row per imputed variable: model type, effects (predictors), missing values and total imputed values across imputations, in imputation order.
{variable}: Descriptive Statistics
For each imputed variable, Original Data, Imputed Values and Complete Data After Imputation, per imputation; categories are shown as counts and percents.
Iteration History
For FCS, line charts of the mean and SD of the imputed values at each iteration, one line per imputation; converged chains mix without a trend.
Descriptive Statistics (pooled)
Mean and standard error per imputation plus a Pooled row with df, 95% confidence interval, fraction of missing information, relative increase in variance and relative efficiency.
Coefficients (pooled): dependent variable {variable}
B and standard error per imputation and pooled B, SE, t, df, Sig. and 95% CI; footnotes give the joint D1 test that all slopes are 0 and the average R² (not pooled).

Assumptions and notes

  • Missing at random given the variables in the imputation model; leave out a variable that drives missingness and the imputations will be biased.
  • Linear-regression imputation assumes roughly normal residuals; predictive mean matching only imputes values that were actually observed, which suits skewed or bounded variables.
  • Models include main effects only (no interactions); sparse categories can stop a logistic model from converging, and a footnote says so.
  • The same seed reproduces the same imputations here, but SPSS uses a different random stream, so values will not match SPSS draw for draw.

How the results are validated

Rubin's rules match R mice::pool (Barnard–Rubin df) to 1e-10 and an independent implementation of the SPSS formulas (Rubin 1987 df, fraction of missing information, relative efficiency, D1 test) to 1e-10. Imputations are checked structurally: with 60 imputations, pooled regression coefficients fall within 0.35 standard errors of R mice (norm) and 0.6 of statsmodels MICE, pooled means within 0.35 standard errors of scikit-learn IterativeImputer and R mice, and predictive mean matching imputes observed values only. Validation evidence

Questions

How many imputations should I use?

Five (the SPSS default) is enough for point estimates when little information is missing. With a higher fraction of missing information, or if you care about stable p values, use 20 or more; relative efficiency in the pooled table shows what you gain.

FCS or monotone?

Automatic picks monotone when the pattern allows it and FCS otherwise. FCS works for any pattern by cycling through the variables; monotone imputes each variable once from the ones before it.

Why do my results differ slightly from SPSS?

Imputation is random. Crosstabs uses its own seeded stream, so individual draws differ from SPSS even with the same seed; pooled estimates should agree within Monte Carlo error, which shrinks as you add imputations.

Can I run other procedures on the imputed data?

Pooling inside the panel covers descriptives and linear regression. For other analyses, download the stacked CSV, run the model on each imputation and combine the estimates with Rubin's rules.

Which degrees-of-freedom rule should I choose?

Rubin (1987) is what SPSS reports. The Barnard–Rubin small-sample rule, as in R mice, gives more conservative df when the complete-data sample is small.

Do the imputed datasets leave my device?

No. They stay in the browser tab's memory, and the CSV download is created locally.

Run Multiple Imputation 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.