Multivariate analysis examines three or more variables together — because real predictive patterns are often only visible when you look at combinations of features, not any single feature or pair in isolation.
Why Bivariate Analysis Alone Isn't Enough
A feature can show almost no relationship with the target on its own, yet become highly predictive in combination with a second feature — a classic example is "age" and "income" individually being weak predictors of loan default, while the combination "high age, low income" (an unusual pairing suggesting recent job loss) is a much stronger signal. Bivariate analysis, examining one pair at a time, structurally can't surface this kind of interaction — that's exactly the gap multivariate analysis fills.
Technique 1 — Correlation Heatmap Across All Numeric Features
import seaborn as sns
import matplotlib.pyplot as plt
corr_matrix = df.corr(numeric_only=True)
sns.heatmap(corr_matrix, annot=True, cmap="coolwarm", fmt=".2f")
plt.show()
A full correlation matrix, not just one pair, reveals clusters of features that move together (potential redundancy — see Correlation-based Feature Selection) all at once, rather than checking pairs one at a time.
Technique 2 — Pairplot with a Hue
sns.pairplot(df[["size_sqft", "bedrooms", "price_lakh", "sold_fast"]], hue="sold_fast")
plt.show()
A pairplot with hue is one chart that combines dozens of bivariate views, all colored consistently by a variable of interest.
Coloring by the target class instantly shows whether some pair of features visually separates classes even when neither feature alone does — a strong hint that a model combining both features (rather than either individually) will perform well.
Technique 3 — Grouped/Faceted Comparisons
# How does the size-price relationship differ ACROSS cities?
sns.lmplot(x="size_sqft", y="price_lakh", hue="city", data=df)
plt.show()
This reveals interaction effects: if the size-price slope is steep in Mumbai but flat in a smaller city, "size" and "city" interact — a model would benefit from an explicit interaction feature (see Interaction Features) or a model type (like a tree) that can capture this automatically.
Technique 4 — Dimensionality Reduction as a Multivariate View
When you have many numeric features, a 2D PCA projection, colored by target class, is itself a form of multivariate EDA — it compresses many dimensions into two you can actually look at, to visually check whether classes look separable at all before committing to a modeling approach.
Practical Use Cases
- Spotting feature interactions that neither univariate nor bivariate analysis alone would reveal
- Detecting multicollinearity clusters across many features at once via a full correlation heatmap
- Sanity-checking, before training anything, whether classes look visually separable at all
Common Mistakes
- Jumping straight to a full pairplot on a 30-feature dataset — with too many features, the grid becomes unreadable; narrow to the most promising features first via univariate/bivariate analysis.
- Over-interpreting an apparent pattern in a high-dimensional visualization without a numeric check (correlation, grouped statistics) to confirm it's real and not a rendering artifact.
Interview Relevance
Q: "Why would you look at a pairplot instead of just a correlation matrix?" A correlation matrix only summarizes linear relationships as a single number per pair; a pairplot shows the actual shape of every relationship (including non-linear ones) and lets you color by a target/category to see multi-feature separation a correlation number alone can't reveal.
Practice Question
You suspect that "days_since_last_purchase" only predicts churn when combined with "total_orders." Describe a multivariate EDA technique that would help confirm or reject this suspicion before modeling.