Statistical Analysis with Python

A comprehensive 5-day Faculty Development Program — from foundational diagnostics to publication-ready reproducible research. Built for faculty, researchers, and PhD scholars in management, economics, and social sciences.

Program Overview

This FDP equips participants with the statistical and computational skills to conduct rigorous empirical research using Python. Across 10 modules delivered over 5 days, participants progress from assumption diagnostics through advanced estimation techniques, ending with reproducible research practices and publication-ready outputs.

10
Modules
5
Days
10
Hands-on Exercises
50+
Python Libraries

Program Schedule

Day Morning Session (9:30 AM – 12:30 PM) Afternoon Session (2:00 PM – 5:00 PM)
Day 1 Module 1: Understanding Common Assumptions in Statistical Analysis Module 2: Instrumental Variables — Concept and Applications
Day 2 Module 3: Classical and Regularised Regression Models Module 4: Bayesian and Generalised Regression Models
Day 3 Module 5: Time Series Forecasting Techniques (AR, MA, ARIMA) Module 6: Volatility and Multivariate Time Series Models
Day 4 Module 7: Panel Data Regression Models Module 8: Advanced Estimation Techniques (GMM & Quantile)
Day 5 Module 9: Hands-on Data Analysis and Modeling in Python Module 10: Reproducible Research and Publication-Ready Outputs

Modules

Part I: Foundations of Statistical Inference

Module 1

Understanding Common Assumptions in Statistical Analysis

Normality, homoscedasticity, linearity, independence, and multicollinearity diagnostics with statsmodels and scipy.

statsmodelsscipymatplotlib
Module 2

Instrumental Variables: Concept and Applications

Endogeneity, 2SLS estimation, weak instruments, overidentification tests using linearmodels.

linearmodelsstatsmodels

Part II: Regression Models — Classical to Modern

Module 3

Classical and Regularised Regression Models

Multiple regression, Logit, Probit, Lasso, Ridge, and Elastic Net with statsmodels and scikit-learn.

statsmodelsscikit-learn
Module 4

Bayesian and Generalised Regression Models

Bayesian GLMs with pymc/bambi, MCMC diagnostics, Poisson, Negative Binomial, zero-inflated models.

pymcbambiarviz

Part III: Time Series Econometrics

Module 5

Time Series Forecasting Techniques

Stationarity, AR, MA, ARIMA, SARIMA, and forecasting with statsmodels and pmdarima.

statsmodelspmdarima
Bonus

ARIMA in Microsoft Excel

Manual ARIMA from first principles — stationarity testing, LINEST, Solver, and complete walkthrough in Excel. Companion to Module 5.

ExcelSolverLINEST
Module 6

Volatility and Multivariate Time Series Models

ARCH, GARCH, EGARCH, VAR, VECM, impulse response functions with arch and statsmodels.

archstatsmodels
Bonus

ARCH & GARCH in Microsoft Excel

Manual volatility modelling from first principles — ARCH(1) with LINEST, GARCH(1,1) with Solver and maximum likelihood. Companion to Module 6.

ExcelSolverLINEST

Part IV: Panel Data and Advanced Estimation

Module 7

Panel Data Regression Models

Fixed effects, random effects, Hausman test, dynamic panel GMM with linearmodels.

linearmodelsstatsmodels
Module 8

Advanced Estimation Techniques

Generalised Method of Moments, quantile regression, panel quantile regression.

statsmodelslinearmodels

Bonus: Hands-On Research

Hands-On

Cryptocurrency Volatility: ARIMA + ARCH + GARCH Pipeline

Complete research investigation on real BTCUSD data. Answer three research questions using ARIMA, ARCH, and GARCH. Reusable template for your own stock/crypto data.

ARIMAGARCHBTCTemplate

Part V: Putting It All Together

Module 9

Hands-on Data Analysis and Modeling in Python

Real-world datasets, data cleaning with pandas, building reproducible analysis workflows.

pandasmatplotlibjupyter
Module 10

Reproducible Research and Publication-Ready Outputs

Publication-quality tables and figures, project organization, dynamic documents, version control.

matplotlibquartogit

Python Stack

The program uses a carefully curated set of Python libraries for statistical analysis:

LibraryPurposeModules
pandasData manipulation, cleaning, transformationAll modules
numpyNumerical computing, arrays, linear algebraAll modules
scipyStatistical tests, distributions, optimizationM1, M5, M8
statsmodelsRegression, time series, diagnostic testsM1–M8
scikit-learnRegularised regression, model selectionM3
linearmodelsIV, panel data, GMM estimationM2, M7, M8
pymc / bambiBayesian modelling, MCMCM4
arvizBayesian diagnostics and visualizationM4
archARCH/GARCH volatility modelsM6
pmdarimaAuto-ARIMA model selectionM5
matplotlib / seabornVisualization and publication graphicsAll modules
pip install pandas numpy scipy statsmodels scikit-learn linearmodels pymc bambi arviz arch pmdarima matplotlib seaborn jupyter

Setup Instructions

Before the FDP, please ensure you have the following installed:

  1. Python 3.10+ — Download from python.org
  2. Jupyter Labpip install jupyterlab
  3. Required libraries — Run the install command above
  4. A code editor — VS Code (recommended) or your preferred editor
💡
Pro Tip: We recommend creating a dedicated conda environment or virtual environment for this FDP to avoid dependency conflicts with your existing projects.

Find Your Path

Not sure where to start? Choose the path that matches your background:

Your ProfileRecommended Path
New to econometricsM1 → M3 → M5 → M7 → M9
Experienced with OLS, needs advanced toolsM2 → M4 → M6 → M8 → M10
Applied researcher, want Python proficiencyM1 → M3 → M7 → M9 → M10
Time series / macro researcherM1 → M5 → M6 → M9 → M10
PhD scholar preparing job market paperM1 → M3 → M7 → M8 → M9 → M10
Senior faculty updating methodsM2 → M4 → M6 → M8 → M10