Mortality rates in a cohort model depending on creation time of the cohort

A place for Ventity software questions & answers
moudi
Senior Member
Posts: 51
Joined: Thu Nov 18, 2010 9:18 am

Mortality rates in a cohort model depending on creation time of the cohort

Postby moudi » Mon Jan 16, 2017 8:51 am

Hi

I have a question regarding a cohort model. For a correct population model which reflects the technical and medical progress, the table for mortality rates should depend on the creation time of the cohor. How should this be implemented?

Best regards

Justus

tomfid
Administrator
Posts: 1794
Joined: Wed May 24, 2006 4:54 am
Location: Montana, USA
Contact:

Re: Mortality rates in a cohort model depending on creation time of the cohort

Postby tomfid » Wed Jan 18, 2017 11:41 pm

This is not my area, but I'd think it could get messy. Some thoughts:

Frequently, models use
mortality rate = f(age)
implemented with a lookup.

You could generalize to:
mortality rate = f(age, gender, behavior, time)
where the time component picks up the technical progress aspect. Substituting and explicit tech index might be more attractive. We don't have a multidimensional lookup, and you might go nuts generating the data for one anyway, so I'd be looking at a way to decompose this into marginal contributions, something like:
mortality rate = f(age,gender)*behavior_effect*tech_effect
Since the age dimension is likely to be most diverse, I'd use the cohort age as the lookup x-axis, and handle gender by having distinct M/F cohorts.
The assumption here is that technology affects all ages equally, which might not be true. You could perhaps handle that by further decomposing the causes of mortality into technology-susceptible and resistant components. Falling off a building leads to a fairly inevitable death, whereas some diseases might become curable.

What I've never seen (possibly reflecting only my own ignorance) is a model in which health is a stock that erodes over time through cumulative insults (accidents, smoking, infectious diseases), with the insults decelerated by medical care. That would essentially be an aggregate way to represent having a lot of discrete states of the individual (diabetes, CHD, etc. yes/no). Then mortality could be fairly generically a function of status, irrespective of the origin of degradation.
/*
Advice to posters (it really helps us to help you)
viewtopic.php?f=2&t=4391

Blog: http://blog.metasd.com
Model library: http://models.metasd.com
Bookmarks: http://delicious.com/tomfid/SystemDynamics

*/

moudi
Senior Member
Posts: 51
Joined: Thu Nov 18, 2010 9:18 am

Re: Mortality rates in a cohort model depending on creation time of the cohort

Postby moudi » Thu Jan 19, 2017 5:57 pm

Thanks for your suggestions.

I did the following so far:
I used different Age mortality rate lookups for different existing cohorts, thus I put the Age mortality lookup in the cohort entity and initialized it for each existing cohort separately. The data are similar to your example, derived from the mortality tables which are available for each year. This reflects the fact that life expectancy changed considerably over the last 100 years. When I'm through I'll send you the model.

With regard to the Age mortality rates for the future I had the same idea to use a function which should reduce the mortality rates. In principle this could be a function of age and time, right?However, I realised that for my specific problem, where I want to consider a time range of 2000-2030 I might ignore the changes of the Age mortality rates for that time period, because the main effect comes from the exisiting cohorts.

tomfid
Administrator
Posts: 1794
Joined: Wed May 24, 2006 4:54 am
Location: Montana, USA
Contact:

Re: Mortality rates in a cohort model depending on creation time of the cohort

Postby tomfid » Thu Jan 19, 2017 6:34 pm

That sounds sensible.

The reason I'm interested in an explicit stock of health status is the following thought experiment.

Suppose you have two initially identical cohorts. Cohort A starts around WWII and experiences the diet, exercise and health care that prevailed over the actual intervening decades. Cohort B somehow experiences current habits and care over the same period. When both reach 2017, they experience identical technology. However, I would expect them to have quite different mortality at present. Partly this would be due to different composition of the survivors - presumably A would have lost more members due to accidents and diseases that are now preventable or curable. But even if you compared the same surviving individual in treatment A vs. B, I would expect some difference due to cumulative exposure over history.

The implication would be that any treatment of mortality as f(age, attributes, technology) could be substantially wrong because it ignores the cumulative effects of individual history.
/*
Advice to posters (it really helps us to help you)
viewtopic.php?f=2&t=4391

Blog: http://blog.metasd.com
Model library: http://models.metasd.com
Bookmarks: http://delicious.com/tomfid/SystemDynamics

*/

