The DHS Program User Forum
Discussions regarding The DHS Program data and results
Home » Topics » Fertility » Using tfr2 to Calculate age specific marital fertility rate
Using tfr2 to Calculate age specific marital fertility rate Fri, 17 November 2017 00:31
 Michaelo Messages: 15Registered: October 2017 Member
I am using tfr2 for the first time and I find it much more flexible and user friendly for a novice stata user. Thanks Bruno
I will be most grateful if you could kindly describe how I can use tfr2 to calculate Age-Specific Marital Fertility Rate(ASFMR) Which refers to number of marital births per 1,000 married women of a specific age group. This will require the computation of Number of marital births for each age group of the married women. Similarly Age-Specific non Marital Fertility Rate(ASFMR)is expected to be calculated using the number of non-marital births in the specified age group.

By convention, I have observed from some publications that the Age-Specific Marital Fertility Rate (ASMFR) could be derived by dividing the age-specific fertility rates by the proportion of women currently married in each age group. However, I guess this may be more valid in societies where births occur mostly within marriages. How do we account for the contribution of the never married as compared to the ever married? Your help needed.
In using the tfr2, the command "by v502, sort: tfr2, awf(awfactt)" gives the TFR as per marital status, this I guess should be different from ASMFR.

Thanks
Michaelo

