Skip to content

ubcecon/ECON622

Repository files navigation

ECON622

This is a graduate topics course in computational economics, with applications in datascience and machine learning.

Course materials

  • Get a GitHub ID and apply for the Student Developer Pack to get further free features
  • Consider clicking Watch at the top of this repository to see file changes

Syllabus

See Syllabus for more details

Problem Sets

See problemsets.md.

Lectures

Paul

  1. September 4: Environment and Introduction to Julia

  2. September 9: Integration

  3. September 11: Nonlinear Equation Solving

  4. September 16: Project Best Practices

  5. September 18: clean up example project, introduction to automatic differentiation

  6. September 23: Optimization

  7. September 25: Extremum Estimation

  8. October 2 Function Approximation

  9. October 7 Code Performance

    • Coding for performance be sure to look at the 2023 branch for the recent additions
    • GPU usage
    • Self-study: SIMDscan: since it briefly came up in class, and I was curious about it, I made a little package for calculating things like cumulative sums and autoregressive simulations using SIMD
    • Self-study: Need for speed
    • Self-study: Performance Tips
  10. October 9 Dynamic Programming

  1. October 16 Debiased Machine Learning

JESSE

Slides for the lectures can be found here

  1. October 21: Factorizations, Direct Methods, and Intro to Regularization

  2. October 23: Iterative Methods, Geometry of Optimization, Rethinking LLS, and Preconditioning - SLIDES: Least Squares and Iterative Methods - Iterative Methods

  3. October 28: Overview of Machine Learning

    • SLIDES: Intro to ML
    • Finalize discussion of iterative methods and preconditioning
    • Introduce key concepts about supervised, unsupervised, reinforcement learning, semi-supervised, kernel-methods, deep-learning, etc.
    • Basic introduction to JAX and Python frameworks
  4. October 30: Differentiable everything! JAX and Auto-Differentiation/JVP/etc.

    • SLIDES: Differentiation
    • Reverse-mode and forward-mode AD.
    • Jvps and vjps
    • Implicit differentiation of systems of ODEs, linear systems, etc.
  5. November 4: High-dimensional optimization and Stochastic Optimization

    • SLIDES: Optimization
    • Gradient descent variations
    • Using unbiased estimates instead of gradients
  6. November 6: Stochastic Optimization Methods and Machine Learning Pipelines

    • SLIDES: SGD variations in Optimization
    • W&B sweeps, and code in lectures/lectures/examples-
    • SGD and methods for variance reduction in gradient estimates
    • Using SGD-variants in practice within ML pipelines in JAX and Pytorch
    • Readings: Probabilistic Machine Learning: An Introduction Section 5.4 on ERM
  7. November 18: Neural Networks, Representation Learning, Double-Descent

  8. November 20 Finish Double-Descent and Intro to Kernel Methods and Gaussian Processes

  9. November 25 Bayesian Methods and HMC

  10. November 27 Applications

  11. December 2 Applications

  12. December 4 Applications

  13. December 18

    • Final Project due

Look under "Releases" or switch to another branch for earlier versions of the course.