Project guidance
This notebook contains the remaining steps of the how-to-model guide.
Implementing the model 5. Toolkit selection 6. Planning the model 7. Implementing the model
Model testing 8. Completing the model 9. Testing and evaluating the model
Publishing 10. Publishing models
Please see Steps 1 - 4 here first.
Once you have completed Steps 1-4 to your satisfaction, you are now ready to model. You have a specific question, a goal in mind, and precise hypotheses expressed in mathematical language. All these components will empower you to chose an appropriate modeling approach.
In selecting the right toolkit, i.e. the right mathematics, computer science, engineering, or physics, etc approaches, you should consider the following important rules:
Guiding questions:
Viewing modeling as a decision process might help providing clarity regarding different model types, and how framing the problem and stating your goals influences the toolkit selection. Don't be afraid to pursue goals that no one else pursues; diversity of models should be encouraged because it results in complementary model considerations.
Make sure to avoid the pitfalls!
Planning the model involves thinking about the general outline of the model, its components and how they might fit together. You want to draw a model diagram, make some sketches and formalize necessary equations. This step will thus outline a plan of implementation. Once you have that plan, this will hugely facilitate the actual implementation of the model in computer code.
Your model will have:
You will thus need to define a set of functions that take your data and some parameters as input, can run your model, and output a prediction for a hypothetical measurment.
Guiding principles:
Goal: Put in place all the components of the hypothesized relationships and explanations.
Make sure to avoid the pitfalls!
This is the step where you finally start writing code! Separately implement each box, icon, or flow relationship identified in Step 6. Test each of those model components separately! (This is called a unit test). Unit testing ensures that each model components works are expected/planned.
Guiding principles:
Goal: Understand how each model component works in isolation and what the resulting overall model behavior is.
Make sure to avoid the pitfalls!
Determing what you're done modeling is a hard question. Referring back to your original goals will be crucial. This is also where a precise question and specific hypotheses expressed in mathematical relationships come in handy.
Note: you can always keep improving our model, but at some point you need to decide that it is finished. Once you have a model that displays the properties of a system you are interested in, it should be possible to say something about your hypothesis and question. Keeping the model simple makes it easier to understand the phenomenon and answer the research question.
Guiding principles:
Make sure the model can speak to the hypothesis. Eliminate all the parameters that do not speak to the hypothesis.
Goal: Determine if you can answer your original research question and related hypotheses to your satisfaction. If the original goal has not been met you need to go back to the drawing board!
Make sure to avoid the pitfalls!
Every models needs to be evaluated quantitatively. There are many ways to achieve that and not every model should be evaluated in the same way. Ultimately, model testing depends on what your goals are and what you want to get out of the model, e.g., qualitative vs quantitative fit to data.
Guiding principles:
Goal: You want to demonstrate that your model works well. You also want to make sure you can interpret the model's meaning and findings, i.e., what did the model allow you to learn that was not apparent from the data alone?
Make sure to avoid the pitfalls!
Guiding principles:
Goal: Make sure your model is well received AND USED by the community. In order for our model to impact the field, it needs to be accepted by our peers, and order for that to happen it matters how the model is published.
Make sure to avoid the pitfalls!
Abstracts are very stereotyped pieces of writing that contain highly condensed information. To write a summary (= abstract) of your modeling, you can use these questions as a guide:
Instructions: write down your answer to each of those questions (1-2 sentences each, max!). When you're done, stick the sentences together... Now you have an abstract!
There are good guidelines for structuring and writing an effective paper (e.g., Mensh & Kording, 2017), all of which apply to papers about models. There are some extra considerations when publishing a model. In general, you should explain each of the steps in the paper:
Introduction: Steps 1 & 2 (maybe 3)
Methods: Steps 3-7, 9
Results: Steps 8 & 9, going back to 1, 2 & 4
Here are some great materials to help you with paper writing:
The audience for all of this should be experimentalists, as they are the ones who can test predictions made by your model and collect new data. In this way your models can impact future experiments, and future data can then be modeled (see modeling process schematic below). Remember your audience - it is always hard to clearly convey the main points of your work to others, especially if your audience doesn't necessarily create computational models themselves.
In addition, you should provide a visualization of the model, and upload the code implementing the model and the data it was trained and tested on to a repository (e.g., GitHub, OSF).
For every modeling project, a very good exercise is to first write a short, 100-word abstract of the project plan and expected impact. This forces focussing on the main points: describing the relevance, question, model, answer and what it all means very succinctly. This allows you to decide to do this project or not before you commit time writing code for no good purpose. Notice that this is really what we've walked you through carefully in this guide! 😀
Blohm G, Kording KP, Schrater PR (2020). A How-to-Model Guide for Neuroscience eNeuro, 7(1). doi: 10.1523/ENEURO.0352-19.2019
Mensh B, Kording K (2017). Ten simple rules for structuring papers. PLOS Comput Biol 13(9): e1005619. doi: 10.1371/journal.pcbi.1005619