MO
Re: Using tfr2 to Calculate age specific marital fertility rate [message #13558 is a reply to message #13538] Sat, 18 November 2017 09:35
 Michaelo Messages: 15Registered: October 2017 Member
Dear dhs users, I observed the command
tfr2,entry(v509)
gives the marital fertility rates, but how do one get the non-marital fertility rate or the fertility rate for the never married?,
your kind response will be appreciated
Thanks

MO
Re: Using tfr2 to Calculate age specific marital fertility rate [message #13559 is a reply to message #13538] Sat, 18 November 2017 15:31
 schoumaker Messages: 58Registered: May 2013 Location: Belgium Senior Member
Hello,

For marital fertility rates, when you use

tfr2, entry(v509)

only births occuring after first marriage and exposure after first marriage are used in the computation of fertility rates. This is equal to marital fertility rates if people remain married from that time. This is usually fine at low ages, but less at higher ages, since some people are no longer in union at the time of the survey.

you could select a subsample (for instance people married or living together at the time of the survey) - that should lead to slightly higher rates.

tfr2, entry(v509), if v501==1 | v501==2

There is no direct way to compute non marital fertility rates with tfr2 - but with a simple trick you should be able to get them:

Here is what I would do:

* you create a variable dates that is equal to the date of first marriage if marriage occured, and the date of survey if the marriage has not occured. So you will only keep observtions before that date (before marriage, and until the survey if the person married).

gene dates=cond(v509!=., v509, v008)

* you create a date of entry that is equal to the date of the survey(v008) minus the number of months (36 if you want to compute rates over the last 3 years)

gene entry=v008-36

* next, you compute the rates between the start of the period (entry) and the dates variable (date of marriage or date of survey if not married).

tfr2, entry(entry) dates(dates)

I tested it in a few countries and it looks fine. But I would be glad to have your feedback.

Hope this helps.

Best,

Bruno

Bruno Schoumaker
Centre for Demographic Research
Université catholique de Louvain
Re: Using tfr2 to Calculate age specific marital fertility rate [message #13561 is a reply to message #13538] Sat, 18 November 2017 21:18
 Michaelo Messages: 15Registered: October 2017 Member
Many thanks Bruno for the prompt response.
I am using the Ghana dataset. For The marital fertility rate using, . tfr2, entry(v509), if v501==1 | v501==2 was higher than the tfr2,entry(v509) . eg using the 2008 dataset GHIR5HFL.DTA", gives 6.195775 as compared to 5.850916. Thanks so much.

However, trying the non-marital fertility rate with "GHIR5HFL.DTA", gives this error message
Maximum number of iterations exceeded.
r(498);
Besides, I observed, the period covered to have been 10 years earlier, that is 12/1995 to 11/1998 is instead of 2005-2008
I used:

gene dates=cond(v509!=., v509, v008)
gene entry=v008-36
tfr2, entry(entry) dates(dates)

This worked for the 2003 Ghana dataset but again, the period was 10 years ahead. 1990-1993, instead of 2000-2003
The output obtained was:

tfr2, entry(entry) dates(dates)
weight variable is v005
Preparing table of events and exposure for 3 year(s) preceding the survey
Period covered: 5/1990 to 4/1993
Central date is 1991.8359
Number of cases (women): 1851
Number of person-years (weighted): 3925.2241
Number of events (weighted): 80.825775

ASFRs - TFR

------------------------------------------------------------ ------------------
events | Coef. Std. Err. z P>|z| [95% Conf. Interval]
-------------+---------------------------------------------- ------------------
Rate_1519 | .0178312 .002676 6.66 0.000 .0125864 .0230761
Rate_2024 | .0328445 .0056704 5.79 0.000 .0217306 .0439583
Rate_2529 | .004697 .0041574 1.13 0.259 -.0034514 .0128454
Rate_3034 | .0071107 .0087363 0.81 0.416 -.0100121 .0242335
Rate_3539 | .024647 .0254917 0.97 0.334 -.0253158 .0746099
Rate_4044 | 2.40e-09 . . . . .
Rate_4549 | 7.74e-09 . . . . .
TFR | .4356522 .1398883 3.11 0.002 .1614763 .7098282
------------------------------------------------------------ ------------------
I would be grateful if you could kindly advise
Thanks so much
Michael

MO
Re: Using tfr2 to Calculate age specific marital fertility rate [message #13562 is a reply to message #13561] Sun, 19 November 2017 02:36
 schoumaker Messages: 58Registered: May 2013 Location: Belgium Senior Member

for non-marital fertility rates:

You are right, the reported time period is not correct.

You should specify that the rates are to be estimated only if dates>entry. You will get the same rates, but the time period will be correct. I had not anticipated this use of tfr2 - and I will correct it in a further version.

tfr2 if dates>entry, entry(entry) dates(dates)

If you get the message "maximum number of iterations exceded", this is probably because there are no events in some age groups. tfr2 uses Poisson regression and will run into this kind of problems with small samples.

You could use tabexp

tabexp if dates>entry, entry(entry) dates(dates) rates

You will get the number of events, exposure, and rates in each age groups (computed by dividing events by exposure).

if you find the number of events is 0 in th upper age groups, you could restrict you analyses with tfr2 to a smaller age range (for instance 15-39).

For instance

tfr2 if dates>entry, entry(entry) dates(dates) mina(15) maxa(39)

For marital fertility rates, When you select v501==1 | v502==2, check if these categories refer to women in union.

Best,

Bruno

Bruno Schoumaker
Centre for Demographic Research
Université catholique de Louvain
Re: Using tfr2 to Calculate age specific marital fertility rate [message #13570 is a reply to message #13562] Tue, 21 November 2017 03:14
 Michaelo Messages: 15Registered: October 2017 Member

Thank you Bruno for the feedback. It has been so helpful.
Michael

MO
Re: Using tfr2 to Calculate age specific marital fertility rate [message #18047 is a reply to message #13570] Tue, 27 August 2019 08:58
 Mercysh Messages: 35Registered: April 2014 Member
Hi Bruno

Is it possible to calculate the number of cases for age specific fertility rates using tfr2?

Mercy

[Updated on: Tue, 27 August 2019 08:59]

Report message to a moderator

Re: Using tfr2 to Calculate age specific marital fertility rate [message #18048 is a reply to message #18047] Tue, 27 August 2019 13:11
 schoumaker Messages: 58Registered: May 2013 Location: Belgium Senior Member
If you use tabexp, you will get the number of births and exposure for each age group and time period.
Best,
Bruno

Bruno Schoumaker
Centre for Demographic Research
Université catholique de Louvain
Re: Using tfr2 to Calculate age specific marital fertility rate [message #18054 is a reply to message #18048] Thu, 29 August 2019 05:34
 Mercysh Messages: 35Registered: April 2014 Member
Thank you

Mercy
Re: Using tfr2 to Calculate age specific marital fertility rate [message #18151 is a reply to message #18048] Mon, 30 September 2019 04:21
 Mercysh Messages: 35Registered: April 2014 Member
Good day

I am trying to decompose ASFR for ages 15-19 years,and one of the steps is to calculate the national ASFR from proportion of adolescents aged 15-19 years and the disaggregated ASFR e.g. urban/rural (v025). Unfortunately the national ASFR I get does not add up to the national one obtained from using tfr2, the same one from the report,

I use tabexp to get cases (women) for (1) current ages 15-19 using:
tabexp if v012 <=19 & v025 ==1
tabexp if v012 <=19 & v025 ==2

and(2)including individuals currently aged 20-24 and contributed to the Person Years using:
tabexp v025, minage(15) maxage(19)

I still do not get consistent results.

Kind regards;

Mercy

Mercy
Re: Using tfr2 to Calculate age specific marital fertility rate [message #18153 is a reply to message #18151] Mon, 30 September 2019 07:26
 schoumaker Messages: 58Registered: May 2013 Location: Belgium Senior Member
Hello,
What is the name of the data file you use?
Best regards,
Bruno

Bruno Schoumaker
Centre for Demographic Research
Université catholique de Louvain
Re: Using tfr2 to Calculate age specific marital fertility rate [message #18160 is a reply to message #18153] Wed, 02 October 2019 04:57
 Mercysh Messages: 35Registered: April 2014 Member
Good day

I am using South Africa 2016 IR file.

Kind regards;

Mercy

[Updated on: Wed, 02 October 2019 05:13]

Report message to a moderator

Re: Using tfr2 to Calculate age specific marital fertility rate [message #18163 is a reply to message #18160] Wed, 02 October 2019 13:04
 schoumaker Messages: 58Registered: May 2013 Location: Belgium Senior Member
Hello,

If I understand correctly what you want to do, you should use

. tabexp v025, rates mina(15) maxa(19)
weight variable is v005
Preparing table of events and exposure for 3 year(s) preceding the survey
Period covered: 8/2013 to 7/2016
Central date is 2015.0982
Number of cases (women): 2335
Number of person-years (weighted): 4482.1265
Number of events (weighted): 318.67191

v025 period ageg events exposure centry rate se_r
urban 0 15 178.119 2852.75 2015.098 .0624375 .0046783
rural 0 15 140.553 1629.376 2015.098 .086262 .0072761

You get the adolescent fertility rate in each place of residence, and you obtain the weighted exposure and weighted number of births.

You can check that the weighted mean of the rates (exposure used as weights) is equal to the rate at the country level : 2852,75*0,0624375+1629,376*0,086262=0,0710984

. tabexp, rates mina(15) maxa(19)
weight variable is v005
Preparing table of events and exposure for 3 year(s) preceding the survey
Period covered: 8/2013 to 7/2016
Central date is 2015.0982
Number of cases (women): 2335
Number of person-years (weighted): 4482.1265
Number of events (weighted): 318.67191

period ageg events exposure centry rate se_r
0 15 318.672 4482.126 2015.098 .0710984 .0039828

*******************

In contrast, if you do

tabexp if v025==1, rates
tabexp if v025==2, rates

or

by v025, sort: tabexp, rates

the rates will be the same, but weighted events and exposure will not be the same as in the previous example, because the weights are normalized so that their sum is equal to the sample size. So, doing it separately by place of residence will not allow you to estimate the share of exposure in each place of residence. If sampling weights were all equal to 1, the two approaches would lead to the same results.

Since you mentioned you tried also the following command, I will briefly comment on this.

. tabexp if v012 <=19 & v025 ==1

Here, you are not computing events and exposure beetween 15-19, but among women aged 15-19 at the time of the survey. By default, the minimum age in tabexp and tfr2 will be 15. So, three years before the survey, you will only get events and exposure among women 15-16. So, if you want to work on a specific age group, use minage and maxage options, but do not select people on the age at the time of the survey.

Best,

Bruno

Bruno Schoumaker
Centre for Demographic Research
Université catholique de Louvain
Re: Using tfr2 to Calculate age specific marital fertility rate [message #18166 is a reply to message #18163] Thu, 03 October 2019 03:47
 Mercysh Messages: 35Registered: April 2014 Member
Thank you for the detailed response. My concerns are addressed.

Mercy
Re: Using tfr2 to Calculate age specific marital fertility rate [message #18168 is a reply to message #18166] Thu, 03 October 2019 07:39
 Mercysh Messages: 35Registered: April 2014 Member
Just to say the following gives me number of events (weighted) - 318.67 not national ASFR:

You can check that the weighted mean of the rates (exposure used as weights) is equal to the rate at the country level : 2852,75*0,0624375+1629,376*0,086262=0,0710984

Thank you

Mercy
Re: Using tfr2 to Calculate age specific marital fertility rate [message #18170 is a reply to message #18168] Thu, 03 October 2019 07:45
 schoumaker Messages: 58Registered: May 2013 Location: Belgium Senior Member
Yes, sorry, you should divide by the total exposure (2852,75+1629,376).
Best, Bruno

Bruno Schoumaker
Centre for Demographic Research
Université catholique de Louvain
Re: Using tfr2 to Calculate age specific marital fertility rate [message #18171 is a reply to message #18170] Thu, 03 October 2019 08:22
 Mercysh Messages: 35Registered: April 2014 Member
Noted, thank you.

Mercy
Re: Using tfr2 to Calculate age specific marital fertility rate [message #18197 is a reply to message #18170] Thu, 10 October 2019 11:03
 Mercysh Messages: 35Registered: April 2014 Member
Dear Bruno

A follow-up question-

How can one decompose ASFR given the following:
1. That the rate refers to mid-point of the 3 years before the survey but all the potential independent variables' reference is at the time of the survey
2. That the denominator here is the PY(exposure) not the total population -although the total cases (number of women) are available using tfr2 but I could not get the numbers disaggregated for each variable.

Your help will be much appreciated.

Kind regards;

Mercy

Mercy
 Previous Topic: cannot reproduce TFR using R-package DHS.rates Next Topic: Calculation of Sex ratio at birth and chld sex ratio using DHS survey
Goto Forum:

Current Time: Sat Aug 13 11:05:36 Coordinated Universal Time 2022