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 6: Environment and Introduction to Julia
  2. September 11: From Economic Models to Code
  3. September 13: Optimization
  4. September 18: Automatic Differentiation
  5. Sepember 20: Extremum Estimation
  6. September 25: Testing and Package Development
  7. September 27: 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

JESSE

Slides for the lectures can be found here

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

  2. October 11: Iterative Methods, Geometry of Optimization, and Rethinking LLS

  3. October 12: Preconditioning and Overview of Machine Learning

    • SLIDES: Iterative Methods and 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.
  4. October 16: Differentiable everything! JAX and Auto-Differentiation/JVP/etc.

  5. October 18: AD of Implicit Functions, Optimization Methods for High-Dimensional Problems

    • SLIDES: Finish Differentiation and start Optimization
    • Implicit differentiation of systems of ODEs, linear systems, etc.
    • Gradient descent variations
  6. October 23th: Stochastic Optimization Methods

    • SLIDES: SGD variations in Optimization
    • SGD and methods for variance reduction in gradient estimates
    • Using SGD-variants in practice within ML pipelines in JAX and Pytorch
  7. October 25th: Machine Learning Pipelines, HPO, and ERM

  8. October 30: Neural Networks, Representation Learning, Double-Descent

  9. November 1 Finish Double-Descent and Intro to Kernel Methods and Gaussian Processes

  10. November 6 GUEST LECTURE GEOFF PLEISS FROM UBC STATS

PHIL

  1. November 8 Graphical models introduction
  2. November 13 Fall break
  3. November 15 Fall break
  4. November 20 Using graphical models, Identification, Variable elimination, Undirected graphical models
  5. November 22 Sampling; Inverse CDF, Rejection/importance sampling, MCMC/Metropolis-Hastings algorithm
  6. November 27 Local (Gibbs) sampling, Hamiltonian Monte-Carlo, ODE solvers, Probabilistic programming languages (PPLs)
  7. November 29 NLP (short), Tuning foundation models, Graph theory, Graph spectrum, Network games
  8. December 4 Student presentations 1
    • Eileen Bian - Application of linear programming
    • Xilin Song - Extension of BLP with product space similarities
    • Jacky Tan - Heterogeneous agent models of market microstructure
  9. December 6 Student presentations 2
    • Yidan Chen - Digitization of patent data using NLP
    • Kisho Hoshi - Replication of discrete choice paper with recommender systems
    • Bruno Esposito - Optimizing the code from Balke and Lamadon (2022) using JAX
    • James Yu - Within-tier heterogeneity in directed search
  10. Decemeber 20
    • Final Project due

Look under "Releases" for earlier versions of the course.