fpsim / fpsim

FPsim: Family Planning Simulator
MIT License
5 stars 6 forks source link

Implement model of education dynamics #171

Closed pausz closed 1 year ago

pausz commented 1 year ago

Over the course of a simulation the natural progression of education attainment would be a monotonic increase, unless it is hindered by other factors in the situation of a person.

The simplest update rule implemented is:

self.edu_attainment += self.pars['timestep'] / fpd.mpy
self.edu_attainment = np.minimum(self.edu_attainment, self.edu_target)

Questions:

mzimmermann-IDM commented 1 year ago

@pausz , @robynstuart, I finished making a matrix of education years, if we want to go this route. This file has a column for age, parity, and year of education. For each combinate of those three variables, there is a probability. We would have to use a lookup table for this matrix (it's 5824 rows). What do you think about the feasibility of this approach? If it's too slow, that's a good reason to use the target education approach instead. https://github.com/fpsim/fpsim/blob/Kenya_empowerment_DHS/fpsim/locations/kenya/education.csv

mzimmermann-IDM commented 1 year ago

If we use this approach, we also need to agree about what to do for women <15 (the data collection starts at age 15). I used the birth calendar to go back and look at ages at each birth. For women who had a birth before age 15, I assumed education started at age 6 and continued each year, and stops only if she reaches her total years of education. Of course that's a limitation because it assumes no interrupted year. For women who don't have a first birth before age 15 (so for parity 0 age <15), I did the same method of counting education each year. I did a second approach looking at all girls in the household register. We get an accurate education number with that method, but it's including girls who may have had a birth, we don't know. There are significant differences in the results between these two methods. For reference, ~6% of women in the same had their first birth before age 15. Because that seems fairly low to me, I went with the household register method for now. @MObrien-IDM making a note to brainstorm about this next time we chat.