SlideShare a Scribd company logo
1 of 91
Introduction to Computing
for Complex Systems
(Lab Sessions 7 + 8)
Goals For Today
Simple Birth Rates Revisited
Automation III ---
The Behavior Space
Multiple Variable Models
Multiple Variable Models
•  We’ve seen that Netlogo provides several
ways to output data and run the model so
that we can get statistical information.
Multiple Variable Models
•  What if there are several variables in a
model? Will this increase the time it would
take to test the parameter space?
•  Open the Simple Birth rate model
•  There are three variables, carrying
capacity, blue fertility rate, and red fertility
rate.
Simple Birth Rates
•  The Blues and Reds reproduce according
to their fertility rate and the entire
population is limited by the carrying
capacity.
Simple Birth Rates
•  There is already an output window on the
bottom of the screen that will show how
long it took for one of the colors to go
extinct.
•  Use the “run experiment” button to start
the model. Run the model a few times,
varying the fertility rates.
Simple Birth Rates
Simple Birth Rates
•  The output is relatively simple, but it would
probably take a long time to move through
each combination of blue and red fertility
rates, especially if you wanted to run the
model more than once for each
combination.
•  We could also vary the carrying capacity,
which would also increase the amount of
time it would take to run these models by
hand.
Simple Birth Rates
Automated Analysis
of Model Runs
Part III
T-X
The Behavior Space
What is BehaviorSpace?
•  “BehaviorSpace is a software tool
integrated with NetLogo that allows you to
perform experiments with models.”
•  http://ccl.northwestern.edu/netlogo/docs/
behaviorspace.html
What is BehaviorSpace?
•  “Behavior Space runs a model many
times, systematically varying the model's
settings and recording the results of each
model run. This process is sometimes
called "parameter sweeping”
What is BehaviorSpace?
•  It lets you explore the model's "space" of
possible behaviors and determine which
combinations of settings cause the
behaviors of interest.”
Why Behavior Space is Useful
•  BehaviorSpace automates the movement
of the model runs through each
combination of variables, allowing us to
move quickly across the parameters we
wish to test.
Why Behavior Space is Useful
•  It also outputs the information into a .csv
file so that we can use statistical software
to analyze the data.
•  So if you have a lot of model runs, multiple
variables, or want to analyze model data
with statistical software, then
BehaviorSpace may be of use to you!
Why Behavior Space is Useful
•  Let’s see how BehaviorSpace works.
•  Go to the Tools scroll down menu and
click BehaviorSpace.
Why Behavior Space
is Useful
Working with the
Behavior Space
•  Now you should have the experiment
page.
•  You will see the options New, Edit,
Duplicate, Delete, and Run.
•  The New button creates a new
experiment, and brings you to the page
where you will be able to specify the
parameters of the model you wish to test
and how many times you wish the model
to run per combination.
Working with the
Behavior Space
•  The Edit button allows you to edit any
experiment that is saved in the
BehaviorSpace experiment list.
Working with the
Behavior Space
•  If you save your Netlogo program, it will
also save your experiments, so you do not
have to write out the parameters you wish
to test each time you turn off Netlogo.
Working with the
Behavior Space
•  The Duplicate button allows you to create
another copy of an experiment that will be
saved in the experiments box of
BehaviorSpace.
Working with the
Behavior Space
•  The Delete button permanently deletes an
experiment from the experiments box.
Working with the
Behavior Space
•  The Run button begins the process of
running your experiment and outputting
the data into a file.
Working with the
Behavior Space
•  Let’s go to the experimental setup
•  Click the ‘New’ button.
•  You should now see a screen that will allow
you to detail the variables you wish to test
and how the program should run the
experiment.
Experiment Setup
•  The Experimental setup screen has a title
box, a variables box, an area that allows
you to control how many times the model
should run per combination, and boxes
that specify any commands you wish the
program to run when the setup or go
button is pressed.
Setting up an Experiment
•  There are also boxes that allow you to
detail any conditions that should stop the
running of the program and any
commands that should go into effect at the
end of the model run.
•  It also includes the ability to determine a
limit to how many steps the model will run
for.
Setting up an Experiment
•  Let’s take an in depth look at each of
these features.
•  I will give the title “Experiment #1: Blue &
Red Fertility [0 1 10]” to my experiment
and move on to the variables box.
Setting up an Experiment
Variables Box
•  The variables box includes variables that
come from sliders, switches, and choosers
(draw down menus) on the interface. It can
also include variables found within the
program code.
Variables Box
•  The user is able to specify the boundaries
of the parameter space they wish
BehaviorSpace to “sweep” through. This is
done by writing in the variables and the
values the user wishes to test.
Variables Box
•  BehaviorSpace keeps variables higher up
in the box constant as it cycles through the
lower variables’ value settings, only
moving the higher variables to their next
setting after finishing a complete cycle
through the possible alternatives in the
variables below it.
Variables Box
•  If the runs are taking place in parallel, the
output may not exactly mirror this process.
•  Regardless of the case, no matter where
you locate a variable, the entire parameter
space for all the variables you define in the
box will be tested.
How to’s
•  Assigning a value to a variable:
•  Ex: ["blue-fertility" 10] This will give the
variable blue-fertility the value of 10 in all
of the model runs.
How to’s
•  Assigning two values to a variable (listing
values)
•  Ex: ["blue-fertility" 1 2] gives the variable
blue-fertility the value of 1 and runs
through all other combinations (if there are
other variables), and then moves on to 2
and runs through all the other possible
combinations with red-fertility and carrying
capacity.
How to’s
•  Assigning multiple values to a variable
(listing values)
•  Ex: ["blue-fertility" 1 2 4 7] Runs through 1
and 2 and also does 4 and then 7.
How to’s
•  Using an interval to assign multiple values
•  The interval must be inside a set of
brackets
How to’s
•  Ex: ["blue-fertility" [1 1 3]] This example
runs through the values 1 through 3,
moving at an increment of 1. Therefore, it
will assign the value 1, 2, and 3 to the
variable as it moves through the different
combinations.
How to’s
•  When assigning values to a variable with an
interval, be careful to only include the
numbers you wish to test. The interval is
inclusive and will test all the numbers you
specify.
•  Ex: ["blue-fertility" [0 1 4]] This will give the variable the
values 0, 1, 2, 3, and 4.
How to’s
•  Behavior Space is entirely inclusive of the
specified range
•  In other words, Inclusive will execute all
Parameter Combos in the Range
•  Repetitions: The user can select how
many times Netlogo should run a given
combination of variables
How to’s
•  Measure runs using these reporters: This
is what the model will measure and output
in the data.
•  Measure runs at every step: Checking this
means the data will include output for each
step in the model
How to’s
•  Setup Commands: The user can include
commands that will be executed in
addition to calling the ‘to setup’ procedure
when the setup button is hit.
How to’s
•  Go Commands: The user can include
commands that will be executed in
addition to calling the ‘to go’ procedure
when the go button is hit.
How to’s
•  Stop Conditions: This box allows the user
to specify conditions that would end the
model run if they were met.
How to’s
•  While there may be many reasons a
modeler would want to do this, one reason
could be to prevent illogical or undesirable
combinations of variables from occurring
while the program sweeps through
parameter space.
How to’s
•  Final Commands: The user can specify
commands to run at the end of a model
run.
How to’s
•  Time Limit: The user can specify how
many ticks a given combination of
variables will be allowed to run before
stopping.
•  In certain instances model run will go on
forever … need to have a time limit in that
case
How to’s
Simple Birth Rates in the
Behavior Space
•  OK, now let’s run the model. We will put a
time limit of 100 ticks for each model run.
Enter
these
Values
As
shown
Running BehaviorSpace
•  Select the experiment we just created and
hit “Run”.
•  You will now be given the option to select
if your data will be put in a spreadsheet or
in a table.
•  The data file will be saved as a comma
separated values (.csv) file.
Parallelization
•  You will also be given the option to choose
how many experiments should run in
parallel.
•  By default, Netlogo will run one
experiment for each core processor in
your computer.
Parallelization
•  Only one experiment will be shown on
screen, the others will be run in the
background.
•  You should individually test what your
computer can handle, since many parallel
runs can slow down your computer.
•  After making those choices the model will
begin to run.
•  You will have the option to turn off viewing
the plot and updating the visualization,
plots, and monitors. This will help increase
the speed of the runs.
Increasing the Speed
•  You can also use the speed slider, which
determines how
many times the image should be updated.
Increasing the Speed
Output
•  Spreadsheet data
•  At the top, the data sheet will include the
model and experiment name, and the size
of the world.
•  The commas will allow you to demarcate
where the columns should be in the
program you will use to analyze the data.
Output
•  Tables (might be easier to work with in outside
statistical software)
•  At the top, the data sheet will include the
model and experiment name, and the size of
the world.
•  The commas will allow you to demarcate
where the columns should be in the program
you will use to analyze the data.
•  You will probably want to edit the file
before sorting it. The information at the top
can be copied and pasted elsewhere if you
need it.
•  The actual output from the model runs will
be below.
Output
•  Once you have edited your file, you will be
able to sort the data as you wish.
Example in Excel Data --> TexttoColumns
Then select delimited and by comma
•  As we saw before, the output may not be in
the order, since many runs may have been
running in parallel.
Output
•  Once your data is in a useful format, you can
begin to analyze it!
Output
•  We have seen that BehaviorSpace can
run through the parameter space much
faster than having a human go by hand
through all the different variable
combinations.
In Summary
•  The previous data file took a little more
than 5 minutes to create and output.
In Summary
•  But it moved in increments of 1.0 and the
carrying capacity remained constant
across the different combinations. Most
importantly, the model was limited to 100
ticks, which may not be enough time to
witness the dynamics the model is
supposed to display.
There are Limitations
•  By adding these other features we will see
how quickly the length of time required to
run the models would grow if we added
smaller increments of movement across
the parameter space and the extra
carrying capacity variable.
There are Limitations
Just
40,814,201
Runs to Go
Limitations
•  40,814,201 runs is a lot
•  Let’s assume (probably incorrectly) that it
takes 1 sec / run (Including all the steps in
one run of the model)
•  40814201 / 60 secs / 60 mins / 24 hours /
7 days = 67.484 weeks, 1.298 years
•  That’s not including parallel runs, but even
if you could run 100 in parallel, it would still
take a considerable amount of time
•  Thus, full parameter sweep Probably Not
feasible in Netlogo
Limitations
Limitations
•  One option would be to limit the parameter
space to an area of specific interest.
•  For example, the dynamics of two
competing groups with varying fertility
rates is not particularly interesting when
the carrying capacity is zero from the
outset.
Limitations
•  Netlogo was mainly designed for
visualizations and as an introductory
language.
•  If you write good modular code, you will be
able to convert your model into another
language that can perform massively
parallel runs more efficiently than Netlogo
(e.g. Python or C++)

