SlideShare une entreprise Scribd logo
1  sur  91
Télécharger pour lire hors ligne
Introduction to Computing for
Complex Systems (Session XIII)!




    Eric Provins   Daniel Martin Katz!
Goals For Today!

Multiple Variable Models!

Simple Birth Rates Revisited !


Automation III --- !
   "  "   "The Behavior Space!
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?!
Simple Birth Rates!

•  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!

•  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. !
Simple Birth Rates!

•  We could also vary the carrying
   capacity, which would also
   increase the amount of time it
   would take to run these models
   by hand.!
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.!
Why Behavior Space is
         Useful!

•  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.!
Working with the !
      Behavior Space!

•  Now you should have the
   experiment page.!
!
•  You will see the options New,
   Edit, Duplicate, Delete, and Run.!
Working with the !
     Behavior Space!

•  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.!
Experiment Setup!
•  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.!
Setting up an
       Experiment!
•  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.!
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 be 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!


!
How to’s!

•  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!
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.!
Increasing the Speed!

•  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.!
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.!
Output!
•  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! !
In Summary!
•  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.!
There are Limitations!
•  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.!
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!
!
Limitations!
•  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!
•  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++)!

Contenu connexe

Similaire à ICPSR - Complex Systems Computing - Session 7 - 2012

Conditional Loops Python
Conditional Loops PythonConditional Loops Python
Conditional Loops Pythonprimeteacher32
 
Unit 4 - Basic ABAP statements, ABAP Structures and ABAP Logical Expressions
Unit 4 - Basic ABAP statements, ABAP Structures and ABAP Logical ExpressionsUnit 4 - Basic ABAP statements, ABAP Structures and ABAP Logical Expressions
Unit 4 - Basic ABAP statements, ABAP Structures and ABAP Logical Expressionsdubon07
 
To Loop or Not to Loop: Overcoming Roadblocks with FME
To Loop or Not to Loop: Overcoming Roadblocks with FMETo Loop or Not to Loop: Overcoming Roadblocks with FME
To Loop or Not to Loop: Overcoming Roadblocks with FMESafe Software
 
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
 
Introduction to Repetition Structures
Introduction to Repetition StructuresIntroduction to Repetition Structures
Introduction to Repetition Structuresprimeteacher32
 
Effective Test Cases & Introduction to Hexawise
Effective Test Cases & Introduction to HexawiseEffective Test Cases & Introduction to Hexawise
Effective Test Cases & Introduction to HexawiseNilenth Selvaraja
 
Process cooperation and synchronisation
Process cooperation and synchronisation Process cooperation and synchronisation
Process cooperation and synchronisation JayeshGadhave1
 
Intro To C++ - Class 10 - Control Statements: Part 2
Intro To C++ - Class 10 - Control Statements: Part 2Intro To C++ - Class 10 - Control Statements: Part 2
Intro To C++ - Class 10 - Control Statements: Part 2Blue Elephant Consulting
 
Introduction to programming - class 2
Introduction to programming - class 2Introduction to programming - class 2
Introduction to programming - class 2Paul Brebner
 
powerpoint 1-19.pdf
powerpoint 1-19.pdfpowerpoint 1-19.pdf
powerpoint 1-19.pdfJuanPicasso7
 
GUI Programming in JAVA (Using Netbeans) - A Review
GUI Programming in JAVA (Using Netbeans) -  A ReviewGUI Programming in JAVA (Using Netbeans) -  A Review
GUI Programming in JAVA (Using Netbeans) - A ReviewFernando Torres
 
Decision Making & Loops
Decision Making & LoopsDecision Making & Loops
Decision Making & LoopsAkhil Kaushik
 
Real World Selenium Testing
Real World Selenium TestingReal World Selenium Testing
Real World Selenium TestingMary Jo Sminkey
 
Understand regression testing
Understand regression testingUnderstand regression testing
Understand regression testinggaoliang641
 

Similaire à ICPSR - Complex Systems Computing - Session 7 - 2012 (20)

Loops in java script
Loops in java scriptLoops in java script
Loops in java script
 
Conditional Loops Python
Conditional Loops PythonConditional Loops Python
Conditional Loops Python
 
C language (Part 2)
C language (Part 2)C language (Part 2)
C language (Part 2)
 
Unit 4 - Basic ABAP statements, ABAP Structures and ABAP Logical Expressions
Unit 4 - Basic ABAP statements, ABAP Structures and ABAP Logical ExpressionsUnit 4 - Basic ABAP statements, ABAP Structures and ABAP Logical Expressions
Unit 4 - Basic ABAP statements, ABAP Structures and ABAP Logical Expressions
 
To Loop or Not to Loop: Overcoming Roadblocks with FME
To Loop or Not to Loop: Overcoming Roadblocks with FMETo Loop or Not to Loop: Overcoming Roadblocks with FME
To Loop or Not to Loop: Overcoming Roadblocks with FME
 
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
 