moudi
Senior Member
Posts: 51
Joined: Thu Nov 18, 2010 9:18 am

Re: Mortality rates in a cohort model depending on creation time of the cohort

Postby moudi » Tue Jan 24, 2017 2:45 pm

Hi

Here you find an example of the cohort model we discussed about for the Swiss population for 2000-2030. I used existing cohorts from 1900-1990 with the corresponding, available age mortality rates. For 2000-2030 I used a default age mortality rate lookup (using the data of 2010). Is there a better solution to this? The mortality tables would also be available for this time range (as they have been used for population projections), but I was not able to link this properly to the model.

I faced a similar problem with net migration. Until 1990 I do not have to take this into account because it is already taken into account in the available population data. However, for 2000-2030 it is an important issue (60'000-80'000 per year). Here I should be able to add this amount of people properly each year according to their age and gender. So far I was not able to do this.

Best regards
Attachments
CohortPopGroups3 Test Swiss Population V1.zip
(31.31 KiB) Downloaded 14 times

tomfid
Administrator
Posts: 1794
Joined: Wed May 24, 2006 4:54 am
Location: Montana, USA
Contact:

Re: Mortality rates in a cohort model depending on creation time of the cohort

Postby tomfid » Fri Jan 27, 2017 6:06 pm

I made a few mods, partly cleanup, but mainly to implement the switchover from cohort-specific mortality tables to a group generic mortality table.
CohortPopGroups3 Test Swiss Population V2.zip
(31.73 KiB) Downloaded 15 times


That creates discontinuities in the mortality rate for each cohort, which seems problematic. It might be better to have cohort-specific mortality rates, and then a group-specific multiplier for the reduction in mortality by age. However, that gives you a 2D function - something like relative_future_mortality(time,age). I plotted what that looks like in Excel (attached), but it's not obviously simple.
CohortPopGroup3 Births exogenous TF.xlsx
(27.02 KiB) Downloaded 16 times


The underlying challenge seems to be that mortality varies both by age of cohort and birth year of cohort. This is basically a variation on my idea (above) that cumulative exposure or health status matters, but it also captures idiosyncratic effects like WWII.

One other issue to tackle: the mortality lookup has some fast dynamics in it - the spike in infant mortality from age 0 to 1. That won't be resolved if future cohorts are decadal.

I think the best way to start might be with the source data for mortality - what does that look like?
/*
Advice to posters (it really helps us to help you)
viewtopic.php?f=2&t=4391

Blog: http://blog.metasd.com
Model library: http://models.metasd.com
Bookmarks: http://delicious.com/tomfid/SystemDynamics

*/

moudi
Senior Member
Posts: 51
Joined: Thu Nov 18, 2010 9:18 am

Re: Mortality rates in a cohort model depending on creation time of the cohort

Postby moudi » Fri Feb 03, 2017 12:20 pm

Hi

There are indeed inconsistencies for deaths which are problematic. The mortality data are available as
- mortality tables (mortality rates for each year of birth, age, gender) for existing cohorts (> 1900) as well as for future cohorts (assumptions used to calculate population projections).
- Deaths per year, age, gender

My problem is to use those data specifically for each new cohort. Each cohort should carry with it a specific mortality table for the year of birth (creation time). But I'm not able to implement this.

tomfid
Administrator
Posts: 1794
Joined: Wed May 24, 2006 4:54 am
Location: Montana, USA
Contact:

Re: Mortality rates in a cohort model depending on creation time of the cohort

Postby tomfid » Fri Feb 03, 2017 3:58 pm

Ahhh ... suppose we replace the action that creates cohorts with more entries in the initialization data? Then you could assign the mortality table for each, but delay creating it until N years into the simulation. The only trick would be assigning the head cohort to receive births. I'm sure there's a way to do that. Thinking ...
/*
Advice to posters (it really helps us to help you)
viewtopic.php?f=2&t=4391

Blog: http://blog.metasd.com
Model library: http://models.metasd.com
Bookmarks: http://delicious.com/tomfid/SystemDynamics

*/

tomfid
Administrator
Posts: 1794
Joined: Wed May 24, 2006 4:54 am
Location: Montana, USA
Contact:

Re: Mortality rates in a cohort model depending on creation time of the cohort

Postby tomfid » Fri Feb 03, 2017 6:06 pm