More Related Content

Similar to ICPSR - Complex Systems Models in the Social Sciences - Lab Session 7, 8 - Professor Daniel Martin Katz

Variables Arguments and control flow_UiPath.ppt
Variables Arguments and control flow_UiPath.pptVariables Arguments and control flow_UiPath.ppt
Variables Arguments and control flow_UiPath.pptRohit Radhakrishnan
 
Effective Test Cases & Introduction to Hexawise
Effective Test Cases & Introduction to HexawiseEffective Test Cases & Introduction to Hexawise
Effective Test Cases & Introduction to HexawiseNilenth Selvaraja
 
Java Unit Test - JUnit
Java Unit Test - JUnitJava Unit Test - JUnit
Java Unit Test - JUnitAktuğ Urun
 
Problem-solving and design 1.pptx
Problem-solving and design 1.pptxProblem-solving and design 1.pptx
Problem-solving and design 1.pptxTadiwaMawere
 
Azure machine learning
Azure machine learningAzure machine learning
Azure machine learningSimone Caldaro
 
Performance tuning Grails applications
 Performance tuning Grails applications Performance tuning Grails applications
Performance tuning Grails applicationsGR8Conf
 
How to Win Machine Learning Competitions ?
How to Win Machine Learning Competitions ? How to Win Machine Learning Competitions ?
How to Win Machine Learning Competitions ? HackerEarth
 
