Project description/rubric
The components of the project are:
- Individual proposal (already done)
- Group proposal. This should essentially be an expanded/synthesized version of your individual proposal, i.e. it should frame an overall question (describe the system you’re trying to describe with the model and what questions you’re going to use the model to answer); explain the assumptions of your model; give some version of the equations you’re going to use; describe the state variables and parameters, and define their units; explain your basic plans for analyzing the model.
- Group presentation. This will be given in class in the last 2 weeks of the semester. It’s not necessary for everyone in the group to stand up and talk during your presentation, but I would expect that you will arrange some kind of fair division of labour within your group - e.g. if you don’t like public speaking, you can do an extra share of the work preparing the presentation (probably Powerpoint or LaTeX/Beamer).
- Individual write-up. I’m looking for something on the order of 5-15 pages long, including equations, figures, and references, but not counting code. Short bits of code as part of Jupyter notebook output are OK; if you have lots of code, please put it in a separate module and
from my_code import *
in your notebook. You can send me a PDF file or a Jupyter notebook, please don’t send me Word (or OpenOffice) files. You should write this up on your own; you can of course work with your group on developing figures, developing your code, writing understanding, etc., but the actual expression of the ideas should be yours.
Expectations
The project has four basic components: interpretation, analysis, computation, and parameterization. The balance among these components (relative amount/depth of each) in your project will depend on the interests and skills of the people in your group and the project you have chosen.
Interpretation
“Interpretation” means the translation from the real world to mathematics/code and back again; this will show up in your introduction and discussion. What is the system? Why is it interesting or important? What assumptions do you choose for translating the world into a set of equations or computer code? What are the real-world meanings of your mathematical and computational findings?
- minimal: some description of the problem and outcomes
- typical: a careful discussion of the problem; some justification of the assumptions (are there plausible alternatives?); at least one reference to existing literature.
- exceptional: more discussion of the existing literature on the topic, putting your model in context. Possibly novel conclusions.
Analysis
This is formal mathematical analysis, e.g. showing that the system is bounded/well-posed; finding equilibria; assessing stability of equilibria; finding general conditions on parameters that lead to different outcomes (combinations of stable/unstable equilibria, limit cycles, etc.); in some cases, finding time-dependent solutions. If your chosen model is complex (some combination of many state variables, nonlinearity, stochasticity, etc.), you may have to construct a simplified version in order to do some analysis.
- minimal: analysis at the level of a homework problem, e.g. equilibrium and stability analysis for two coupled homogeneous ODEs.
- typical: somewhat more challenging analysis, especially spending more effort to simplify/identify when conditions for stability will hold (e.g. proving in a system with two equilibria that in general, except for non-generic cases, exactly one will be stable and the other will be unstable); identifying the nature of stable/unstable equilibria (i.e., real vs complex eigenvalues).
- exceptional: unusually challenging analysis, e.g. finding general stability conditions for a system with many interacting species/firms; establishing global stability; computing \(R_0\) for an epidemic model by using the next-generation method; finding non-trivial bifurcation diagrams (i.e., the position and stability of equilibria; find approximate/linearized solutions to a nonlinear stochastic model, or exact solutions to a linear stochastic model.
Computation
Numerical solutions to your problem.
- minimal: find a time-dependent numerical solution for your system for at least one set of parameters and starting conditions and plot it.
- typical: compute and compare several solutions for different parameter sets or starting conditions (e.g. when different equilibria are stable, or demonstrating that there are multiple stable equilibria). Plot an ensemble of solutions from a stochastic model.
- exceptional: do more challenging/extended computations. For example, compute and plot bifurcation diagrams numerically; compute ensembles of solutions from stochastic models for a range of parameter values and graph changes in distribution with respect to the parameter; non-trivial computations using
sympy
; numeric evaluation of equilibrium solutions and eigenvalues of Jacobians across parameter values.
Parameterization
An important but somewhat glossed-over-in-this-course aspect of modeling.
- minimal: pick a set of parameters that are not crazy.
- typical: make an argument based on general knowledge of the subject area for appropriate orders of magnitude of parameters, or find information in the literature (e.g. a peer-reviewed paper or reputable study) that gives parameters that are applicable to your system. Give reasonable verbal arguments for why the parameters taken from the literature are appropriate, or how they need to be modified to be consistent with your model.
- exceptional: use data to estimate parameters for your model. Discuss/evaluate parametric uncertainty (e.g., propagate parametric uncertainty to get estimates of uncertainty in equilibrium values/stability, or run your model for an ensemble of parameters chosen from appropriate distributions.