14 — Analyze Your Data

Missing Data Strategies#

Data Quality✓ Mathematical
◆ The PatternImputation, MICE, missingness patterns — handling gaps without corrupting your analysis

Missing data isn't just annoying — why it's missing matters. MCAR (completely random) is safe to drop. MAR (depends on observed data) needs smart imputation. MNAR (depends on the missing value itself) is the hardest case.

MCAR: P(missing) = constant
Missing completely at random. Dropping rows is unbiased but wasteful.
MAR: P(missing | observed) ≠ P(missing)
Missing at random given observed data. Use MICE, KNN imputation.
// Interactive — missing data patterns and imputation
% Missing20%
Strategy
# Python — imputation strategies
from sklearn.impute import SimpleImputer, KNNImputer
from sklearn.experimental import enable_iterative_imputer
from sklearn.impute import IterativeImputer

# Simple: median (robust to outliers)
imp = SimpleImputer(strategy='median')

# KNN: uses similar rows
imp = KNNImputer(n_neighbors=5)

# MICE: iterative multivariate
imp = IterativeImputer(max_iter=10)
X_filled = imp.fit_transform(X)
Never impute the target. And always impute inside cross-validation folds to prevent data leakage.
← Previous
Outlier Detection
Open in the full reader, with the topic sidebar →