Statistics for ML #70 — Principal Component Analysis (PCA)
Published:
Principal Component Analysis (PCA)
Post #70 of 100 in the Statistics for ML series by Md Salek Miah — Statistician, SUST Bangladesh.
What You Will Learn
The Principal Component Analysis (PCA) is one of the core building blocks of quantitative research. This post covers:
- Mathematical definition — precise and complete
- Intuitive explanation — what it means in plain language
- Public health application — real examples from DHS survey research
- Python implementation — ready-to-run code
- R implementation — for epidemiologists and survey analysts
- ML connection — how this concept appears in modern algorithms
Core Mathematics
The Principal Component Analysis (PCA) formalises how we build and evaluate predictive machine learning models.
Python Code
import numpy as np
import pandas as pd
from scipy import stats
import matplotlib.pyplot as plt
from sklearn.preprocessing import StandardScaler
# Principal Component Analysis (PCA) — implementation example
# Full code available at: github.com/muhammadsalek
print("Post #70: Principal Component Analysis (PCA)")
# Example: Load DHS-style data
np.random.seed(42)
n = 1000
data = pd.DataFrame({
'anc_visits': np.random.poisson(3.2, n),
'birth_weight': np.random.normal(3100, 480, n),
'sba': np.random.binomial(1, 0.67, n),
'wealth_q': np.random.randint(1, 6, n),
'rural': np.random.binomial(1, 0.65, n)
})
# Apply Principal Component Analysis (PCA) concepts here
print(data.describe())
R Code
library(tidyverse)
library(survey)
library(broom)
# Principal Component Analysis (PCA) in R
# Designed for DHS complex survey analysis
cat("Statistics for ML #70: Principal Component Analysis (PCA)\n")
cat("By: Md Salek Miah | SUST | saleksta@gmail.com\n")
# Example with survey design
# dhs_design <- svydesign(id=~psu, strata=~strata,
# weights=~weight, data=dhs_data)
Connection to My Research
In my published work on maternal health and mental health outcomes across LMICs, Principal Component Analysis (PCA) appears in:
- Model specification for binary health outcomes (SBA, stunting, IPV)
- Spatial inequality analysis across districts and provinces
- Machine learning pipeline design (XGBoost, Random Forest with SHAP)
- Survey-weighted inference using complex DHS sampling designs
Key Takeaways
- ✅ Understand the mathematical foundation
- ✅ Know when to apply this technique vs alternatives
- ✅ Implement correctly in Python and R
- ✅ Interpret results in context of public health research
- ✅ Connect to ML model design decisions
| *← Previous post | Series index | Next post →* |
| *Questions? saleksta@gmail.com | ResearchGate* |
