Download - T HE M ODEL B UILDING P ROCESS Dr Nick Malleson Dr Alison Heppenstall GEOG3150 Semseter 2 Lecture 6
THE MODEL BUILDING PROCESS
Dr Nick Malleson
Dr Alison Heppenstall
GEOG3150 Semseter 2
Lecture 6
Projects
Aim
Improve your understanding of:
the process of building an individual-
level model
the value of modelling for
understanding the present and
predicting the future.
Develop skills in designing,
constructing and running models in
NetLogo
Scenario
The organisers of a local music
festival are concerned with the
amount of crime that takes place
there.
You are asked to:
create a model of the festival
suggest ways in which they could
intervene to reduce mugging
Method:
Use an agent-based model of the
festival (visitors and muggers) to
suggest the optimal locations for
security booths
Run some experiments with your
model
Produce a report that explains
findings and provides policy
suggestions
http://www.geog.leeds.ac.uk/courses/level3/geog3150/project/project/
Project Details
Option A – Programming
Largely a practical modelling
task
“Improve” the festival model
What does “improve”
mean?
To get the very best marks
you need to go beyond the
work that we did during the
practices.
Or create an entirely new
model
Deliverables:
Improved NetLogo program
500 word technical report
Justification for changes
Outline experiments
Possible improvements /
critique
Marking criteria
20% - report
60% - model functionality
20% - source code
Project Details
Option B – Report
No more development
Use the model created during the practical sessions to run experiments to explore optimal security locations
Deliverables:
1,500 word report
Include ideas / concepts presented in lectures
Evidence of substantial wider reading
Generic School marking criteria
Project Details
Option B – Report Sections
Background
A critique of agent-based modelling
Method
The model itself, outlining broadly how it works. (Use the ODD protocol?)
Pros and cons of the model
Possible improvements (other than those for part A) with justification
Experiments
Detail the experiments
Justify assumptions and explain what has been done to ensure that the experiments are fair.
Results
Results of the experiments, including tables, graphs, images as appropriate.
Conclusion and recommendations
Conclusion / summary
Recommendations for festival organisers
Evaluation
Critique the entire project
Evaluate success of meeting requirements of the festival organisers.
With hindsight, is ABM the most suitable?
What would you do differently next time? (with justification and references to relevant literature).
Questions about the project?
Recap: Last Week
InteractionsGlobal and local
Direct or mediated
Design concepts
Modelling BehaviourHumans are not random!
How to identify important behaviours?
KISS vs KIDS
Cognitive frameworksRule-based
PECS
BDI
Recap: Last Week
Photo attributed to Arts Electronica (CC BY-NC-ND 2.0)
Lecture 6 – The Model Building Process
Preparation
Design and build the model
Verification
Calibration
Validation
Prediction / Explanation
Seminar: Modelling Societal Challenges
Reading
Also see the reading list (at the library)
Ngo, T. A. and L. See (2012) Calibration and Validation of Agent-Based Models of Land Cover Change.In Agent-Based Models of Geographical Systems, pp 181-197
Edmonds, B. and R. Meyer (Eds) (2013) Simulating social complexity : a handbook. Springer.(Chapter 6: Checking Simulations and Chapter 8: Validating simulations) http://lib.leeds.ac.uk/record=b3432143
O'Sullivan, D. (2013) Spatial simulation: exploring pattern and process Chichester: John Wiley & Sons(Chapter 7: Modelling Uncertainty) http://lib.leeds.ac.uk/record=b3432142
What is the modelling process?
Preparation
Literature review
Data review
Model design & implementation
KISS / KIDS
Interaction & Behaviour
Complexity & Emergence
Evaluation
Verification
Calibration
Validation
Prediction / Explanation
Preparing to model
Literature review
what do we know about fully?
what do we know about in sufficient detail?
what don't we know about? (and does this matter?)
What can be simplified?
Driver aggression in a traffic modelComplex psychological model
Model based on age and gender
Single aggression rate
Mortgages in a housing modeldetail of mortgage rates’ variation with economy;
a time-series of data;
a single rate figure.
It depends on what you want from the model.
Data review
Outline the key elements of the system, and compare this with the data you need.
What data do you need, what can you do without, and what can't you do without?
NetLogo Example: Fire
Model Parameter
Forest density
…
Data Required
Read tree density
…
What data do you think we would need to build this simulation?
Data are needed for different purposes
Model initialisation
Data to get the model replicating reality as it runs.
Model calibration
Data to adjust parameters to replicate reality.
Model validation
Data to check the model matches reality.
Model prediction
More initialisation data.
Do you have sufficient data?
Lecture 6 – The Model Building Process
Preparation
Design and build the model
Verification
Calibration
Validation
Prediction / Explanation
Seminar: Modelling Societal Challenges
Model design
If the model is possible given the data, draw it out in detail.
Where do you need detail?
Where might you need detail later?
What processes are you wanting to model?
Start general and work to the specifics.
If you get the generalities flexible and right, the model will have a solid foundation for later.
Documenting Design – The ODD Protocol
ABMs can be very complicated
This makes them hard to design
And hard to describe (e.g. in journals)
ODD (Overview, Design concepts, Details)
A standard framework for describing ABMs.
Help with basic decisions
What should go into the model
What behaviours to include
Required model outputs
The ODD Protocol Elements of the (updated) ODD protocol
Overview1. Purpose2. Entities, state variables, and scales3. Process overview and scheduling
Design concepts
4. Design conceptsBasic principlesEmergenceAdaptationObjectivesLearningPredictionSensingInteractionStochasticityCollectivesObservation
Details5. Initialization6. Input data7. Submodels
Source: Grimm et al. (2010)
Do some background reading! See the reading list for more information (at the library)
KISS / KIDS
What are the really important things that need to be in a model?
How complicated should it be?
Recall from lecture 5:Keep it descriptive, stupid (KIDS)
Start descriptive, then simplify
Keep it simple, stupid (KISS)Start simple, then add complexity
Two contrasting views of KISS and KIDS approaches:
Axelrod, R. (1997). Advancing the art of simulation in the social sciences. In Conte, R., Hegselmann, R., and Terna, P. (eds) Simulating Social Phenomena , pages 21–40. Springer-Verlag, Berlin. (Note: this book is available in the library, the author has also made a draft of the chapter available online: http://www-personal.umich.edu/~axe/research/AdvancingArtSim2005.pdf ).
Edmonds, B. and Moss, S. (2005). From KISS to KIDS: an ‘anti-simplistic’ modelling approach. In Davidsson, P., Logan, B., and Takadama, K., editors, Multi Agent Based Simulation 2004, Lecture Notes in Artificial Intelligence , pages 130–144. Springer. Available online: http://cfpm.org/cpmrep132.html (also here).
Lecture 6 – The Model Building Process
Preparation
Design and build the model
Verification
Calibration
Validation
Prediction / Explanation
Seminar: Modelling Societal Challenges
Definitions: Verification, Calibration, Validation
1. Verification
Has the model been constructed correctly?
2. Calibration
Changing model parameters so that the results match expected data
3. Verification
Run the model again using new data (not used for calibration).
Does it still perform well?
Definitions: Verification and Validation
“Verification is the process of making sure that an implemented model matches its design. Validation is the process of making sure that an implemented model matches the real-world.”
- North & Macal, 2007, pp. 30–31
“Model verification is substantiating that the model is transformed from one into another, as intended, with sufficient accuracy. Model verification deals with building the model right”.
“Model validation is substantiating that the model, within its domain of applicability, behaves with satisfactory accuracy consistent with the study.” “Model validation deals with building the right model.”
- Balci (1997)
Other definitions are available!
1. Verification
Is your model working as you would expect it to?
Is replicating the processes (mechanisms) that you are interested in simulating?
Sometimes called testing the ‘inner validity’ of the model
Things to Look for:
Logical errors in translation of verbal model into computer model
Programming errors – “bugs”
One approach: Docking
Implement in another language
Axtell et al. (1996)
Verification Examples
Basic diffusion model Heppenstall et al. (2005)
Agent behaviour without geographyMalleson et al. (2010)
Is the fire model working correctly?
What things might we check to verify that the fire model has been programmed correctly?
Is the fire model working correctly?
Are the trees burning?
Is the water burning?
Does the fire spread or stay in one place?
Does increasing the forest density have the desired impact?
What happens at 0% density? (and 100%?).
What things might we check to verify that the fire model has been programmed correctly?
2. Calibration
If your model doesn't replicate real situations with
simple rules you'll need to calibrate your model.
Calibration is the process of fine-tuning the parameter
values in your model so they fit your data
Derivation of best-fit model parameters from real-world data
How to compare the model to the data??
(More on this in lecture 9)
DEMO: Calibration: Fire
A recent fire burned 82.4% of a forest.
Find the density value that simulates the correct percentage
Behaviour/Parameter Space in Netlogo
Even a small model can have an enormous parameter space
Combinatorial explosion of possible input settings
Extremely large number of possible inputs for integer value
parameters
Even larger number of possible inputs for real-valued parameters
Method 1:
Wander aimlessly through NetLogo input parameter space,making
lots of runs, and looking for interesting relationships between inputs
and outputs
Method 2:
Plan the parameter space voyage, measure results, use stats to
determine if there is intelligent life out there.
Hint: Automatic parameter sweeps in NetLogo
Can use NetLogo Behaviour Space to systematically change parameters
Finding the optimal parameter combination
Calibration is basically a search through a multi-dimensional parameter space
Previous approach is OK, but what about:
Numerous parameters
Non-linear outcomesMight require millions of
model runs
More efficient methods for
doing computer-aided
calibration
More on this in lecture 9
3. Validation
Recap:
1. Verification
Does the model implementation match our
intended design?
2. Calibration
Dan we make the model fit real world
data?
3. Validation
Does the model still work if we give it
different data (not used for calibration)
Validation
Can a model replicate processes and patterns in
unknown data.
Not a binary event
A model cannot simply be classified as valid or invalid
A model can have a certain degree of validity which of
course is encapsulated by various measures of fit
Different parts of the model to validate
Different methods to use
Validation
Need to decide on what you are interested in looking at.
Visual confirmatione.g. Comparing two city forms.
One-number statistice.g. Can you replicate average price?
Spatial, temporal, or interaction matche.g. Can you model city growth block-by-block?
More on this in lecture 9 ..
Validation Example
Single statistical
comparison
Spatial
comparison of
aggregate results
Validating agent
behaviours
Statistic ValueDifference in total number of crimes 547 (13%)
R2 crimes per output area 0.873
Goals of Validation
Manson’s question: “How well does a model characterise the target system?”
Verburg et al:
“It is not particularly useful to attempt to crown a model as valid, or to condemn a model as invalid based on the validation results. It is more useful to state carefully the degree to which a model is valid. Validation should measure the performance of a model in a manner that enables the scientist to know the level of trust that one should put in the model. Useful validation should also give the modeler information necessary to improve the model.”
Testing
Verification and calibration are demonstrated via testing
More formal modelling efforts require more formal testing
Testing need not be statisticalOften testing is more qualitative:
E.g. When law and order goes down, violence (civil unrest) should go up!!
Experts not involved with the modelling effort can be an extremely valuable part of testing.
Validation: Fire
How would you validate the fire model?
Validation: Fire
Different data set?
Temporal?
Spatial?
Different topography?
How would you validate the fire model?
Balci’s “Principles” of Verification, Validation and Testing
1 - Iterative process Check each part as it comes together Establish points in development to be sure you are on the right track
Build from modest goals to more ambitious ones
Levels of Testing: Private testing (testing as you go) Sub-model testing (different team -- or different hat, testing different inputs and output variables)
Integration testing (do the parts (sub-models) go together?) Model testing (does the whole thing work right? - validity of the model)
Acceptance testing (done by, or on behalf of, sponsor)
Balci, O., "Principles of Simulation Model Validation, Verification, and Testing", Transactions of the Society for Computer Simulation International, vol. 14, no. 1, pp. 3-12, 1997.
2 Validity is not binary
No model is completely valid as all are abstractions of a system.
Modelling is about producing something with a certain, well understood, degree of credibility.
As the degree of model creditability increases, so will the development cost… but so will its utility (but at a decreasing rate).
3 Validity for a Purpose
A model is “valid enough” for a particular purpose -no model is “valid enough” in general.
Accuracy of the model depends on the importance of the decision being made.
“The model is sufficiently valid” with respect to study objective.
Corollary: modelling should start with a research question. VV & T evaluates how well it answers that question.
“If you don’t know where you are going, you might end up somewhere else” Yogi Berra
4 VV&T is hard
No cook book way to do it
Requires creativity and insight (& time!)Must understand the model and identify adequate test cases
Generally beyond the scope of peer review
Third party efforts often limited to external validation using supplied data
Possibly also verification of computer code
Examination of internal validity and testing against novel data are both difficult.
5 Validity only applies to tested conditions
Input conditions are important for outputs E.g. assume model for rush hour but does not work for other times of the day
A really robust model will perform better outside of test conditions
But how well?
Performance is better if the model is more internally valid (cause and effect are analogous to target).
Domain of Applicability Range of input conditions over which the model validity is claimed (Schlesinger et al., 1979)
6 Testing should be planned
Ideally, you want to design the test before you get the model running
Guards against developer bias• Consider: activity & sequence diagrams might be of assistance.
Document testingTesting should be continuous (e.g. unit testing).
7 Valid parts may not make a valid whole
In a complex model: Each sub model must be validated separately
Develop test criteria -- how should it respond in various situations?
Valid submodels can make an invalid model in various ways:
Connections between the sub models may not be right (internal invalidity producing external invalidity)
Non-linear responses may amplify small errors in sub models to produce unacceptable errors in overall model.
8 Double Validation Problem
For a solid result, you need to test a valid model against valid data.
Not all data are valid– Lots of sources of error
Particularly a problem when the input data are stochastic and relational in nature
Take home message: Be as skeptical of the data as you are of the model -- test them both.
Lecture 6 – The Model Building Process
Preparation
Design and build the model
Verification
Calibration
Validation
Prediction / Explanation
Seminar: Modelling Societal Challenges
Prediction
Now you are confident that the model is reliable, it can be used to make predictions.
Feed new data, and see what it does.
If the model is deterministic, one run will be much like another.
If the model is stochastic (i.e. includes some randomisation), you’ll need to run in multiple times as you will always get a different answer.
Explanation
Models aren’t just about prediction.
They can be about experimenting with ideas.
They can be about testing ideas/logic of theories.
They can be to hold ideas.
Summary
Preparation
Design and build the model
Verification
Calibration
Validation
Prediction / Explanation
Seminar: Modelling Societal Challenges