determinants of neonatal mortality [message #29270] |
Thu, 16 May 2024 16:49 |
danielmoyo2001@gmail.com
Messages: 8 Registered: March 2024
|
Member |
|
|
After running my logistic regression on Stata using ZDHS 2018, my independent variables, i.e., socioeconomic and demographic variables, are coming out as insignificant. what could be the problem. the following is my do file
*STEP 1
gen wt= v005/1000000
egen strata=group(v024 v025)
svyset [pw=wt], psu(v001) strata(strata)
*STEP 2: GENERATE THE DEPENDENT VARIABLE
* create a child Alive or Died variable using the b5 variable
gen alive=b5
lab def alive 0 "Died" 1 "Alive"
lab val alive alive
lab var alive "Alive or Died by the time of survey"
*** Age at death using variables b6 and b5
gen age_death=.
replace age_death = 1 if b6<=130 & b5==0
replace age_death = 0 if (b6> 130 & b6<=333) | b5==1
lab def age_death 1 "Neonatal Death" 0 "Survived Neonatal Period"
lab val age_death age_death
lab var age_death "neonatalmortality"
*STEP 3: GENERATING THE INDEPENDENT VARIABLES
*1. age of woman in years( grouped into 1524, 2534, 35+)**
recode v013(1/2=0 "15-24") (3/4=1 "25-34") (5/7=2 "35+"), gen(agegroup)
label var agegroup "Age Group"
ta agegroup,m
*2. household wealth index (categorized into poorest/poorer, middle and richer/richest)**
recode v190(1/2=0 "Poor") (3=1 "Middle") (4/5=2 "Rich"), gen(wealthindex)
label var wealthindex "Wealth Index 1"
ta wealthindex,m
*3. education level
recode v106(0=0 "no education") (1=1 "primary") (2=2 "secondary") (3=3 "tertiary"), gen(edulevel)
ta edulevel, m
*4. place of residence (urban or rural)***
ta v025
*5. Antenatal care
recode m14(0/3=0 "<4 anc visits") (4/12=1 "4+ anc visits") (. 98=2 "missing"), gen(anc)
drop if anc==2
**6. exposure to the mass media (grouped into; frequency of reading newspaper, listening to radio and watching television)**
for var v157 v158 v159: recode X .=0
gen media = v157+v158+v159
recode media (0=0 "No access/exposure") (1/9=1 "Access to media/exposed"), gen(media_exposure)
ta media_exposure, m
**7. sex of child**
ta b4
**8. birth interval*
recode b11(8/23=0 "<= 23 months") (24/35=1 "24-34 months") (36/47=2 "36-47 months") (48/251=3 ">= 48 months") (.=4 "missing"), gen(birth_interval)
drop if birth_interval==4
**9. birth order**
recode bord(1=0 "1st") (2=1 "2nd") (3=2 "3rd") (else=3 "4 or more"), gen(birth_order)
* descriptive analysis
************************************************************ ********
**A. UNIVARIATE ANALYSIS*********************************
tabout v025 anc birth_interval birth_order media_exposure b4 wealthindex agegroup edulevel neonatal using Table1.xls, c(col) oneway svy nwt(wt) per pop append
**B. BIVARIATE ANALYSIS/CROSSTABS AND CHI SQUARE TEST**********************************
tabout v025 anc birth_interval birth_order media_exposure b4 wealthindex agegroup edulevel neonatal using Table2.xls, c(row ci) stats(chi2) svy nwt(wt) per pop replace
**C. LOGISTIC REGRESSION ANALYSIS*****************************
svy: logistic neonatal i.v025 i.anc i.birth_interval i.birth_order i.media_exposure i.b4 i.wealthindex i.agegroup i.edulevel, base
outreg2 using Table3.xls, eform stats(coef ci) sideway dec(2) label(insert) alpha(0.05) replace
|
|
|
Re: determinants of neonatal mortality [message #29394 is a reply to message #29270] |
Tue, 11 June 2024 15:43 |
Janet-DHS
Messages: 893 Registered: April 2022
|
Senior Member |
|
|
Following is a response from DHS staff member, Tom Pullum:
We apologize for the delay in this response.
Your outcome variable is not defined clearly. I would recommend this for the 28-day definition of the NMR:
gen age_death=0
replace age_death = 1 if b6<=127
Alternatively you could use the DHS definition:
gen age_death=0
replace age_death = 1 if b7=0
Are you using the KR file? You appear to be using all the births in whatever file you are using.
Your age variable gives the age of the mother at the time of the survey rather than at the time of the birth. Media exposure and wealth are also current status variables. The lack of synchronization with the birth or the death would affect your interpretation of the results.
Several (most?) of your predictor variables are categorical and you appear to be treating them as interval-level. You need to put "i." in front of the variable name in the estimation command.
It's good that you are including the svy adjustments.
The reason you are not getting statistical significance could just be that the number of deaths is too small, and random variation is swamping systematic variation. This can happen. Also having a lot of predictors in the model tends to dilute the systematic effects. I suggest that you try a simple model with just b4 (the sex of the child) as the predictor. Mortality is always higher for boys than for girls, and I would expect that this effect would show up for sure. Then try other predictors one at a time.
|
|
|