Skip to main content

Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » Spatiotemporal Epidemiological Modeler (STEM) » Modeling multiple populations (for STEM release 2)
Modeling multiple populations (for STEM release 2) [message #507555] Wed, 13 January 2010 20:07 Go to next message
Stefan Edlund is currently offline Stefan EdlundFriend
Messages: 127
Registered: July 2009
Location: IBM
Senior Member
One of the most requested features (probably the number 1) is being able to model multiple populations in STEM. Here are some ideas we bounced around this morning on how we would go about doing this.

A new population model, called a DemographicPopulationModel, is implemented. It is extended from the basic population model today so it will still have the background birth and death rates, as well as a "base" population identifier (like 'humans'). In this new demographic population model, the users can add one or more "population groups" (e.g. via a plus button in the UI). For each group, the user specifies an identifier (e.g. "women") and a percentage (e.g. 50.01%). When the simulation starts, STEM will identify the demographic population model(s) and create a new population label on the geographic nodes (one for each population group), dividing up the population according to the percentages.

We need to extend the regular population model to reference a geographic ID (like we do for infectors/inoculator today) since for instance China has screwed demographic compared to the rest of Asia for instance (this has already been in the plan for the regular population models since the background birth/death rate varies from region to region).

Once we have the population labels for each group available on each region in the scenario, the disease model will create separate SI (or SIR or SEIR) disease labels for each group on the nodes, just like it does today but only for the single population.

New advanced "multi-population" disease models would be implemented. Such disease models will have the option of adding one or more population groups that are affected by the disease. The difference from the models we have today is that when properties such as transmission rate are specified we need to enter a value for the transmission between any group member, so a table is filled out. All other epi parameters (like recovery rate, disease death rate) a list of values (one value for each group) is specified.

These advanced multi-population disease models have impact all over STEM. Here are some of the ones I can think of:

1. Visualization. The map, time series, phase plots etc. needs another drop down that allows you to specify the population group you're looking at.

2. Logger. A separate log directory for each population group will need to be created.

3. Handling lists (matrices) of values for a disease parameter. This affects experiments and automated experiments, the logger, the EMF editors (can you edit a list of values using the standard property editor?)

/ Stefan
GeoAPI [message #510547 is a reply to message #507555] Wed, 27 January 2010 19:23 Go to previous messageGo to next message
Werner Keil is currently offline Werner KeilFriend
Messages: 1085
Registered: July 2009
Senior Member
As spoken, here's the GeoAPI URL:

Let's discuss possible usage here, or in future calls,

Re: Modeling multiple populations (for STEM release 2) [message #513397 is a reply to message #507555] Wed, 10 February 2010 01:43 Go to previous messageGo to next message
Stefan Edlund is currently offline Stefan EdlundFriend
Messages: 127
Registered: July 2009
Location: IBM
Senior Member
A first implementation of the DemographicPopulationModel is now available and checked into the trunk (not release 1.0 branch).

When you create a new population model, you have the option (from the dropdown) of creating a DemographicPopulationModelImpl. When selected, you'll notice at the bottom an area where population group id's and "fractions" can be entered. You can use the + button to add more groups. This way you can partition your population into subgroups, such as men/women, age0-20, age20-40,age40- etc.

Right now, the disease models are not fully set up to take advantage of the multiple populations. However, you can use the population identifier field in the disease model to have the disease only affect a certain population, e.g. men.

You'll notice on the map view there's an additional dropdown allowing you to specify which population group to view on the map. If you select a population model in the decorator dropdown, you'll have the option of viewing population data for any of the groups you've created.

I've tested making sure that if you have a very deadly disease affecting only men, the population numbers drops off for men but women are unaffected. Also, the "parent" group "humans" are also unaffected, we do not propagate changes up to the parent group.

Also, for air transport all populations are entered into the air transport system. This won't make sense in the future when we model zoonotic diseases, mosquitos, rats or cows usually don't fly commercially.

Please test it out and let me know if you see any problems.
Re: Modeling multiple populations (for STEM release 2) [message #513683 is a reply to message #507555] Wed, 10 February 2010 19:39 Go to previous message
James Kaufman is currently offline James KaufmanFriend
Messages: 194
Registered: July 2009
Senior Member
Along with new multipopulation and population subgroup models we will need a new subclass of disease models. Together these could be an important part of a future STEM release 1.01

In order to add the required functionality while retaining an intuitive user interface, we need to rethink our disease model wizards. For example, the transmission coefficient will no longer be a single scalar constant - it will be a matrix that is likely to be non-symmetric form many diseases. Other parameters like recovery rates etc will be lists or vectors by population.
Our current thinking is to make these buttons with appropriate symbols. The transmission coeficient button will launch a separate dialog that allows one to populate the matrix (Pop(i) x Pop(j) x Value(ij))

Comments/suggests are very welcome on this plan.
Previous Topic:STEM Talk from Epidemics 2009 is Online
Next Topic:STEM 1.0.0 Branch
Goto Forum:

Current Time: Mon Jun 25 00:49:03 GMT 2018

Powered by FUDForum. Page generated in 0.01817 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top