Modelling elements and methods. Building a simulation model Step 1)Get acquinted with the system...
-
Upload
carlton-gasson -
Category
Documents
-
view
218 -
download
1
Transcript of Modelling elements and methods. Building a simulation model Step 1)Get acquinted with the system...
![Page 1: Modelling elements and methods. Building a simulation model Step 1)Get acquinted with the system Step 2)Define the dynamic problem Step 3)Construct a.](https://reader030.fdocuments.us/reader030/viewer/2022032701/56649c7f5503460f94935ead/html5/thumbnails/1.jpg)
Modelling elements and methods
![Page 2: Modelling elements and methods. Building a simulation model Step 1)Get acquinted with the system Step 2)Define the dynamic problem Step 3)Construct a.](https://reader030.fdocuments.us/reader030/viewer/2022032701/56649c7f5503460f94935ead/html5/thumbnails/2.jpg)
Building a simulation model
Step 1) Get acquinted with the system
Step 2) Define the dynamic problem
Step 3) Construct a conceptual modell
Step 4) Define the causal loops or casual relationships
Step 5) Express the relationships mathematically in equations
Step 6) Get values of parameters
Step 7) Implement the mathematical relationships in a computer program
Step 8) Run the model
Step 9) Judge if the results are reasonable by comparing to callibration data
or ”common sence”
Step 10) Sensitivity analysis
Step 11) Repeat 3-10 to improve the model and parameter estimates
Step 12) Validate the model by independent data
Step 13) Apply the model
![Page 3: Modelling elements and methods. Building a simulation model Step 1)Get acquinted with the system Step 2)Define the dynamic problem Step 3)Construct a.](https://reader030.fdocuments.us/reader030/viewer/2022032701/56649c7f5503460f94935ead/html5/thumbnails/3.jpg)
Fundamental dynamic patterns
Step 1) Get acquinted with the
system
Step 2) Define the dynamic
problem
![Page 4: Modelling elements and methods. Building a simulation model Step 1)Get acquinted with the system Step 2)Define the dynamic problem Step 3)Construct a.](https://reader030.fdocuments.us/reader030/viewer/2022032701/56649c7f5503460f94935ead/html5/thumbnails/4.jpg)
0
10
20
30
40
50
60
0 5 10 15 20 25 30
rPdtdP / rtePtP 0)(
Po = 5
r = 0.1
Exponential growth
![Page 5: Modelling elements and methods. Building a simulation model Step 1)Get acquinted with the system Step 2)Define the dynamic problem Step 3)Construct a.](https://reader030.fdocuments.us/reader030/viewer/2022032701/56649c7f5503460f94935ead/html5/thumbnails/5.jpg)
0
20
40
60
80
100
120
0 5 10 15 20 25 30
Po = 100
r = -0.1
Exponential decay
![Page 6: Modelling elements and methods. Building a simulation model Step 1)Get acquinted with the system Step 2)Define the dynamic problem Step 3)Construct a.](https://reader030.fdocuments.us/reader030/viewer/2022032701/56649c7f5503460f94935ead/html5/thumbnails/6.jpg)
0
10
20
30
40
50
60
0 10 20 30 40 50 60
S-formad tillväxt
Carrying capacity
S-shaped growth
Overshot
𝑟=𝑟𝑝𝑜𝑡𝐶𝐶−𝑃𝐶𝐶
![Page 7: Modelling elements and methods. Building a simulation model Step 1)Get acquinted with the system Step 2)Define the dynamic problem Step 3)Construct a.](https://reader030.fdocuments.us/reader030/viewer/2022032701/56649c7f5503460f94935ead/html5/thumbnails/7.jpg)
0
5
10
15
20
25
0 50 100 150
Oscillerande tillväxt
Störning
Jämvikt (equilibrium)
Oscillation
Disturbance
Equilibrium
![Page 8: Modelling elements and methods. Building a simulation model Step 1)Get acquinted with the system Step 2)Define the dynamic problem Step 3)Construct a.](https://reader030.fdocuments.us/reader030/viewer/2022032701/56649c7f5503460f94935ead/html5/thumbnails/8.jpg)
Equilibrium
?
![Page 9: Modelling elements and methods. Building a simulation model Step 1)Get acquinted with the system Step 2)Define the dynamic problem Step 3)Construct a.](https://reader030.fdocuments.us/reader030/viewer/2022032701/56649c7f5503460f94935ead/html5/thumbnails/9.jpg)
Chaos theory
describes complex motion and the dynamics of sensitive systems.
Chaotic systems are mathematically deterministic but nearly impossible to predict: Unpredicted courses of events
Discovered by Edward Lorenz in 1961 (Butterfly Effect):Weather forecast based on previous calculations and giving not equal precision data.
Chaos theory
http://www.mathjmendl.org/chaos/
Chaos
![Page 10: Modelling elements and methods. Building a simulation model Step 1)Get acquinted with the system Step 2)Define the dynamic problem Step 3)Construct a.](https://reader030.fdocuments.us/reader030/viewer/2022032701/56649c7f5503460f94935ead/html5/thumbnails/10.jpg)
Step 3) Construct a conceptual
modell
-stock and flow diagram• Identify stocks and flows• Connect the stocks by flow• Identify other elements (variables, parameters or
constants) that affect the flows• Connect all elements with arrows for the direction of
dependency
• For each element that has incoming arrows there has to be an equation
• Units for stocks and flows have to be consistent, eg indivuals – individuals per year or g m-2 – g m-2 s-1
StockFlow Other elements
Connector for direction
of dependency
![Page 11: Modelling elements and methods. Building a simulation model Step 1)Get acquinted with the system Step 2)Define the dynamic problem Step 3)Construct a.](https://reader030.fdocuments.us/reader030/viewer/2022032701/56649c7f5503460f94935ead/html5/thumbnails/11.jpg)
Step 3) Construct a conceptual
modellExample bird population
Bird population
Births
Carrying capacity
DeathsDeath rate
Birth rate
Potential birth rate
![Page 12: Modelling elements and methods. Building a simulation model Step 1)Get acquinted with the system Step 2)Define the dynamic problem Step 3)Construct a.](https://reader030.fdocuments.us/reader030/viewer/2022032701/56649c7f5503460f94935ead/html5/thumbnails/12.jpg)
Causal Loop Diagram (CLD):
A simplified conseptual model where all elements of the model are connected with arrows for dependency
- A simplified understanding of a complex problem- A common language to convey the understanding- A way of explaining cause and effect relationships- Explanation of underlying feedback systems- A help for understanding the overall system behaviour
Step 4) Define the causal loops or casual relationships
![Page 13: Modelling elements and methods. Building a simulation model Step 1)Get acquinted with the system Step 2)Define the dynamic problem Step 3)Construct a.](https://reader030.fdocuments.us/reader030/viewer/2022032701/56649c7f5503460f94935ead/html5/thumbnails/13.jpg)
Conceptual modelling: causal loops diagrams (CLD)
x y
+
The lower value of x – the lower value of yThe lower value of y – the lower value of x
Negative feedback:
-or x y
+
-
x y+
+
x y-
-
The higher value of x– the higher value of yThe higher value of y– the lower value of x
The higher value of x– the lower value of yThe higher value of y– the higher value of x
The higher value of x– the higher value of yThe higher value of y– the higher value of x
Positive feedback:
An odd number if negative dependcies in a loop means negative feedback
![Page 14: Modelling elements and methods. Building a simulation model Step 1)Get acquinted with the system Step 2)Define the dynamic problem Step 3)Construct a.](https://reader030.fdocuments.us/reader030/viewer/2022032701/56649c7f5503460f94935ead/html5/thumbnails/14.jpg)
Example bird population
Carrying capacity
Death rate
Birth rate
Potential birth rate
Bird population
Deaths
Births
(-)
-
-+
+
++
+
+
+
(-)(+)
![Page 15: Modelling elements and methods. Building a simulation model Step 1)Get acquinted with the system Step 2)Define the dynamic problem Step 3)Construct a.](https://reader030.fdocuments.us/reader030/viewer/2022032701/56649c7f5503460f94935ead/html5/thumbnails/15.jpg)
![Page 16: Modelling elements and methods. Building a simulation model Step 1)Get acquinted with the system Step 2)Define the dynamic problem Step 3)Construct a.](https://reader030.fdocuments.us/reader030/viewer/2022032701/56649c7f5503460f94935ead/html5/thumbnails/16.jpg)
Some problems in the conceptual modelling phase:
- What is relevant for the model? Sort out essentials- At what level do we simulate: micro or macro level- Static and dynamic factors ?- What are the boundaries of the system?- Time horizon ?
![Page 17: Modelling elements and methods. Building a simulation model Step 1)Get acquinted with the system Step 2)Define the dynamic problem Step 3)Construct a.](https://reader030.fdocuments.us/reader030/viewer/2022032701/56649c7f5503460f94935ead/html5/thumbnails/17.jpg)
Step 5) Express the relationships mathematically in equations
Determine what type of model you will make- functional or mechanistic
Use ”standard” equations if possible
Analyse relationships with a curve fitting tool
![Page 18: Modelling elements and methods. Building a simulation model Step 1)Get acquinted with the system Step 2)Define the dynamic problem Step 3)Construct a.](https://reader030.fdocuments.us/reader030/viewer/2022032701/56649c7f5503460f94935ead/html5/thumbnails/18.jpg)
Dynamic models: many functions are differential equations
Biological systems: most of the differential equations can not be solved to analytical functions
Thanks to computers: numerical approximations
But: Numerical method is an approximation to the true solution
![Page 19: Modelling elements and methods. Building a simulation model Step 1)Get acquinted with the system Step 2)Define the dynamic problem Step 3)Construct a.](https://reader030.fdocuments.us/reader030/viewer/2022032701/56649c7f5503460f94935ead/html5/thumbnails/19.jpg)
Dynamic models change of state variables with time
Xt : status of X at time tX/ t : rate of changeXt+1=Xt + X
Continuous model in time: dt is infinitive small
Discrete model: t is a period of time
![Page 20: Modelling elements and methods. Building a simulation model Step 1)Get acquinted with the system Step 2)Define the dynamic problem Step 3)Construct a.](https://reader030.fdocuments.us/reader030/viewer/2022032701/56649c7f5503460f94935ead/html5/thumbnails/20.jpg)
Numeric and analytical solutions
rteNN 0
r is the net growth rate
Nt+1= Nt + N
N = r Nt
0
50
100
150
200
250
300
350
400
0 5 10 15 20 25 30
Population
Analytical
N0 = 100r = 5%Δ = 1
![Page 21: Modelling elements and methods. Building a simulation model Step 1)Get acquinted with the system Step 2)Define the dynamic problem Step 3)Construct a.](https://reader030.fdocuments.us/reader030/viewer/2022032701/56649c7f5503460f94935ead/html5/thumbnails/21.jpg)
Example bird population – numerical solution
Bird population (P)
Births (B)
Carrying capacity (CC)
Deaths (D)Death rate (rd)
Birth rate (rb)
Potential birth rate (rpot)
For each element that has incoming arrows there has to be an equation
𝑟𝑏=𝑟 𝑝𝑜𝑡𝐶𝐶−𝑃𝐶𝐶
𝐵=𝑟𝑏𝑃
𝑃 𝑡+1=𝑃+𝐵−𝐷
𝐷=𝑟 𝑑𝑃
![Page 22: Modelling elements and methods. Building a simulation model Step 1)Get acquinted with the system Step 2)Define the dynamic problem Step 3)Construct a.](https://reader030.fdocuments.us/reader030/viewer/2022032701/56649c7f5503460f94935ead/html5/thumbnails/22.jpg)
Step 6) Get values of parameters
Parameter estimation from
Physical laws
Physical based experiments/observations
General description of ecological processes
Best guess of an expert
Your own intuition
From literature
Level o
f trust
![Page 23: Modelling elements and methods. Building a simulation model Step 1)Get acquinted with the system Step 2)Define the dynamic problem Step 3)Construct a.](https://reader030.fdocuments.us/reader030/viewer/2022032701/56649c7f5503460f94935ead/html5/thumbnails/23.jpg)
Now we have a solution on paper:Next step is writing the model to a computer program
Computer modelling – programming
’Telling’ a computer what to do
Compiling = ’translating’Debugging = finding/correcting errors in the code
What you need:
Discipline and attention to detailGood memoryAbstract thinking
With a good conceptual model and some general structure it is rather ”easy”
Step 7) Implement the mathematical relationships in a computer
program
![Page 24: Modelling elements and methods. Building a simulation model Step 1)Get acquinted with the system Step 2)Define the dynamic problem Step 3)Construct a.](https://reader030.fdocuments.us/reader030/viewer/2022032701/56649c7f5503460f94935ead/html5/thumbnails/24.jpg)
Computer ’languages’ : ’telling a computer what to do’:
BasicFortran (1950), Fortran IV (1966), Fortran77, Fortran90,
Visual Fortran (Formula translation)Pascal, DelphiC, C++Java, J, J++Phyton
Matlab
StellaSimulinkSIMILE
ExcelSQL
Programming and computer implementation
![Page 25: Modelling elements and methods. Building a simulation model Step 1)Get acquinted with the system Step 2)Define the dynamic problem Step 3)Construct a.](https://reader030.fdocuments.us/reader030/viewer/2022032701/56649c7f5503460f94935ead/html5/thumbnails/25.jpg)
Computer implementation
= all steps neccessary to translate a mathematical description of a model into a computer program and should work in a useful way
- is rather time consuming and thus ’expensive’
- should produce a flexible program: easy to adapt
- should produce a ’user-friendly’ program: both for user of the model as user of the source code
![Page 26: Modelling elements and methods. Building a simulation model Step 1)Get acquinted with the system Step 2)Define the dynamic problem Step 3)Construct a.](https://reader030.fdocuments.us/reader030/viewer/2022032701/56649c7f5503460f94935ead/html5/thumbnails/26.jpg)
General structure for a dynamical model
• Get input parameter values
• Get start values of stocks and other state variables
• Loop in which the timestep is increased by one for each cycle
• Read driving variables and apply the equation of the processes to get the flows of the model
• Update the stocks for time+1
• End of loop
![Page 27: Modelling elements and methods. Building a simulation model Step 1)Get acquinted with the system Step 2)Define the dynamic problem Step 3)Construct a.](https://reader030.fdocuments.us/reader030/viewer/2022032701/56649c7f5503460f94935ead/html5/thumbnails/27.jpg)
Step 8) Run the model
![Page 28: Modelling elements and methods. Building a simulation model Step 1)Get acquinted with the system Step 2)Define the dynamic problem Step 3)Construct a.](https://reader030.fdocuments.us/reader030/viewer/2022032701/56649c7f5503460f94935ead/html5/thumbnails/28.jpg)
Step 9) Judge if the results are reasonable by comparing to
callibration data or ”common sence”
Reasons for ”poor” results
Bugs in the computer implementation
Wrong understanding of the dynamical problem
Using an application outside the model´s development conditions
Normal need for parameter callibration
![Page 29: Modelling elements and methods. Building a simulation model Step 1)Get acquinted with the system Step 2)Define the dynamic problem Step 3)Construct a.](https://reader030.fdocuments.us/reader030/viewer/2022032701/56649c7f5503460f94935ead/html5/thumbnails/29.jpg)
Varying parameters and/or variables independently
This may highlight the weakness in the model and indicate which parameters or variables need much attention and high accuracy
A well known technique: Monte Carlo simulations
- A random value is selected for each of the tasks/parameters, based on a range (pseudo random)- The model is applied repeately, each time with another random value - A typical Monte Carlo simulation calculates the model hundreds orthousands of times.
Book: 3.4.2 – 3.5.3
Step 10) Sensitivity analysis
![Page 30: Modelling elements and methods. Building a simulation model Step 1)Get acquinted with the system Step 2)Define the dynamic problem Step 3)Construct a.](https://reader030.fdocuments.us/reader030/viewer/2022032701/56649c7f5503460f94935ead/html5/thumbnails/30.jpg)
If needed go back to improve the
modelStep 1) Get acquinted with the system
Step 2) Define the dynamic problem
Step 3) Construct a conceptual modell
Step 4) Define the causal loops or casual relationships
Step 5) Express the relationships mathematically in equations
Step 6) Get values of parameters
Step 7) Implement the mathematical relationships in a computer program
Step 8) Run the model
Step 9) Judge if the results are reasonable by comparing to callibration data
or ”common sence”
Step 10) Sensitivity analysis
Step 11) Repeat 3-10 to improve the model and parameter estimates
Step 12) Validate the model by independent data
Step 13) Apply the model to new situations
![Page 31: Modelling elements and methods. Building a simulation model Step 1)Get acquinted with the system Step 2)Define the dynamic problem Step 3)Construct a.](https://reader030.fdocuments.us/reader030/viewer/2022032701/56649c7f5503460f94935ead/html5/thumbnails/31.jpg)
Step 12) Validate the model by independent data - to assure that the model is correct
Simulation models are simplifications of the real world. If you leave out (unimportant) factors and only describe the system by capturing the important factors, you have to prove that the model is still usefull
Verification: concerned with building the model right
Validation: concerned with building the right model.’Validation is the determination as to whether model behavior departs from real system behavior sufficiently far to jeopardize model objectives’
![Page 32: Modelling elements and methods. Building a simulation model Step 1)Get acquinted with the system Step 2)Define the dynamic problem Step 3)Construct a.](https://reader030.fdocuments.us/reader030/viewer/2022032701/56649c7f5503460f94935ead/html5/thumbnails/32.jpg)
Validation:
Compare modelled and measured values by ’goodness-of-fit’
Try to use standard statistical tests !- Comparing qualitive similarity is often used, but be careful!
![Page 33: Modelling elements and methods. Building a simulation model Step 1)Get acquinted with the system Step 2)Define the dynamic problem Step 3)Construct a.](https://reader030.fdocuments.us/reader030/viewer/2022032701/56649c7f5503460f94935ead/html5/thumbnails/33.jpg)
Accuracy of measurements
Coincidence: Difference between validation and model data
Associotion: Similarity in trends between validation and model data
High coincidenceand association
1:1 line 1:1 line
High coincidencelow association
1:1 line
Low coincidencehigh association
![Page 34: Modelling elements and methods. Building a simulation model Step 1)Get acquinted with the system Step 2)Define the dynamic problem Step 3)Construct a.](https://reader030.fdocuments.us/reader030/viewer/2022032701/56649c7f5503460f94935ead/html5/thumbnails/34.jpg)
Measures of coincidence
Book section 3.3.1
𝑅𝑜𝑜𝑡𝑚𝑒𝑎𝑛𝑠𝑞𝑢𝑎𝑟𝑒𝑑𝑑𝑒𝑣𝑖𝑎𝑡𝑖𝑜𝑛=√∑𝑖=1𝑛
(𝑂𝑖−𝑃 𝑖)2
𝑛
Student’s t test
𝑅𝑜𝑜𝑡𝑚𝑒𝑎𝑛𝑠𝑞𝑢𝑎𝑟𝑒𝑑𝑒𝑟𝑟𝑜𝑟 (%)=100𝑂 √∑𝑖=1
𝑛
(𝑂 𝑖− 𝑃 𝑖)2
𝑛
𝐵𝑖𝑎𝑠 :𝑅𝑒𝑙𝑎𝑡𝑖𝑣𝑒𝑒𝑟𝑟𝑜𝑟 (%)=100𝑂
∑𝑖=1
𝑛
(𝑂𝑖− 𝑃 𝑖)
𝑛
Observations (O), Modelled value (P)
![Page 35: Modelling elements and methods. Building a simulation model Step 1)Get acquinted with the system Step 2)Define the dynamic problem Step 3)Construct a.](https://reader030.fdocuments.us/reader030/viewer/2022032701/56649c7f5503460f94935ead/html5/thumbnails/35.jpg)
Measures of association
Regression analysis
Correlation coefficient, r
F-statistics
Plotting of residuals
Book section 3.3.1
![Page 36: Modelling elements and methods. Building a simulation model Step 1)Get acquinted with the system Step 2)Define the dynamic problem Step 3)Construct a.](https://reader030.fdocuments.us/reader030/viewer/2022032701/56649c7f5503460f94935ead/html5/thumbnails/36.jpg)
Accuracy is often used as the complement of error:
95% accuracy implies 5% error
But accuracy refers also often to the fidelity (= trohet) with which the model represents the processes and relationsships
![Page 37: Modelling elements and methods. Building a simulation model Step 1)Get acquinted with the system Step 2)Define the dynamic problem Step 3)Construct a.](https://reader030.fdocuments.us/reader030/viewer/2022032701/56649c7f5503460f94935ead/html5/thumbnails/37.jpg)
Sometimes it is not possible to validate a model
Then there are other options:
- perform a sensitivity analysis- compare with other validated models or
compartment of other models
![Page 38: Modelling elements and methods. Building a simulation model Step 1)Get acquinted with the system Step 2)Define the dynamic problem Step 3)Construct a.](https://reader030.fdocuments.us/reader030/viewer/2022032701/56649c7f5503460f94935ead/html5/thumbnails/38.jpg)
to new situationsInterpolation and extrapolation in time and spaceTest of new policies, methods etc
Pack the model in a way that is suitable for the end user
-Who is the end user-What will the model do?-How can the application guard against input error-How can the application guard agains misinterpretation of the results-What documentation is needed
Step 13) Apply the model
![Page 39: Modelling elements and methods. Building a simulation model Step 1)Get acquinted with the system Step 2)Define the dynamic problem Step 3)Construct a.](https://reader030.fdocuments.us/reader030/viewer/2022032701/56649c7f5503460f94935ead/html5/thumbnails/39.jpg)
Problem formulationConceptual model constructionSystem boundariesCLDVariables, parameters and settingsReference behavior
- Model constructionFrom conceptional model to quantitative modelParameterization/VerificationSensitivity and robustness testingModel validation
- Model useScenario analysisBackcasting and forecastingApplication/Use..
Steps in modelling Book: chapter 2
![Page 40: Modelling elements and methods. Building a simulation model Step 1)Get acquinted with the system Step 2)Define the dynamic problem Step 3)Construct a.](https://reader030.fdocuments.us/reader030/viewer/2022032701/56649c7f5503460f94935ead/html5/thumbnails/40.jpg)
Think about a house and its heating system. Assume a simple dynamical model that consists of these variables: - Temperature inside the house - Outdoor temperature - Target temperature set at the thermostats
of the radiators - Energy content of the house - Heat production from the radiators - Heat loss to the surrounding Put these variables together in a conceptual model diagram and a causal loop diagram and explain what the diagrams tell you.
Exercise in conceptual model/causual loop construction from 2011’s exam