Excel tips and tricks
Excel tips and tricksExcel tips and tricks
Excel tips and tricksRavi Sapariya
 
Introduction to STATA(2).pdf
Introduction to STATA(2).pdfIntroduction to STATA(2).pdf
Introduction to STATA(2).pdfYomif3
 
MACHINE LEARNING YEAR DL SECOND PART.pptx
MACHINE LEARNING YEAR DL SECOND PART.pptxMACHINE LEARNING YEAR DL SECOND PART.pptx
MACHINE LEARNING YEAR DL SECOND PART.pptxNAGARAJANS68
 
Unit Testng with PHP Unit - A Step by Step Training
Unit Testng with PHP Unit - A Step by Step TrainingUnit Testng with PHP Unit - A Step by Step Training
Unit Testng with PHP Unit - A Step by Step TrainingRam Awadh Prasad, PMP
 
Software engineering Testing technique,test case,test suit design
Software engineering Testing technique,test case,test suit designSoftware engineering Testing technique,test case,test suit design
Software engineering Testing technique,test case,test suit designMaitree Patel
 
Load Test Drupal Site Using JMeter and Amazon AWS
Load Test Drupal Site Using JMeter and Amazon AWSLoad Test Drupal Site Using JMeter and Amazon AWS
Load Test Drupal Site Using JMeter and Amazon AWSVladimir Ilic
 
Shift-Left Testing: QA in a DevOps World by David Laulusa
Shift-Left Testing: QA in a DevOps World by David LaulusaShift-Left Testing: QA in a DevOps World by David Laulusa
Shift-Left Testing: QA in a DevOps World by David LaulusaQA or the Highway
 
Hyperparameter Tuning
Hyperparameter TuningHyperparameter Tuning
Hyperparameter TuningJon Lederman
 
lean six sigma green belt cheat sheet.pdf
lean six sigma green belt cheat sheet.pdflean six sigma green belt cheat sheet.pdf
lean six sigma green belt cheat sheet.pdfNagaraju94925
 
Conditional Loops Python
Conditional Loops PythonConditional Loops Python
Conditional Loops Pythonprimeteacher32
 

Similar to ICPSR - Complex Systems Models in the Social Sciences - Lab Session 7, 8 - Professor Daniel Martin Katz (20)

mel705-15.ppt
mel705-15.pptmel705-15.ppt
mel705-15.ppt
 
Variables Arguments and control flow_UiPath.ppt
Variables Arguments and control flow_UiPath.pptVariables Arguments and control flow_UiPath.ppt
Variables Arguments and control flow_UiPath.ppt
 
Effective Test Cases & Introduction to Hexawise
Effective Test Cases & Introduction to HexawiseEffective Test Cases & Introduction to Hexawise
Effective Test Cases & Introduction to Hexawise
 
Java Unit Test - JUnit
Java Unit Test - JUnitJava Unit Test - JUnit
Java Unit Test - JUnit
 
Introduction to JUnit
Introduction to JUnitIntroduction to JUnit
Introduction to JUnit
 
Problem-solving and design 1.pptx
Problem-solving and design 1.pptxProblem-solving and design 1.pptx
Problem-solving and design 1.pptx
 
Azure machine learning
Azure machine learningAzure machine learning
Azure machine learning
 
Software Testing
Software Testing Software Testing
Software Testing
 
Performance tuning Grails applications
 Performance tuning Grails applications Performance tuning Grails applications
Performance tuning Grails applications
 
How to Win Machine Learning Competitions ?
How to Win Machine Learning Competitions ? How to Win Machine Learning Competitions ?
How to Win Machine Learning Competitions ?
 
Excel tips and tricks
Excel tips and tricksExcel tips and tricks
Excel tips and tricks
 
Introduction to STATA(2).pdf
Introduction to STATA(2).pdfIntroduction to STATA(2).pdf
Introduction to STATA(2).pdf
 
MACHINE LEARNING YEAR DL SECOND PART.pptx
MACHINE LEARNING YEAR DL SECOND PART.pptxMACHINE LEARNING YEAR DL SECOND PART.pptx
MACHINE LEARNING YEAR DL SECOND PART.pptx
 
Unit Testng with PHP Unit - A Step by Step Training
Unit Testng with PHP Unit - A Step by Step TrainingUnit Testng with PHP Unit - A Step by Step Training
Unit Testng with PHP Unit - A Step by Step Training
 
Software engineering Testing technique,test case,test suit design
Software engineering Testing technique,test case,test suit designSoftware engineering Testing technique,test case,test suit design
Software engineering Testing technique,test case,test suit design
 
Load Test Drupal Site Using JMeter and Amazon AWS
Load Test Drupal Site Using JMeter and Amazon AWSLoad Test Drupal Site Using JMeter and Amazon AWS
Load Test Drupal Site Using JMeter and Amazon AWS
 
