STA 663: Computational Statistics and Statistical Computing (2018)¶
All notebooks and exercises are available at the GitHub Repository.
Lecture notebooks¶
- Popularity Contest
- Getting started with Jupyter and Python
- Python Functions
- Numbers
- Basic Graphics with
matplotlib
- Working with Text
- Data
- SQL
- Bonus Material: The Humble For Loop
- Bonus Material: Word count
- Symbolic Algebra with
sympy
- Machine Learning with
sklearn
- Scalars
- Vectors
- Matrices
- Sparse Matrices
- Working with Matrices
- Solving Linear Equations
- Understanding the SVD
- Linear least squares
- Finding Roots of Equations
- Numerical Optimization
- Algorithms for Optimization and Root Finding for Multivariate Problems
- Using optimization routines from
scipy
andstatsmodels
- Line search in gradient and Newton directions
- Least squares optimization
- Gradient Descent Optimizations
- Constrained Optimization
- Random Variables
- Resampling and Monte Carlo Simulations
- Markov Chains
- Numerical Evaluation of Integrals
- Abbreviated lecture notes
- Probabilistic Programming
- Using PyMC3
- Metropolis and Gibbs Sampling
- Hamiltonian Monte Carlo (HMC)
- Introduction to C++
- Just-in-time compilation (JIT)
- Cython
- Using
pybind11
- Native code compilation
- Parallel Programming
- Multi-Core Parallelism
- Parallel Programming Example
- Using
ipyparallel
- Introduction to Scalable Data Analytics
- Scalable data storage and structures
- Introduction to Spark
- Architecture of a Spark Application
- SparkContext
- Resilient Distributed Datasets (RDD)
- Actions and transforms
- Working with key-value pairs
- Persisting data
- Spark DataFrames
- Spark MLLib
- Using Spark Efficiently
- Spark magic
- Using TensorFlow
- Regression in TensorFlow
- Using
keras
- CNN for MNIST digits
- Sequential and Functional Interfaces
Exercise notebooks¶
- Lab00: Simple Python exercises
- Lab02: Functions
- Lab03: Intermediate Python Programs
- Lab04: Data manipulation
- Lab05: Numerics
- Lab06: Topic Modeling with Latent Semantic Analysis
- Lab07: Optimization
- Lab08: Conjugate Gradient Descent
- Lab09: C++
- Lab10: Making Python faster
- Lab11A: Parallel Processing
- Lab11B: Spark
- LabX1: Supplementary Practice Problems
- Lab X2: Supplementary Practice Problems
- Mock Exam
- STA 663 Midterm Exams