The DHS Program User Forum      
Discussions regarding The DHS Program data and results
Home » Topics » Domestic Violence » Cannot replicate IPV ever for India DHS 2005-06
Cannot replicate IPV ever for India DHS 2005-06 [message #11926] Tue, 07 March 2017 10:51 Go to next message
dgodha is currently offline  dgodha
Messages: 9
Registered: November 2016
Location: India
Member
Hello,

I have been trying to replicate IPV ever for India DHS 2005-06 (NFHS III) but while I am able to get the population size correctly, the prevalence estimate does not match for the 15-19 age group (Table 15.9 on page 509). There is a similar issue raised for Nepal but trying that solution has not worked here. I have used the following commands using Stata 13.1:

/*Generating weights*/
gen dwt=d005/1000000
svyset [pw=dwt], psu(s021) strata(v025)

*Any intimate partner violence
egen ipv=rsum (d104 d106 d107 d108)

gen violence=0 if ipv==0
replace violence=1 if ipv>0 & ipv~=.

svy :tab violence if v013==1 & v501>=1 & v501<=5 & v044==1

I will really appreciate if someone can point me the reason for the discrepancy and how to get the exact match.
Thanks
D. Godha


Godha
Re: Cannot replicate IPV ever for India DHS 2005-06 [message #11942 is a reply to message #11926] Fri, 10 March 2017 10:13 Go to previous messageGo to next message
Liz-DHS
Messages: 1026
Registered: February 2013
Senior Member
Dear User,
Thank you for posting to the forum. I have referred your post to one of our experts. In the meantime, please take a look at these series of YouTube videos. If you find your answer in one of these videos, please do let us know. Thank you!
https:// www.youtube.com/playlist?list=PLagqLv-gqpTMU3avlnBDodTWCazUR y4CT
Re: Cannot replicate IPV ever for India DHS 2005-06 [message #12001 is a reply to message #11942] Fri, 17 March 2017 10:48 Go to previous messageGo to next message
Bridgette-DHS is currently offline  Bridgette-DHS
Messages: 1073
Registered: February 2013
Senior Member
Following is a response from Senior DHS Specialist, Kerry MacQuarrie:

The problem is in the code below when you sum d104-d108 to create the variable ipv. Variables d104, d106, d107, and d108 have some "9" codes which are getting picked up along with the "1"s. You only want to count the "1"s. This means that women who did not report that form of violence are getting swept into the yeses and her estimate on the variable "violence" is higher than reported in the Final Report. Hope this helps!


/*Generating weights*/
gen dwt=d005/1000000
svyset [pw=dwt], psu(s021) strata(v025)

*Any intimate partner violence
egen ipv=rsum (d104 d106 d107 d108)

gen violence=0 if ipv==0
replace violence=1 if ipv>0 & ipv~=.

svy :tab violence if v013==1 & v501>=1 & v501<=5 & v044==1
Re: Cannot replicate IPV ever for India DHS 2005-06 [message #12005 is a reply to message #12001] Fri, 17 March 2017 13:43 Go to previous messageGo to next message
dgodha is currently offline  dgodha
Messages: 9
Registered: November 2016
Location: India
Member
Dear Kerry,

I appreciate your help here.

Just to clarify further on your reasoning, this is not the case with India DHS 2005-06. If there had been any '9's, then I would have coded differently and included only the '1's in my counting. Further proof that I am not dealing with any '9's is that the maximum count my variable 'ipv' has is 4 (range: 0-4).

I will request your assistance to get to the root of the problem.

Thanks


Godha
Re: Cannot replicate IPV ever for India DHS 2005-06 [message #12012 is a reply to message #12005] Mon, 20 March 2017 07:00 Go to previous messageGo to next message
Bridgette-DHS is currently offline  Bridgette-DHS
Messages: 1073
Registered: February 2013
Senior Member
Following is a response from Senior DHS Specialist, Kerry MacQuarrie:

There are two issues; my first response only addressed one. First, I am looking at the NFHS-3 dataset (IAIR52fl.dta) and I see 9's. My % for each form of IPV separately (emotional, physical, sexual) match the table, as shown below. Perhaps you are not working with the same data file I am (IAIR52fl.dta) or you have already recoded the 9's to 0's.

. tab1 d104 d016 d107 d108 [iw=dwt]

ever any
emotional
violence Freq. Percent Cum.

no 56,073.474 84.12 84.12
yes 10,532.383 15.80 99.92
9 51.7936259 0.08 100.00

Total 66,657.651 100.00


experienced
any less
severe
violence
(d105a-d) Freq. Percent Cum.

no 48,021 69.11 69.11
yes (d105a-d) 21,404 30.80 99.92
9 59 0.08 100.00

Total 69,484 100.00


experienced
any severe
violence
(d105e-g) Freq. Percent Cum.

no 62,455 89.88 89.88
yes (d105e-g) 6,972 10.03 99.92
9 57 0.08 100.00

Total 69,484 100.00


experienced
any sexual
violence
(d105h-i) Freq. Percent Cum.

no 59,955.996 89.95 89.95
yes (d105h-i) 6,640.2286 9.96 99.91
9 61.42587743 0.09 100.00

Total 66,657.651 100.00


gen PV=.
replace PV=0 if (d106!=. & d106!=1) | (d107!=. & d107!=1)
replace PV=1 if d106==1 | d107==1


. ta PV [iw=dwt]
PV Freq. Percent Cum.

0 43,293.625 64.95 64.95
1 23,364.026 35.05 100.00

Total 66,657.651 100.00

However, there is a second problem and that is in creating the composite ipv and violence variables; Yours estimate prevalence of any form at 31.6% instead of 39.7%. The following code works to produce estimates that match the table, for each form of IPV separately and for the combinations of physical + sexual and physical + sexual + emotional. The code is not as efficient as yours was, but it is correct.

use "IAIR52FL.dta", clear
/*Generating weights*/
gen dwt=d005/1000000
svyset [pw=dwt], psu(s021) strata(v025)

*Recode 9's
recode d104(9=0),g(d104_r)
recode d106(9=0),g(d106_r)
recode d107(9=0),g(d107_r)
recode d108(9=0),g(d108_r)

*Physical violence
g PV=d106_r
replace PV=1 if d107_r==1
*Physical or sexual violence
g PVSV=PV
replace PVSV=1 if d108_r==1

*Any intimate partner violence 
g ipv=PVSV
replace ipv=1 if d104_r==1
tab1 d104_r PV d108_r PVSV ipv [iw=dwt]
svy :tab ipv if v013==1 & v501>=1 & v501<=5 & v044==1
Re: Cannot replicate IPV ever for India DHS 2005-06 [message #12014 is a reply to message #12012] Mon, 20 March 2017 10:16 Go to previous messageGo to next message
dgodha is currently offline  dgodha
Messages: 9
Registered: November 2016
Location: India
Member
Hello Kerry,

I appreciate your looking into the matter further.

You were right about the dataset. Apparently I had the earlier file- IAIR50FL. So, I re-downloaded the latest one.

But coming to the second part, there is no difference between our commands (they are asking the software to do the same thing) or the output. And I ran both on the IAIR52FL file and I am still getting the same answers- so back to square one. Our population sizes (for "Any violence": physical or sexual or emotional) match with that in the report-4643 but the percentage comes out exactly 33.72. Does this mean 33.72% for "Any violence" is correct?


Your command:
use "IAIR52FL.dta", clear
/*Generating weights*/
gen dwt=d005/1000000
svyset [pw=dwt], psu(s021) strata(v025)

*Recode 9's
recode d104(9=0),g(d104_r)
recode d106(9=0),g(d106_r)
recode d107(9=0),g(d107_r)
recode d108(9=0),g(d108_r)

*Physical violence
g PV=d106_r
replace PV=1 if d107_r==1
*Physical or sexual violence
g PVSV=PV
replace PVSV=1 if d108_r==1

*Any intimate partner violence
g ipv=PVSV
replace ipv=1 if d104_r==1
svy :tab ipv if v013==1 & v501>=1 & v501<=5 & v044==1

My command:
use "IAIR52FL.dta", clear
/*Generating weights*/
gen dwt=d005/1000000
svyset [pw=dwt], psu(s021) strata(v025)

*Recode 9's
recode d104(9=0),g(d104_r)
recode d106(9=0),g(d106_r)
recode d107(9=0),g(d107_r)
recode d108(9=0),g(d108_r)

egen ipv1=rsum (d104_r d106_r d107_r d108_r)
tab ipv1

gen violence=0 if ipv1==0
replace violence=1 if ipv1>0 & ipv1~=.
svy :tab violence if v013==1 & v501>=1 & v501<=5 & v044==1

Thanks in advance
DG



Godha

[Updated on: Mon, 20 March 2017 10:18]

Report message to a moderator

Re: Cannot replicate IPV ever for India DHS 2005-06 [message #12016 is a reply to message #12014] Mon, 20 March 2017 11:14 Go to previous messageGo to next message
Bridgette-DHS is currently offline  Bridgette-DHS
Messages: 1073
Registered: February 2013
Senior Member
Following is a response from Senior DHS Specialist, Kerry MacQuarrie:

My code below does produce a different estimate than yours and one that matches the final report (39.7% ever experienced any IPV). Your population is higher (83,703) on your composite variable than what it should be (66,658). Your code, using the egen command, can be retained and will produce the correct estimate/population if you modify the code for creating the composite "violence" variable as follows:

gen violence=0 if ipv1==0
replace violence=1 if ipv1>0
replace violence=. if d005==. | v502==0


This removes from the 0 category and places into missing both women who did not complete the domestic violence module AND women who did complete the domestic violence module but did NOT answer questions d104-d108 on spousal abuse because they are never married. This produces an estimate of 39.7% experiencing any IPV from a population of 66,658 as shown in the final report.
Re: Cannot replicate IPV ever for India DHS 2005-06 [message #12025 is a reply to message #12016] Tue, 21 March 2017 01:47 Go to previous messageGo to next message
dgodha is currently offline  dgodha
Messages: 9
Registered: November 2016
Location: India
Member
Hello Kerry,

Let me reiterate my original question:
"I have been trying to replicate IPV ever for India DHS 2005-06 (NFHS III) but while I am able to get the population size correctly, the prevalence estimate does not match for the 15-19 age group (Table 15.9 on page 509)."

Now, I have applied your correction to my command but I am still getting 37.2% for IPV ever for the 15-19 year age group but the weighted population is a match at 4643.

My commands:
use "IAIR52FL.dta", clear

/*Generating weights*/
gen dwt=d005/1000000
svyset [pw=dwt], psu(s021) strata(v025)

*Recode 9's
recode d104(9=0),g(d104_r)
recode d106(9=0),g(d106_r)
recode d107(9=0),g(d107_r)
recode d108(9=0),g(d108_r)

egen ipv1=rsum (d104_r d106_r d107_r d108_r)
tab ipv1

gen violence=0 if ipv1==0
replace violence=1 if ipv1>0 & ipv1~=.
replace violence=. if d005==. | v502==0

svy :tab violence if v013==1 & v501>=1 & v501<=5 & v044==1

As I had mentioned in my earlier email, I have tried your commands too and I get the same output for the 15-19 year age group.

I will look forward to your feedback.

Thanks
DG


Godha
Re: Cannot replicate IPV ever for India DHS 2005-06 [message #12037 is a reply to message #12025] Wed, 22 March 2017 01:36 Go to previous messageGo to next message
dgodha is currently offline  dgodha
Messages: 9
Registered: November 2016
Location: India
Member
Sorry, that was 33.72% not 37.2%.

I look forward to your response.

Thanks
DG


Godha
Re: Cannot replicate IPV ever for India DHS 2005-06 [message #12039 is a reply to message #12037] Wed, 22 March 2017 07:37 Go to previous messageGo to next message
Bridgette-DHS is currently offline  Bridgette-DHS
Messages: 1073
Registered: February 2013
Senior Member
Following is a response from Senior DHS Specialist, Kerry MacQuarrie:

The correct numbers are produced when missings (9's) are correctly clubbed with "no". The correct numbers to match should be as below.

index.php?t=getfile&id=701&private=0
  • Attachment: dv.jpg
    (Size: 30.25KB, Downloaded 93 times)
Re: Cannot replicate IPV ever for India DHS 2005-06 [message #12040 is a reply to message #12039] Wed, 22 March 2017 07:45 Go to previous message
dgodha is currently offline  dgodha
Messages: 9
Registered: November 2016
Location: India
Member
Thanks, that's all I needed to know. The prevalence of "Emotional, sexual, or physical violence" in the 15-19 year age group is 33.72% as opposed to 33.9% shown in Table 15.9 on page 509 in the chapter "Domestic Violence" of NFHS-3 Report (India DHS 2005-06).

I appreciate your patience.
Thanks again


Godha
Previous Topic: Domestic violence module in couples dataset
Next Topic: Women empowerment
Goto Forum:
  


Current Time: Fri Jul 28 15:01:30 Eastern Daylight Time 2017