This implements my suggestion:
CohortPopGroups3 Test Swiss Population V4 (2).zip
(32.84 KiB) Downloaded 17 times
/*
Advice to posters (it really helps us to help you)
viewtopic.php?f=2&t=4391

Blog: http://blog.metasd.com
Model library: http://models.metasd.com
Bookmarks: http://delicious.com/tomfid/SystemDynamics

*/

moudi
Senior Member
Posts: 51
Joined: Thu Nov 18, 2010 9:18 am

Re: Mortality rates in a cohort model depending on creation time of the cohort

Postby moudi » Tue Feb 07, 2017 3:11 pm

Wonderful! It does what I imagined. Thanks a lot!

However, I have a computational problem. When I look at Sum deaths these figures are too high (by a factor of 2 in 2000, compared to historical data). The decay afterwards can partially be explained by the fact that I did not yet include Net migration, but only partially. Moreover, Sum deaths looks somewhat awkward with a kind of ten-years periodicity. I checked the mortality rates and they seem to be OK (I made some minor changes). Could there be a computational issue? Or what might be the reason for this behavior?

Best regards
Attachments
Swiss Population V4 NEW.zip
(44.14 KiB) Downloaded 12 times

tomfid
Administrator
Posts: 1794
Joined: Wed May 24, 2006 4:54 am
Location: Montana, USA
Contact:

Re: Mortality rates in a cohort model depending on creation time of the cohort

Postby tomfid » Tue Feb 07, 2017 5:22 pm

I think the death rate periodicity is probably due to the different resolution of the cohorts (10y) and mortality table (1y) that I mentioned above. For a decadal cohort, the mortality table should have decadal resolution to match.
/*
Advice to posters (it really helps us to help you)
viewtopic.php?f=2&t=4391

Blog: http://blog.metasd.com
Model library: http://models.metasd.com
Bookmarks: http://delicious.com/tomfid/SystemDynamics

*/

tomfid
Administrator
Posts: 1794
Joined: Wed May 24, 2006 4:54 am
Location: Montana, USA
Contact:

Re: Mortality rates in a cohort model depending on creation time of the cohort

Postby tomfid » Tue Feb 07, 2017 5:27 pm

Is Sum Deaths too high compared to the individual death flows, or just compared to the data?
/*
Advice to posters (it really helps us to help you)
viewtopic.php?f=2&t=4391

Blog: http://blog.metasd.com
Model library: http://models.metasd.com
Bookmarks: http://delicious.com/tomfid/SystemDynamics

*/

LarryYeager
Junior Member
Posts: 3
Joined: Fri Oct 14, 2016 12:43 am
Vensim version: Ventity

Re: Mortality rates in a cohort model depending on creation time of the cohort

Postby LarryYeager » Tue Feb 07, 2017 7:22 pm

The 10 year inflections are due to the granularity of the table data -- especially at the higher ages. The table function uses linear interpolation that results in a noticeable discontinuity in the rate. This effect can be mitigated by adding more data points. The 10-year average results in too high an estimate in the first years and too low at the end of the range.

Another adjustment might be to use smaller cohorts. As the model stands, a single age is applied to each cohort beginning at the low end of the scale.

Is there a built-in inaccuracy of the data where the deaths may be assigned to a different cohort boundary than the population cohort where they began?

(Looks like I overlap with other comments.. posting anyway.)

tomfid
Administrator
Posts: 1794
Joined: Wed May 24, 2006 4:54 am
Location: Montana, USA
Contact:

Re: Mortality rates in a cohort model depending on creation time of the cohort

Postby tomfid » Tue Feb 07, 2017 10:16 pm

Actually I don't think more points in the lookup will mitigate the periodicity.

The problem is this:

