This statistical portfolio comprises three projects built for the Statistical Learning and Data Analysis course, each combining theoretical grounding with hands-on implementation across the following topics: exploratory data analysis and unsupervised learning, probability model theory and simulation, regression with regularisation and non-linear methods.
01-exploratory-data-analysis/
Full EDA pipeline on a dataset of 1002 students linking lifestyle habits to academic performance (study hours, social media and Netflix use, sleep, attendance, mental health rating, exam score). Covers missing data handling, univariate and bivariate analysis, correlation structure, PCA and clustering to uncover behavioral groupings among students.
Tools: R, tidyverse, FactoMineR, factoextra
02-probability-models/
Theoretical comparison of the Poisson and Exponential distributions: parameters, moments, and their asymptotic convergence to the Gaussian via the Central Limit Theorem and the Gamma distribution. Validated through simulation, then applied to a real-world scenario by modeling the frequency and timing of cybersecurity intrusion attempts.
Tools: Python, NumPy, SciPy, Matplotlib, Seaborn
03-regression-simulation/
Simulated sparse linear regression (n=300, p=10) with OLS estimation and full diagnostics (leverage, Cook's distance, DFFITS, studentized residuals), followed by Ridge, Lasso, and Elastic-Net regression with cross-validated hyperparameter selection. A separate bias-variance experiment compares polynomial regression against splines and LOESS on a non-linear (sinusoidal) generating function.
Tools: Python, scikit-learn, statsmodels, SciPy
statistical-learning-portfolio/
├── 01-exploratory-data-analysis/
│ ├── eda_student_habits.Rmd
│ └── data/student_habits_performance.csv
├── 02-probability-models/
│ └── poisson_exponential_comparison.ipynb
└── 03-regression-simulation/
└── regression_shrinkage_bias_variance.ipynb
- R project: open
eda_student_habits.Rmdin RStudio and knit, or run interactively. Requirestidyverse,psych,corrplot,fastDummies,FactoMineR,factoextra. - Python projects: each notebook runs standalone with a standard scientific Python stack (
numpy,pandas,scipy,scikit-learn,statsmodels,matplotlib,seaborn).