Shift-Left Testing: QA in a DevOps World by David Laulusa
Shift-Left Testing: QA in a DevOps World by David LaulusaShift-Left Testing: QA in a DevOps World by David Laulusa
Shift-Left Testing: QA in a DevOps World by David Laulusa
 
Hyperparameter Tuning
Hyperparameter TuningHyperparameter Tuning
Hyperparameter Tuning
 
lean six sigma green belt cheat sheet.pdf
lean six sigma green belt cheat sheet.pdflean six sigma green belt cheat sheet.pdf
lean six sigma green belt cheat sheet.pdf
 
Conditional Loops Python
Conditional Loops PythonConditional Loops Python
Conditional Loops Python
 

More from Daniel Katz

Legal Analytics versus Empirical Legal Studies - or - Causal Inference vs Pre...
Legal Analytics versus Empirical Legal Studies - or - Causal Inference vs Pre...Legal Analytics versus Empirical Legal Studies - or - Causal Inference vs Pre...
Legal Analytics versus Empirical Legal Studies - or - Causal Inference vs Pre...Daniel Katz
 
Can Law Librarians Help Law Become More Data Driven ? An Open Question in Ne...
Can Law Librarians Help Law Become More Data Driven ?  An Open Question in Ne...Can Law Librarians Help Law Become More Data Driven ?  An Open Question in Ne...
Can Law Librarians Help Law Become More Data Driven ? An Open Question in Ne...Daniel Katz
 
Why We Are Open Sourcing ContraxSuite and Some Thoughts About Legal Tech and ...
Why We Are Open Sourcing ContraxSuite and Some Thoughts About Legal Tech and ...Why We Are Open Sourcing ContraxSuite and Some Thoughts About Legal Tech and ...
Why We Are Open Sourcing ContraxSuite and Some Thoughts About Legal Tech and ...Daniel Katz
 