In the mortality tables, early child mortality is high at age 0, (5%/year in my dummy data; I don't recall the real figure) and then very low (~0) from age 1 until old age.

However, if you start a decadal cohort that is initially 0 years old, it's mortality rate will vary dramatically, which would not happen in reality to a cohort containing a mixture of ages. The same thing will happen when the cohort starts to get old - a single point age may climb the slope of the mortality rate table more abruptly than a mix of ages would. Also, I think there may be some extra age lag or lead, because I use the starting point rather than the midpoint of the cohort as the age, as I recall.

I think the bottom line is that the granularity of the mortality table needs to match the cohort interval. So, you could switch to annual cohorts, or smooth the lookups.
/*
Advice to posters (it really helps us to help you)
viewtopic.php?f=2&t=4391

Blog: http://blog.metasd.com
Model library: http://models.metasd.com
Bookmarks: http://delicious.com/tomfid/SystemDynamics

*/

moudi
Senior Member
Posts: 51
Joined: Thu Nov 18, 2010 9:18 am

Re: Mortality rates in a cohort model depending on creation time of the cohort

Postby moudi » Fri Feb 10, 2017 2:36 pm

Thanks for your helpful posts!

I used now annual existing cohorts and also annual mortality rates. With these data the periodicity disappears and also the discontinuity with regard to Sum deaths. To make it simple for this test I used the same mortality rates (year 2000) for all years of birth. Due to this the deaths are too low (from 2000 to 2030), which is correct.

Best regards

tomfid
Administrator
Posts: 1794
Joined: Wed May 24, 2006 4:54 am
Location: Montana, USA
Contact:

Re: Mortality rates in a cohort model depending on creation time of the cohort

Postby tomfid » Fri Feb 10, 2017 3:05 pm

Great!
/*
Advice to posters (it really helps us to help you)
viewtopic.php?f=2&t=4391

Blog: http://blog.metasd.com
Model library: http://models.metasd.com
Bookmarks: http://delicious.com/tomfid/SystemDynamics

*/

moudi
Senior Member
Posts: 51
Joined: Thu Nov 18, 2010 9:18 am

Re: Mortality rates in a cohort model depending on creation time of the cohort

Postby moudi » Mon Mar 06, 2017 12:56 pm

I realised that there is a problem with Births exogenous in the current model. As I wrote in the previous post, the model works fine with the annual mortality rates. However, Births are all added to only one cohort, the year-2000 cohort! In the model which you posted (CohortPopGroups3 Test Swiss Population V4) with ten-year cohorts, it worked fine, and I do not understand why it does not with the annual cohorts. I send you here the model with the excel-file which I used for the simulation CohortPopGroup3 Existing annual mortality 1900-2030 low.xlsx).

Thanks and best regards

Justus
CohortPopGroups3 Test Swiss Population V4.zip
(74.05 KiB) Downloaded 11 times

tomfid
Administrator
Posts: 1794
Joined: Wed May 24, 2006 4:54 am
Location: Montana, USA
Contact:

Re: Mortality rates in a cohort model depending on creation time of the cohort

Postby tomfid » Mon Mar 06, 2017 2:56 pm

It must be something to do with repointing the Head Cohort attribute. I'll take a look.
/*
Advice to posters (it really helps us to help you)
viewtopic.php?f=2&t=4391

Blog: http://blog.metasd.com
Model library: http://models.metasd.com
Bookmarks: http://delicious.com/tomfid/SystemDynamics

*/

tomfid
Administrator
Posts: 1794
Joined: Wed May 24, 2006 4:54 am
Location: Montana, USA
Contact:

Re: Mortality rates in a cohort model depending on creation time of the cohort

Postby tomfid » Mon Mar 06, 2017 3:44 pm

Problem #1 is the "prevalence hypertension" table on the Cohort tab of the input datasheet. Placing that on the Cohort tab causes the creation of 32 spurious entities. I moved it to a different tab, which fixes that.

There's another issue, so I won't post anything until that's sorted out.
/*
Advice to posters (it really helps us to help you)
viewtopic.php?f=2&t=4391

Blog: http://blog.metasd.com
Model library: http://models.metasd.com
Bookmarks: http://delicious.com/tomfid/SystemDynamics

*/

tomfid
Administrator
Posts: 1794
Joined: Wed May 24, 2006 4:54 am
Location: Montana, USA
Contact:

Re: Mortality rates in a cohort model depending on creation time of the cohort

Postby tomfid » Mon Mar 06, 2017 3:58 pm

Second problem is that the "Assign Head" action isn't firing, now that the future cohorts are created from data rather than by an action. Should be an easy fix. Stay tuned ...
/*
Advice to posters (it really helps us to help you)
viewtopic.php?f=2&t=4391

Blog: http://blog.metasd.com
Model library: http://models.metasd.com
Bookmarks: http://delicious.com/tomfid/SystemDynamics

*/

tomfid
Administrator
Posts: 1794
Joined: Wed May 24, 2006 4:54 am
Location: Montana, USA
Contact:

Re: Mortality rates in a cohort model depending on creation time of the cohort

Postby tomfid » Mon Mar 06, 2017 6:35 pm

For some reason the future cohorts aren't getting created, even after my fix. I've put in a bug ticket.