Grails Spock Testing
Grails Spock TestingGrails Spock Testing
Grails Spock Testing
 
Introduction to Repetition Structures
Introduction to Repetition StructuresIntroduction to Repetition Structures
Introduction to Repetition Structures
 
Effective Test Cases & Introduction to Hexawise
Effective Test Cases & Introduction to HexawiseEffective Test Cases & Introduction to Hexawise
Effective Test Cases & Introduction to Hexawise
 
Process cooperation and synchronisation
Process cooperation and synchronisation Process cooperation and synchronisation
Process cooperation and synchronisation
 
Intro To C++ - Class 10 - Control Statements: Part 2
Intro To C++ - Class 10 - Control Statements: Part 2Intro To C++ - Class 10 - Control Statements: Part 2
Intro To C++ - Class 10 - Control Statements: Part 2
 
Introduction to programming - class 2
Introduction to programming - class 2Introduction to programming - class 2
Introduction to programming - class 2
 
powerpoint 1-19.pdf
powerpoint 1-19.pdfpowerpoint 1-19.pdf
powerpoint 1-19.pdf
 
Slide 6_Control Structures.pdf
Slide 6_Control Structures.pdfSlide 6_Control Structures.pdf
Slide 6_Control Structures.pdf
 
GUI Programming in JAVA (Using Netbeans) - A Review
GUI Programming in JAVA (Using Netbeans) -  A ReviewGUI Programming in JAVA (Using Netbeans) -  A Review
GUI Programming in JAVA (Using Netbeans) - A Review
 
Decision Making & Loops
Decision Making & LoopsDecision Making & Loops
Decision Making & Loops
 
Software + Babies
Software + BabiesSoftware + Babies
Software + Babies
 
DAA Unit 1.pdf
DAA Unit 1.pdfDAA Unit 1.pdf
DAA Unit 1.pdf
 
Real World Selenium Testing
Real World Selenium TestingReal World Selenium Testing
Real World Selenium Testing
 
Understand regression testing
Understand regression testingUnderstand regression testing
Understand regression testing
 

Plus de 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
 

Plus de 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...
 

Dernier

Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 

Dernier (20)

Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 

ICPSR - Complex Systems Computing - Session 7 - 2012

  • 1. Introduction to Computing for Complex Systems (Session XIII)! Eric Provins Daniel Martin Katz!
  • 2. Goals For Today! Multiple Variable Models! Simple Birth Rates Revisited ! Automation III --- ! " " "The Behavior Space!
  • 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. Simple Birth Rates! •  Open the Simple Birth rate model! •  There are three variables, carrying capacity, blue fertility rate, and red fertility rate.! !
  • 6. Simple Birth Rates! •  The Blues and Reds reproduce according to their fertility rate and the entire population is limited by the carrying capacity.!
  • 7. 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.!
  • 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. Simple Birth Rates! •  We could also vary the carrying capacity, which would also increase the amount of time it would take to run these models by hand.!
  • 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. Why Behavior Space is Useful! •  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!!
  • 19. Why Behavior Space ! is Useful! •  Let’s see how BehaviorSpace works.! ! •  Go to the Tools scroll down menu and click BehaviorSpace.!
  • 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. Working with the ! Behavior Space! •  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.!
  • 24. Working with the ! Behavior Space! •  The Edit button allows you to edit any experiment that is saved in the BehaviorSpace experiment list. ! !
  • 25. 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.!
  • 26. 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.!
  • 27. Working with the ! Behavior Space! •  The Delete button permanently deletes an experiment from the experiments box.!
  • 28. Working with the ! Behavior Space! •  The Run button begins the process of running your experiment and outputting the data into a file.!
  • 29. Experiment Setup! •  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.!
  • 30.
  • 31. Setting up an Experiment! •  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.! !
  • 32. 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.!
  • 33. 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.!
  • 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 be 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. How to’s! •  Repetitions: The user can select how many times Netlogo should run a given combination of variables!
  • 52.
  • 53. 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!
  • 54.
  • 55. 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.!
  • 56. 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.!
  • 57.
  • 58. How to’s! •  Stop Conditions: This box allows the user to specify conditions that would end the model run if they were met. ! !
  • 59. 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. !
  • 60.
  • 61. How to’s! •  Final Commands: The user can specify commands to run at the end of a model run.!
  • 62.
  • 63. 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!
  • 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. Increasing the Speed! •  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.!
  • 72. Increasing the Speed! •  You can also use the speed slider, which determines how ! many times the image should be updated.!
  • 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. Output! •  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.!
  • 79.
  • 80. 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.!
  • 81. Output! •  Once your data is in a useful format, you can begin to analyze it! !
  • 82.
  • 83. In Summary! •  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.!
  • 84. In Summary! ! •  The previous data file took a little more than 5 minutes to create and output.!
  • 85. There are Limitations! •  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.!
  • 86. 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.!
  • 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. Limitations! •  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!
  • 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++)!