Diagnosing EM Imputation Failures in SPSS Missing Value Analysis
SPSS Statistics EM imputation can fail to converge or silently default to listwise deletion. Learn how to check the Iteration History table, diagnose high missingness, and verify imputed output.
06 Oct 2026, 11:25 UTC

The problem: EM imputation may not run, or may not converge
You open Missing Value Analysis in SPSS Statistics 28, choose Expectation-Maximization (EM) imputation, and expect a complete dataset. Instead, the Output Viewer shows a non-convergence warning, or the procedure finishes but your case count drops because listwise deletion stayed active. EM estimates missing values by iteratively maximizing the likelihood based on observed data. It is available in SPSS Statistics Base and Advanced modules, but it is not the default: listwise deletion is. Before you use imputed values in regression, clustering, or descriptive reporting, you must confirm that EM actually ran and that it converged.
Useful takeaway: Check the Iteration History table first. If the iteration count reaches the limit without a convergence message, do not treat the imputed values as reliable.
Recognizable conditions and likely causes
The table below maps common symptoms to probable causes in SPSS Statistics 28.x.
| Symptom | Likely cause |
|---|---|
| Output Viewer shows “did not converge” or reaches iteration limit | Missingness is too high (commonly above 30 percent in one or more variables), or the model is poorly identified |
| Case count in output is smaller than the source dataset | Listwise deletion remained the default; EM was not explicitly selected |
| Imputed values change slightly between runs | EM is sensitive to initial parameter estimates; different starting values can produce slightly different results |
| Runtime is much longer than expected on large files | EM iterates over every case and variable; version 27 added parallel processing, but very large datasets still take longer |
Ordered checks
- Confirm EM was selected. In the Missing Value Analysis dialog or syntax, verify that the missing-handling method is set to EM, not listwise deletion. If you used the GUI, look at the method summary in the output.
- Inspect the Iteration History table. Open the Output Viewer, expand the Missing Value Analysis results, and locate Iteration History. Confirm the number of iterations performed and whether a convergence status is reported.
- Review missingness per variable. Check the univariate statistics or missing-value patterns in the output. Variables with more than roughly 30 percent missing values are the most likely source of non-convergence.
- Spot-check imputed values. Compare a few imputed values against observed values for similar complete cases. Large deviations may indicate model misspecification rather than a computational error.
- Export and describe the imputed dataset. If the procedure writes a new dataset, open it and run descriptive statistics on the imputed variables. Confirm that N matches the expected case count and that means are plausible.
Fixes tied to findings
| Finding | Fix |
|---|---|
| Listwise deletion was used instead of EM | Re-run Missing Value Analysis and explicitly select EM as the imputation method. In syntax, specify the EM method rather than accepting the default. |
| EM did not converge within the default iteration limit | Increase the maximum number of iterations (for example, from the default of 10 to 50 or 100) and re-run. If it still fails, reduce the number of variables or exclude variables with extreme missingness. |
| One variable has >30 percent missing values | Consider excluding that variable from the imputation model, collecting more data, or using a different missing-data strategy such as regression imputation or multiple imputation, depending on your analysis goals. |
| Results vary between runs | Fix the random seed or initial estimates if your version supports it, and document the settings. For inference that reflects imputation uncertainty, use multiple imputation rather than single EM imputation. |
Escalation criteria
Escalate to a statistician or data steward if any of the following are true:
- EM fails to converge after raising the iteration limit to 100 or more.
- Key analysis variables have more than 50 percent missing values.
- Substantive conclusions change when you compare complete-case analysis against EM-imputed results.
- You need standard errors that account for imputation uncertainty; single EM imputation does not provide that.
Example configuration (structural only)
Run the following in the SPSS Syntax Editor (File > New > Syntax). This is a structural example; verify exact subcommand names against the SPSS Statistics 28 Command Syntax Reference before executing.
* Required: SPSS Statistics 28.x, Base or Advanced module.
* Required permissions: read access to the source data file, write access to the output folder.
* Placeholders: replace var1 var2 var3 with your analysis variables.
* Replace C:\temp\imputed_data.sav with a valid path on your machine.
MISSING ANALYSIS
/VARIABLES = var1 var2 var3
/MISSING = EM
/ITERATIONS = 50
/OUTFILE = IMPUTED('C:\temp\imputed_data.sav').
Where to run: Syntax Editor window, then select all and click Run. Required permissions: SPSS Statistics Base or Advanced license, file read/write access as noted above. Expected checks: after execution, open the Output Viewer and confirm the Iteration History table reports convergence before the iteration limit. Relevant risks: EM creates model-based estimates, not observed values; treating them as observed can understate standard errors. The source data file is not modified unless you explicitly overwrite it.
Limitations and practical verification
EM assumes data are missing at random. If missingness depends on unobserved values (missing not at random), imputed results can be biased. EM also produces a single completed dataset; it does not reflect the uncertainty introduced by imputation.
Practical verification: after exporting the imputed dataset, run DESCRIPTIVES on each imputed variable and compare the mean and valid N to the Iteration History summary and to a complete-case subset. If the values diverge sharply, revisit the variable list and missingness thresholds before proceeding.
No source data is changed by this procedure. If the checks fail, close the imputed dataset without saving and adjust the analysis specification.
0 replies
A thoughtful contribution can make all the difference. Be the first to share one.