In the meantime, the solution is to create them in the future, rather than in 2000, as in the attached version. That's a more attractive solution computationally anyway, I think.

CohortPopGroups3 Test Swiss Population V5.zip
(123.34 KiB) Downloaded 11 times
/*
Advice to posters (it really helps us to help you)
viewtopic.php?f=2&t=4391

Blog: http://blog.metasd.com
Model library: http://models.metasd.com
Bookmarks: http://delicious.com/tomfid/SystemDynamics

*/

moudi
Senior Member
Posts: 51
Joined: Thu Nov 18, 2010 9:18 am

Re: Mortality rates in a cohort model depending on creation time of the cohort

Postby moudi » Mon Mar 13, 2017 10:22 am

The model works fine! And the next questions arrive immediately... I would like to have to "strains" in the model, a population with a low risk and a population with a increased risk for coronary heart disease. I decided to refer to blood pressure (together with gender and age). For this reason I need cohorts with normal blood pressure and with hypertension. I used an attribute ("bloodpressure" with normal and hypertension) and changed values of the existing cohorts using the values for hypertension prevalence in the Swiss population. Births go all into the population with normal blood pressure. That seems to work fine. However, what I need in addition is the incidence of hypertension (function of gender and age), which creates a transition (flow rate) from the population with normal blood pressure to the population with hypertension. Here I get stuck.

Best regards

J
CohortPopGroups3 Test Swiss Population V5.zip
(244.16 KiB) Downloaded 16 times

tomfid
Administrator
Posts: 1794
Joined: Wed May 24, 2006 4:54 am
Location: Montana, USA
Contact:

Re: Mortality rates in a cohort model depending on creation time of the cohort

Postby tomfid » Mon Mar 13, 2017 5:05 pm

I think we can do that - but not necessarily while I'm in an airport as at present. I'll take a look.
/*
Advice to posters (it really helps us to help you)
viewtopic.php?f=2&t=4391

Blog: http://blog.metasd.com
Model library: http://models.metasd.com
Bookmarks: http://delicious.com/tomfid/SystemDynamics

*/

LarryYeager
Junior Member
Posts: 3
Joined: Fri Oct 14, 2016 12:43 am
Vensim version: Ventity

Re: Mortality rates in a cohort model depending on creation time of the cohort

Postby LarryYeager » Mon Mar 13, 2017 8:33 pm

One way to approach this problem is attached. I created a parallel set of cohorts (fh and mh) for high blood pressure populations. Next, I added a related cohort attribute to the cohort entity and populated the original entities with the corresponding cohort IDs. Then an HBP reference was added so that I could drag Population from the HBP reference in the inspector. This creates a ghost from a different entity of the same kind. Then the HBP Onset flow was added to move population units from the original entity to the HBP entities. That flow includes a check for a null target so that HBP population does not disappear to nowhere. I did not adjust any data, such as splitting the initial populations. The flow was added as 1% of population per year, regardless of age (just wanted to check the plumbing).

There are other ways to approach the model that would allow dynamic entity creation. These would involve using multiple key attributes (gender, region, hbp status). It would probably be a good idea to add HBP status anyway to support sub-collection aggregates.
Attachments
CohortPopGroups3 Test Swiss Population LFY1.zip
(267.19 KiB) Downloaded 8 times

moudi
Senior Member
Posts: 51
Joined: Thu Nov 18, 2010 9:18 am

Re: Mortality rates in a cohort model depending on creation time of the cohort

Postby moudi » Tue Mar 14, 2017 1:45 pm

Hi

Thank you for your suggestion. Clearly, blood pressure should be an attribute. I have included this aspect, but uploaded the wrong model. Sorry for that. The structure is the same as you referred to, but with "blood pressure" as an attribute instead of "region". Just for your information I include the correct model.

I'm not sure if the suggested solution works fine. The value of total population is doubled, and deaths "explode". In order to evaluate an appropriate solution I also include a short description of the project. Hope that this helps to understand the underlying rationale. I describe there the objectives of the project, the model structure, and how I imagine that at the end of the day the model structure might look like. Please let me know if this document makes clear what I mean.

Thanks and best regards

CohortPopGroups3 V5 Test Hypertension.zip
(123.71 KiB) Downloaded 9 times
Short description simulation project 170314.docx
(171.48 KiB) Downloaded 10 times


Return to “Ventity”

Who is online

Users browsing this forum: No registered users and 1 guest