Home » Topics » Fertility » Using tfr2 to Calculate age specific marital fertility rate
Using tfr2 to Calculate age specific marital fertility rate [message #13538] |
Fri, 17 November 2017 00:31 |
Michaelo
Messages: 15 Registered: 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 #13559 is a reply to message #13538] |
Sat, 18 November 2017 15:31 |
schoumaker
Messages: 66 Registered: 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: 15 Registered: 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: 66 Registered: May 2013 Location: Belgium
|
Senior Member |
|
|
Thanks for your feedback,
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 #18151 is a reply to message #18048] |
Mon, 30 September 2019 04:21 |
Mercysh
Messages: 35 Registered: 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 #18163 is a reply to message #18160] |
Wed, 02 October 2019 13:04 |
schoumaker
Messages: 66 Registered: 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 #18197 is a reply to message #18170] |
Thu, 10 October 2019 11:03 |
Mercysh
Messages: 35 Registered: 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
|
|
|
Re: Using tfr2 to Calculate age specific marital fertility rate [message #27271 is a reply to message #13562] |
Tue, 11 July 2023 05:37 |
|
Dear Bruno!
I have used tfr2 package extensively on different rounds of Pakistan Demographic and Health Surveys (PDHS).
Tfr2 uses awfact for different subgroups. In this regards, five major variables of awfact for u/r, regions, education, wealth quintiles and total samples are constructed and provided with IR data file in DHS.
Can I have tfr2 package that accumulates only ever married women samples instead of awfact. It can help to calculated marital age specific fertility rates and marital TFRs.
Secondly, DHS report CS28 "Gora Mboup and Tulshi Saha. 1998. Fertility Levels, Trends and Differentials. DHS Comparative Studies No. 28. Calverton, Maryland: Macro International Inc." page#3 (https://www.dhsprogram.com/pubs/pdf/CS28/CS28.pdf) provides details on how MTFR can be calculated. we also need to have another filter of age 24-29 years marital duration to be incorporated in by definition.
Can you kindly help me on how can i achieve MTFRs!
Your response is import for me to understand fertility trends in Pakistan.
Thank You
Waqas Imran
Waqas Imran
|
|
|
Re: Using tfr2 to Calculate age specific marital fertility rate [message #27277 is a reply to message #27271] |
Wed, 12 July 2023 07:46 |
schoumaker
Messages: 66 Registered: May 2013 Location: Belgium
|
Senior Member |
|
|
Hello,
Thank you for your message.
By default, tfr2 uses awfactt to compute ASFRs. However, if you want to compute marital fertility rates, awfactt should not be used.
You can simply create a new all-women factor variable that is constant and equal to 100 (as in surveys with all women), and can compute marital fertility rates among ever married women in the following way.
gene awfac_cons=100
tfr2, entry(v509) awf(awfac_cons)
the DHS report you mention refers to duration-specific marital fertility rates. Unfortunately, the Stata command tfr2 does not allow computing fertility rates by duration of mariage. I could think of including it in a revised version (but probably not very soon).
I hope this helps.
Best regards,
Bruno
Bruno Schoumaker
Centre for Demographic Research
Université catholique de Louvain
|
|
|
Re: Using tfr2 to Calculate age specific marital fertility rate [message #27280 is a reply to message #27277] |
Thu, 13 July 2023 00:38 |
|
Hi Bruno!
Thankyou for your timely response over my query.
I have executed as your suggested. There is problem with age specific rates here. None of figure matches with rates published in final report of Pakistan Demographic and Health survey 2006-07 (FR200 Table 4.3 page 44). Although TMFR deviates slightly by 0.1-0.2 births (It is 6.6 TMFR published vs 6.5 TMFR calculated from you suggested commends).
Also guide me whether should is use selection of v025==1 for urban and v025==2 for urban and rural samples respectively as below:-
tfr2 if (v025==1), entry(v509) awf(awfac_cons)
tfr2 if (v025==2), entry(v509) awf(awfac_cons)
Your expert suggestion is needed here.
Thankyou
Waqas Imran
Waqas Imran
|
|
|
Re: Using tfr2 to Calculate age specific marital fertility rate [message #27281 is a reply to message #27280] |
Thu, 13 July 2023 03:19 |
schoumaker
Messages: 66 Registered: May 2013 Location: Belgium
|
Senior Member |
|
|
Hello,
Thank you for your useful feedback. I checked the 2006 Pakistan report to replicate the published results (FR200, Table 4.3).
Here is the code that gives exactly the same results as those published in the report.
gene awfac_cons=100 // creating an artificial all women factor
gene v509c=v509-1 // removing one month from the date of first union
tfr2, entry(v509c) awf(awfac_cons), if v501==1 // for the total
tfr2, entry(v509c) awf(awfac_cons), if v501==1 & v025==2 // in rural areas
tfr2, entry(v509c) awf(awfac_cons), if v501==1 & v025==1 // in urban areas
tfr2, entry(v509c) awf(awfac_cons), if v501==1 & v026==0 // in major city
tfr2, entry(v509c) awf(awfac_cons), if v501==1 & v025==1 & v026!=0 // in other urban
So, the differences with the previous code are that:
1. the rates are computed among currenttly married women (v501==1)
2. the date of marriage is changed to the previous month.
I need to check why in the date of first union needs to be changed for the results to match perfectly. But in this way you will be able to replicate the results, and use the same approach with more recent data to look at trends in marital fertility.
Best regards.
Bruno
Bruno Schoumaker
Centre for Demographic Research
Université catholique de Louvain
|
|
|
|
Re: Using tfr2 to Calculate age specific marital fertility rate [message #27284 is a reply to message #27282] |
Thu, 13 July 2023 04:11 |
schoumaker
Messages: 66 Registered: May 2013 Location: Belgium
|
Senior Member |
|
|
Hello,
You can change the number of years preceding the survey with the 'length' option.
For instance
tfr2, entry(v509c) awf(awfac_cons) len(5), if v501==1 // for the total
will compute rates for the 5 years preceding the survey.
You can also use calendar years instead of years preceding the survey, with the option cy.
tfr2, entry(v509c) awf(awfac_cons) len(5) cy, if v501==1 // for the total
Best regards,
Bruno
Bruno Schoumaker
Centre for Demographic Research
Université catholique de Louvain
|
|
|
|
Goto Forum:
Current Time: Sun Dec 1 18:31:54 Coordinated Universal Time 2024
|