- Instructor: jesse.perla@ubc.ca and schrimpf@mail.ubc.ca
- Textbook: New online textbook "QuantEcon DataScience: Introduction to Economic Modeling and Data Science"
- Learning Environment: Come to class on time. Bring a laptop if you can!
This is a course introducing the computational and data science tools used in modern economics.
We will apply a programming language (Python) to analyzing these sorts of data and making numerical calculations/simulations of models in economics.
The class will focus on practical experience with economics-focused tools and is not intended as a replacement for Computer Science or Statistics courses.
All materials will be provided online:
- Class Materials: https://github.com/ubcecon/ECON407_2019
- Communications, Announcements, and Grades: http://canvas.ubc.ca
- Weekly problem sets: 50%
- Final projects: 45%
- Attendance/Participation: 5% (basically, 5% given or 0% if we think you have attendance problems outside of the ordinary)
In progress, and we won't be able to cover it all
- Python Fundamentals
- Introduction to Python
- Basics
- Collections
- Control Flow
- Functions
- Scientific Computing and Economics
- Introduction to Numpy Arrays
- Introduction to Data Visualization in Python
- Applied Linear Algebra
- Randomness
- Optimization
- Introduction to Pandas and Data Wrangling
- Introduction to Pandas
- The basics
- The index
- Storage formats
- Data cleaning
- Reshaping
- Merging
- Groupby
- Time series
- Introductory Data Visualization
- Data Science Case Studies and Tools
- Regression
- Linear Regression
- Lasso Regression
- Neural Networks
- Random Forests
- Classification
- K-means
- Classification Trees
- Support Vector Machines
- Data Visualization
- Core visualization principles
- Maps
- Miscellaneous
- Web scraping
- Fitting probability distributions
- Natural language processing
To get a sense of the topics we may cover (it is unlikely we will finish )
- Where we are going: Short description of how data and economics can be used as tools to view the world and what you should be able to do after this class. Cool examples!
- Introduction: Why did we choose Python? Get started using the Jupyter notebook and writing your first code
- Basics: Continue writing code. Variable assignment, packages, code style.
- Finish reading basics section
- Make sure Syzygy account works by making small changes to a notebook we assign and submitting it through system
- Review basics: Numbers, math operations, strings, booleans
- Collections: Use conditionals in Python
- Learn how to compute net present values
- Review net present value and asset pricing
- Control flow: Learn to use for loops, while loops, and if statements
- Assignment on control flow and functions
- Functions: Recall what a function is. Begin to write our own.
- Review all of Python fundamentals
- Introduction to numpy arrays
- Introduction to plotting
- Indexing practice
- Explore matplotlib
- Applied linear algebra
- Consumer theory and optimization
- Consumer theory and optimization cont'd
- Randomness
- Simulation
- Optimization
- Review day
- Introduction to Pandas
- The basics of Pandas
- Create DataFrames by hand and explore the methods
- Use examples to show them that index will be automatically lined up
- Pandas indexes
- Data formats
- Data reshaping
- Reshape examples
- Data cleaning
- Merging
- Groupby
- More data visualization
- Examples of split-apply-combine
- Practice making graphs and experiment with options
- Time series
- Review pandas
- Goal of "regression" approaches
- Linear regression
- Why use regularization techniques
- Lasso Regression
- Random forests
- Neural networks
- Goals of classification
- Classification trees
- Support vector machines
- K-means
- Core visualization principles
- Interactive graphs
- Maps
- Other cool graphs
- Building models and fitting probability distributions
- Building models and fitting probability distributions (continued)
- Web scraping
- Natural language processing