Fin (Legal) Tech – Law’s Future from Finance’s Past (Some Thoughts About the ...
Fin (Legal) Tech – Law’s Future from Finance’s Past (Some Thoughts About the ...Fin (Legal) Tech – Law’s Future from Finance’s Past (Some Thoughts About the ...
Fin (Legal) Tech – Law’s Future from Finance’s Past (Some Thoughts About the ...Daniel Katz
 
Exploring the Physical Properties of Regulatory Ecosystems - Professors Danie...
Exploring the Physical Properties of Regulatory Ecosystems - Professors Danie...Exploring the Physical Properties of Regulatory Ecosystems - Professors Danie...
Exploring the Physical Properties of Regulatory Ecosystems - Professors Danie...Daniel Katz
 
Law + Complexity & Prediction: Toward a Characterization of Legal Systems as ...
Law + Complexity & Prediction: Toward a Characterization of Legal Systems as ...Law + Complexity & Prediction: Toward a Characterization of Legal Systems as ...
Law + Complexity & Prediction: Toward a Characterization of Legal Systems as ...Daniel Katz
 
Building Your Personal (Legal) Brand - Some Thoughts for Law Students and Oth...
Building Your Personal (Legal) Brand - Some Thoughts for Law Students and Oth...Building Your Personal (Legal) Brand - Some Thoughts for Law Students and Oth...
Building Your Personal (Legal) Brand - Some Thoughts for Law Students and Oth...Daniel Katz
 
Measure Twice, Cut Once - Solving the Legal Profession Biggest Challenges Tog...
Measure Twice, Cut Once - Solving the Legal Profession Biggest Challenges Tog...Measure Twice, Cut Once - Solving the Legal Profession Biggest Challenges Tog...
Measure Twice, Cut Once - Solving the Legal Profession Biggest Challenges Tog...Daniel Katz
 
Artificial Intelligence and Law - 
A Primer
Artificial Intelligence and Law - 
A Primer Artificial Intelligence and Law - 
A Primer
Artificial Intelligence and Law - 
A Primer Daniel Katz
 
Machine Learning as a Service: #MLaaS, Open Source and the Future of (Legal) ...
Machine Learning as a Service: #MLaaS, Open Source and the Future of (Legal) ...Machine Learning as a Service: #MLaaS, Open Source and the Future of (Legal) ...
Machine Learning as a Service: #MLaaS, Open Source and the Future of (Legal) ...Daniel Katz
 
Technology, Data and Computation Session @ The World Bank - Law, Justice, and...
Technology, Data and Computation Session @ The World Bank - Law, Justice, and...Technology, Data and Computation Session @ The World Bank - Law, Justice, and...
Technology, Data and Computation Session @ The World Bank - Law, Justice, and...Daniel Katz
 
LexPredict - Empowering the Future of Legal Decision Making
LexPredict - Empowering the Future of Legal Decision MakingLexPredict - Empowering the Future of Legal Decision Making
LexPredict - Empowering the Future of Legal Decision MakingDaniel Katz
 
{Law, Tech, Design, Delivery} Observations Regarding Innovation in the Legal ...
{Law, Tech, Design, Delivery} Observations Regarding Innovation in the Legal ...{Law, Tech, Design, Delivery} Observations Regarding Innovation in the Legal ...
{Law, Tech, Design, Delivery} Observations Regarding Innovation in the Legal ...Daniel Katz
 
Legal Analytics Course - Class 11 - Network Analysis and Law - Professors Dan...
Legal Analytics Course - Class 11 - Network Analysis and Law - Professors Dan...Legal Analytics Course - Class 11 - Network Analysis and Law - Professors Dan...
Legal Analytics Course - Class 11 - Network Analysis and Law - Professors Dan...Daniel Katz
 
Legal Analytics Course - Class 12 - Data Preprocessing using dPlyR - Professo...
Legal Analytics Course - Class 12 - Data Preprocessing using dPlyR - Professo...Legal Analytics Course - Class 12 - Data Preprocessing using dPlyR - Professo...
Legal Analytics Course - Class 12 - Data Preprocessing using dPlyR - Professo...Daniel Katz
 
Legal Analytics Course - Class 10 - Information Visualization + DataViz in R ...
Legal Analytics Course - Class 10 - Information Visualization + DataViz in R ...Legal Analytics Course - Class 10 - Information Visualization + DataViz in R ...
Legal Analytics Course - Class 10 - Information Visualization + DataViz in R ...Daniel Katz
 
Legal Analytics Course - Class #4 - Github and RMarkdown Tutorial - Professor...
Legal Analytics Course - Class #4 - Github and RMarkdown Tutorial - Professor...Legal Analytics Course - Class #4 - Github and RMarkdown Tutorial - Professor...
Legal Analytics Course - Class #4 - Github and RMarkdown Tutorial - Professor...Daniel Katz
 
Legal Analytics Course - Class 9 - Clustering Algorithms (K-Means & Hierarch...
Legal Analytics Course - Class 9 -  Clustering Algorithms (K-Means & Hierarch...Legal Analytics Course - Class 9 -  Clustering Algorithms (K-Means & Hierarch...
Legal Analytics Course - Class 9 - Clustering Algorithms (K-Means & Hierarch...Daniel Katz
 
Legal Analytics Course - Class 8 - Introduction to Random Forests and Ensembl...
Legal Analytics Course - Class 8 - Introduction to Random Forests and Ensembl...Legal Analytics Course - Class 8 - Introduction to Random Forests and Ensembl...
Legal Analytics Course - Class 8 - Introduction to Random Forests and Ensembl...Daniel Katz
 
Legal Analytics Course - Class 7 - Binary Classification with Decision Tree L...
Legal Analytics Course - Class 7 - Binary Classification with Decision Tree L...Legal Analytics Course - Class 7 - Binary Classification with Decision Tree L...
Legal Analytics Course - Class 7 - Binary Classification with Decision Tree L...Daniel Katz
 

More from Daniel Katz (20)

Legal Analytics versus Empirical Legal Studies - or - Causal Inference vs Pre...
Legal Analytics versus Empirical Legal Studies - or - Causal Inference vs Pre...Legal Analytics versus Empirical Legal Studies - or - Causal Inference vs Pre...
Legal Analytics versus Empirical Legal Studies - or - Causal Inference vs Pre...
 
Can Law Librarians Help Law Become More Data Driven ? An Open Question in Ne...
Can Law Librarians Help Law Become More Data Driven ?  An Open Question in Ne...Can Law Librarians Help Law Become More Data Driven ?  An Open Question in Ne...
Can Law Librarians Help Law Become More Data Driven ? An Open Question in Ne...
 
Why We Are Open Sourcing ContraxSuite and Some Thoughts About Legal Tech and ...
Why We Are Open Sourcing ContraxSuite and Some Thoughts About Legal Tech and ...Why We Are Open Sourcing ContraxSuite and Some Thoughts About Legal Tech and ...
Why We Are Open Sourcing ContraxSuite and Some Thoughts About Legal Tech and ...
 
Fin (Legal) Tech – Law’s Future from Finance’s Past (Some Thoughts About the ...
Fin (Legal) Tech – Law’s Future from Finance’s Past (Some Thoughts About the ...Fin (Legal) Tech – Law’s Future from Finance’s Past (Some Thoughts About the ...
Fin (Legal) Tech – Law’s Future from Finance’s Past (Some Thoughts About the ...
 
Exploring the Physical Properties of Regulatory Ecosystems - Professors Danie...
Exploring the Physical Properties of Regulatory Ecosystems - Professors Danie...Exploring the Physical Properties of Regulatory Ecosystems - Professors Danie...
Exploring the Physical Properties of Regulatory Ecosystems - Professors Danie...
 
Law + Complexity & Prediction: Toward a Characterization of Legal Systems as ...
Law + Complexity & Prediction: Toward a Characterization of Legal Systems as ...Law + Complexity & Prediction: Toward a Characterization of Legal Systems as ...
Law + Complexity & Prediction: Toward a Characterization of Legal Systems as ...
 
Building Your Personal (Legal) Brand - Some Thoughts for Law Students and Oth...
Building Your Personal (Legal) Brand - Some Thoughts for Law Students and Oth...Building Your Personal (Legal) Brand - Some Thoughts for Law Students and Oth...
Building Your Personal (Legal) Brand - Some Thoughts for Law Students and Oth...
 
Measure Twice, Cut Once - Solving the Legal Profession Biggest Challenges Tog...
Measure Twice, Cut Once - Solving the Legal Profession Biggest Challenges Tog...Measure Twice, Cut Once - Solving the Legal Profession Biggest Challenges Tog...
Measure Twice, Cut Once - Solving the Legal Profession Biggest Challenges Tog...
 
Artificial Intelligence and Law - 
A Primer
Artificial Intelligence and Law - 
A Primer Artificial Intelligence and Law - 
A Primer
Artificial Intelligence and Law - 
A Primer
 
Machine Learning as a Service: #MLaaS, Open Source and the Future of (Legal) ...
Machine Learning as a Service: #MLaaS, Open Source and the Future of (Legal) ...Machine Learning as a Service: #MLaaS, Open Source and the Future of (Legal) ...
Machine Learning as a Service: #MLaaS, Open Source and the Future of (Legal) ...
 
Technology, Data and Computation Session @ The World Bank - Law, Justice, and...
Technology, Data and Computation Session @ The World Bank - Law, Justice, and...Technology, Data and Computation Session @ The World Bank - Law, Justice, and...
Technology, Data and Computation Session @ The World Bank - Law, Justice, and...
 
LexPredict - Empowering the Future of Legal Decision Making
LexPredict - Empowering the Future of Legal Decision MakingLexPredict - Empowering the Future of Legal Decision Making
LexPredict - Empowering the Future of Legal Decision Making
 
{Law, Tech, Design, Delivery} Observations Regarding Innovation in the Legal ...
{Law, Tech, Design, Delivery} Observations Regarding Innovation in the Legal ...{Law, Tech, Design, Delivery} Observations Regarding Innovation in the Legal ...
{Law, Tech, Design, Delivery} Observations Regarding Innovation in the Legal ...
 
Legal Analytics Course - Class 11 - Network Analysis and Law - Professors Dan...
Legal Analytics Course - Class 11 - Network Analysis and Law - Professors Dan...Legal Analytics Course - Class 11 - Network Analysis and Law - Professors Dan...
Legal Analytics Course - Class 11 - Network Analysis and Law - Professors Dan...
 
Legal Analytics Course - Class 12 - Data Preprocessing using dPlyR - Professo...
Legal Analytics Course - Class 12 - Data Preprocessing using dPlyR - Professo...Legal Analytics Course - Class 12 - Data Preprocessing using dPlyR - Professo...
Legal Analytics Course - Class 12 - Data Preprocessing using dPlyR - Professo...
 
Legal Analytics Course - Class 10 - Information Visualization + DataViz in R ...
Legal Analytics Course - Class 10 - Information Visualization + DataViz in R ...Legal Analytics Course - Class 10 - Information Visualization + DataViz in R ...
Legal Analytics Course - Class 10 - Information Visualization + DataViz in R ...
 
Legal Analytics Course - Class #4 - Github and RMarkdown Tutorial - Professor...
Legal Analytics Course - Class #4 - Github and RMarkdown Tutorial - Professor...Legal Analytics Course - Class #4 - Github and RMarkdown Tutorial - Professor...
Legal Analytics Course - Class #4 - Github and RMarkdown Tutorial - Professor...
 
Legal Analytics Course - Class 9 - Clustering Algorithms (K-Means & Hierarch...
Legal Analytics Course - Class 9 -  Clustering Algorithms (K-Means & Hierarch...Legal Analytics Course - Class 9 -  Clustering Algorithms (K-Means & Hierarch...
Legal Analytics Course - Class 9 - Clustering Algorithms (K-Means & Hierarch...
 
Legal Analytics Course - Class 8 - Introduction to Random Forests and Ensembl...
Legal Analytics Course - Class 8 - Introduction to Random Forests and Ensembl...Legal Analytics Course - Class 8 - Introduction to Random Forests and Ensembl...
Legal Analytics Course - Class 8 - Introduction to Random Forests and Ensembl...
 
Legal Analytics Course - Class 7 - Binary Classification with Decision Tree L...
Legal Analytics Course - Class 7 - Binary Classification with Decision Tree L...Legal Analytics Course - Class 7 - Binary Classification with Decision Tree L...
Legal Analytics Course - Class 7 - Binary Classification with Decision Tree L...
 

Recently uploaded

4.16.24 Poverty and Precarity--Desmond.pptx
4.16.24 Poverty and Precarity--Desmond.pptx4.16.24 Poverty and Precarity--Desmond.pptx
4.16.24 Poverty and Precarity--Desmond.pptxmary850239
 
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITYISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITYKayeClaireEstoconing
 
Food processing presentation for bsc agriculture hons
Food processing presentation for bsc agriculture honsFood processing presentation for bsc agriculture hons
Food processing presentation for bsc agriculture honsManeerUddin
 
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...JhezDiaz1
 
Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...Seán Kennedy
 
4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptx4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptxmary850239
 
Music 9 - 4th quarter - Vocal Music of the Romantic Period.pptx
Music 9 - 4th quarter - Vocal Music of the Romantic Period.pptxMusic 9 - 4th quarter - Vocal Music of the Romantic Period.pptx
Music 9 - 4th quarter - Vocal Music of the Romantic Period.pptxleah joy valeriano
 
Full Stack Web Development Course for Beginners
Full Stack Web Development Course  for BeginnersFull Stack Web Development Course  for Beginners
Full Stack Web Development Course for BeginnersSabitha Banu
 
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)lakshayb543
 
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxiammrhaywood
 
ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...
ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...
ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...JojoEDelaCruz
 
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...Postal Advocate Inc.
 
ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4MiaBumagat1
 
Karra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptxKarra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptxAshokKarra1
 
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17Celine George
 
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfGrade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfJemuel Francisco
 
Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4JOYLYNSAMANIEGO
 
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATIONTHEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATIONHumphrey A Beña
 
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxINTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxHumphrey A Beña
 

Recently uploaded (20)

4.16.24 Poverty and Precarity--Desmond.pptx
4.16.24 Poverty and Precarity--Desmond.pptx4.16.24 Poverty and Precarity--Desmond.pptx
4.16.24 Poverty and Precarity--Desmond.pptx
 
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITYISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
 
Food processing presentation for bsc agriculture hons
Food processing presentation for bsc agriculture honsFood processing presentation for bsc agriculture hons
Food processing presentation for bsc agriculture hons
 
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
 
Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...
 
4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptx4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptx
 
Music 9 - 4th quarter - Vocal Music of the Romantic Period.pptx
Music 9 - 4th quarter - Vocal Music of the Romantic Period.pptxMusic 9 - 4th quarter - Vocal Music of the Romantic Period.pptx
Music 9 - 4th quarter - Vocal Music of the Romantic Period.pptx
 
Full Stack Web Development Course for Beginners
Full Stack Web Development Course  for BeginnersFull Stack Web Development Course  for Beginners
Full Stack Web Development Course for Beginners
 
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
 
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
 
ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...
ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...
ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...
 
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
 
ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4
 
Karra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptxKarra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptx
 
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptxYOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
 
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
 
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfGrade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
 
Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4
 
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATIONTHEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
 
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxINTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
 

ICPSR - Complex Systems Models in the Social Sciences - Lab Session 7, 8 - Professor Daniel Martin Katz

  • 1. Introduction to Computing for Complex Systems (Lab Sessions 7 + 8)
  • 2. Goals For Today Simple Birth Rates Revisited Automation III --- The Behavior Space Multiple Variable Models
  • 3. Multiple Variable Models •  We’ve seen that Netlogo provides several ways to output data and run the model so that we can get statistical information.
  • 4. Multiple Variable Models •  What if there are several variables in a model? Will this increase the time it would take to test the parameter space?
  • 5. •  Open the Simple Birth rate model •  There are three variables, carrying capacity, blue fertility rate, and red fertility rate. Simple Birth Rates
  • 6. •  The Blues and Reds reproduce according to their fertility rate and the entire population is limited by the carrying capacity. Simple Birth Rates
  • 7. •  There is already an output window on the bottom of the screen that will show how long it took for one of the colors to go extinct. •  Use the “run experiment” button to start the model. Run the model a few times, varying the fertility rates. Simple Birth Rates
  • 8.
  • 9. Simple Birth Rates •  The output is relatively simple, but it would probably take a long time to move through each combination of blue and red fertility rates, especially if you wanted to run the model more than once for each combination.
  • 10. •  We could also vary the carrying capacity, which would also increase the amount of time it would take to run these models by hand. Simple Birth Rates
  • 11. Automated Analysis of Model Runs Part III T-X
  • 13. What is BehaviorSpace? •  “BehaviorSpace is a software tool integrated with NetLogo that allows you to perform experiments with models.” •  http://ccl.northwestern.edu/netlogo/docs/ behaviorspace.html
  • 14. What is BehaviorSpace? •  “Behavior Space runs a model many times, systematically varying the model's settings and recording the results of each model run. This process is sometimes called "parameter sweeping”
  • 15. What is BehaviorSpace? •  It lets you explore the model's "space" of possible behaviors and determine which combinations of settings cause the behaviors of interest.”
  • 16. Why Behavior Space is Useful •  BehaviorSpace automates the movement of the model runs through each combination of variables, allowing us to move quickly across the parameters we wish to test.
  • 17. Why Behavior Space is Useful •  It also outputs the information into a .csv file so that we can use statistical software to analyze the data.
  • 18. •  So if you have a lot of model runs, multiple variables, or want to analyze model data with statistical software, then BehaviorSpace may be of use to you! Why Behavior Space is Useful
  • 19. •  Let’s see how BehaviorSpace works. •  Go to the Tools scroll down menu and click BehaviorSpace. Why Behavior Space is Useful
  • 20.
  • 21. Working with the Behavior Space •  Now you should have the experiment page. •  You will see the options New, Edit, Duplicate, Delete, and Run.
  • 22.
  • 23. •  The New button creates a new experiment, and brings you to the page where you will be able to specify the parameters of the model you wish to test and how many times you wish the model to run per combination. Working with the Behavior Space
  • 24. •  The Edit button allows you to edit any experiment that is saved in the BehaviorSpace experiment list. Working with the Behavior Space
  • 25. •  If you save your Netlogo program, it will also save your experiments, so you do not have to write out the parameters you wish to test each time you turn off Netlogo. Working with the Behavior Space
  • 26. •  The Duplicate button allows you to create another copy of an experiment that will be saved in the experiments box of BehaviorSpace. Working with the Behavior Space
  • 27. •  The Delete button permanently deletes an experiment from the experiments box. Working with the Behavior Space
  • 28. •  The Run button begins the process of running your experiment and outputting the data into a file. Working with the Behavior Space
  • 29. •  Let’s go to the experimental setup •  Click the ‘New’ button. •  You should now see a screen that will allow you to detail the variables you wish to test and how the program should run the experiment. Experiment Setup
  • 30.
  • 31. •  The Experimental setup screen has a title box, a variables box, an area that allows you to control how many times the model should run per combination, and boxes that specify any commands you wish the program to run when the setup or go button is pressed. Setting up an Experiment
  • 32. •  There are also boxes that allow you to detail any conditions that should stop the running of the program and any commands that should go into effect at the end of the model run. •  It also includes the ability to determine a limit to how many steps the model will run for. Setting up an Experiment
  • 33. •  Let’s take an in depth look at each of these features. •  I will give the title “Experiment #1: Blue & Red Fertility [0 1 10]” to my experiment and move on to the variables box. Setting up an Experiment
  • 34.
  • 35. Variables Box •  The variables box includes variables that come from sliders, switches, and choosers (draw down menus) on the interface. It can also include variables found within the program code.
  • 36. Variables Box •  The user is able to specify the boundaries of the parameter space they wish BehaviorSpace to “sweep” through. This is done by writing in the variables and the values the user wishes to test.
  • 37. Variables Box •  BehaviorSpace keeps variables higher up in the box constant as it cycles through the lower variables’ value settings, only moving the higher variables to their next setting after finishing a complete cycle through the possible alternatives in the variables below it.
  • 38. Variables Box •  If the runs are taking place in parallel, the output may not exactly mirror this process. •  Regardless of the case, no matter where you locate a variable, the entire parameter space for all the variables you define in the box will be tested.
  • 39.
  • 40. How to’s •  Assigning a value to a variable: •  Ex: ["blue-fertility" 10] This will give the variable blue-fertility the value of 10 in all of the model runs.
  • 41.
  • 42. How to’s •  Assigning two values to a variable (listing values) •  Ex: ["blue-fertility" 1 2] gives the variable blue-fertility the value of 1 and runs through all other combinations (if there are other variables), and then moves on to 2 and runs through all the other possible combinations with red-fertility and carrying capacity.
  • 43.
  • 44. How to’s •  Assigning multiple values to a variable (listing values) •  Ex: ["blue-fertility" 1 2 4 7] Runs through 1 and 2 and also does 4 and then 7.
  • 45.
  • 46. How to’s •  Using an interval to assign multiple values •  The interval must be inside a set of brackets
  • 47. How to’s •  Ex: ["blue-fertility" [1 1 3]] This example runs through the values 1 through 3, moving at an increment of 1. Therefore, it will assign the value 1, 2, and 3 to the variable as it moves through the different combinations.
  • 48. How to’s •  When assigning values to a variable with an interval, be careful to only include the numbers you wish to test. The interval is inclusive and will test all the numbers you specify. •  Ex: ["blue-fertility" [0 1 4]] This will give the variable the values 0, 1, 2, 3, and 4.
  • 49. How to’s •  Behavior Space is entirely inclusive of the specified range •  In other words, Inclusive will execute all Parameter Combos in the Range
  • 50.
  • 51. •  Repetitions: The user can select how many times Netlogo should run a given combination of variables How to’s
  • 52.
  • 53. •  Measure runs using these reporters: This is what the model will measure and output in the data. •  Measure runs at every step: Checking this means the data will include output for each step in the model How to’s
  • 54.
  • 55. •  Setup Commands: The user can include commands that will be executed in addition to calling the ‘to setup’ procedure when the setup button is hit. How to’s
  • 56. •  Go Commands: The user can include commands that will be executed in addition to calling the ‘to go’ procedure when the go button is hit. How to’s
  • 57.
  • 58. •  Stop Conditions: This box allows the user to specify conditions that would end the model run if they were met. How to’s
  • 59. •  While there may be many reasons a modeler would want to do this, one reason could be to prevent illogical or undesirable combinations of variables from occurring while the program sweeps through parameter space. How to’s
  • 60.
  • 61. •  Final Commands: The user can specify commands to run at the end of a model run. How to’s
  • 62.
  • 63. •  Time Limit: The user can specify how many ticks a given combination of variables will be allowed to run before stopping. •  In certain instances model run will go on forever … need to have a time limit in that case How to’s
  • 64.
  • 65. Simple Birth Rates in the Behavior Space •  OK, now let’s run the model. We will put a time limit of 100 ticks for each model run.
  • 67. Running BehaviorSpace •  Select the experiment we just created and hit “Run”. •  You will now be given the option to select if your data will be put in a spreadsheet or in a table. •  The data file will be saved as a comma separated values (.csv) file.
  • 68. Parallelization •  You will also be given the option to choose how many experiments should run in parallel. •  By default, Netlogo will run one experiment for each core processor in your computer.
  • 69. Parallelization •  Only one experiment will be shown on screen, the others will be run in the background. •  You should individually test what your computer can handle, since many parallel runs can slow down your computer.
  • 70.
  • 71. •  After making those choices the model will begin to run. •  You will have the option to turn off viewing the plot and updating the visualization, plots, and monitors. This will help increase the speed of the runs. Increasing the Speed
  • 72. •  You can also use the speed slider, which determines how many times the image should be updated. Increasing the Speed
  • 73.
  • 74. Output •  Spreadsheet data •  At the top, the data sheet will include the model and experiment name, and the size of the world. •  The commas will allow you to demarcate where the columns should be in the program you will use to analyze the data.
  • 75.
  • 76. Output •  Tables (might be easier to work with in outside statistical software) •  At the top, the data sheet will include the model and experiment name, and the size of the world. •  The commas will allow you to demarcate where the columns should be in the program you will use to analyze the data.
  • 77.
  • 78. •  You will probably want to edit the file before sorting it. The information at the top can be copied and pasted elsewhere if you need it. •  The actual output from the model runs will be below. Output
  • 79.
  • 80. •  Once you have edited your file, you will be able to sort the data as you wish. Example in Excel Data --> TexttoColumns Then select delimited and by comma •  As we saw before, the output may not be in the order, since many runs may have been running in parallel. Output
  • 81. •  Once your data is in a useful format, you can begin to analyze it! Output
  • 82.
  • 83. •  We have seen that BehaviorSpace can run through the parameter space much faster than having a human go by hand through all the different variable combinations. In Summary
  • 84. •  The previous data file took a little more than 5 minutes to create and output. In Summary
  • 85. •  But it moved in increments of 1.0 and the carrying capacity remained constant across the different combinations. Most importantly, the model was limited to 100 ticks, which may not be enough time to witness the dynamics the model is supposed to display. There are Limitations
  • 86. •  By adding these other features we will see how quickly the length of time required to run the models would grow if we added smaller increments of movement across the parameter space and the extra carrying capacity variable. There are Limitations
  • 88. Limitations •  40,814,201 runs is a lot •  Let’s assume (probably incorrectly) that it takes 1 sec / run (Including all the steps in one run of the model) •  40814201 / 60 secs / 60 mins / 24 hours / 7 days = 67.484 weeks, 1.298 years
  • 89. •  That’s not including parallel runs, but even if you could run 100 in parallel, it would still take a considerable amount of time •  Thus, full parameter sweep Probably Not feasible in Netlogo Limitations
  • 90. Limitations •  One option would be to limit the parameter space to an area of specific interest. •  For example, the dynamics of two competing groups with varying fertility rates is not particularly interesting when the carrying capacity is zero from the outset.
  • 91. Limitations •  Netlogo was mainly designed for visualizations and as an introductory language. •  If you write good modular code, you will be able to convert your model into another language that can perform massively parallel runs more efficiently than Netlogo (e.g. Python or C++)