Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -339,3 +339,7 @@ input/EUROMODoutput/current/uk_2027_std.txt
input/InitialPopulations/current/*
input/InitialPopulations/testing/*
*.dta
src/main/java/simpaths/data/startingpop/DataParser.new
src/main/java/simpaths/data/startingpop/DataParser.old
input/EUROMODoutput/limit/*
input/InitialPopulations/limit/*
6 changes: 0 additions & 6 deletions .idea/sqldialects.xml

This file was deleted.

78 changes: 78 additions & 0 deletions analysis/fertility analysis.do
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
/**************************************************************************************
*
* PROGRAM TO ANALYSE EMPLOYMENT TRANSATIONS
*
* Last version: Justin van de Ven, 06 May 2025
* First version: Justin van de Ven, 06 May 2025
*
**************************************************************************************/

clear all
global moddir = "C:\Justin\dev\CeMPASimPaths\output\20251029155614\csv"
global outdir = "C:\Justin\analysis\data\"
cd "$outdir"


/**************************************************************************************
* start
**************************************************************************************/
global year_start = 2015
global year_end = 2026


/**************************************************************************************
* load data
**************************************************************************************/
import delimited using "$moddir/BenefitUnit.csv", clear
rename *, l
rename id_benefitunit idbenefitunit
gsort idbenefitunit time
save "$outdir/temp0", replace
import delimited using "$moddir/Person.csv", clear
rename *, l
rename id_person idperson
rename socialcareprovision socialcareprovision_p
gsort idbenefitunit time idperson
merge m:1 idbenefitunit time using temp0
gsort time idbenefitunit idperson
gen refbenefitunit = 0
replace refbenefitunit = 1 if (idbenefitunit != idbenefitunit[_n-1])

destring hoursworkedweekly, replace force
recode hoursworkedweekly (missing=0)
gen idNotEmployedAdult = (hoursworkedweekly<0.1 & dag>17)

gen led = (deh_c3=="Low")
gen med = (deh_c3=="Medium")
gen hed = (deh_c3=="High")

gen male = (dgn=="Male")

gen idbaby = (dag==0)
bys time idbenefitunit: egen baby = sum(idbaby)

save "$outdir/temp1", replace


/**************************************************************************************
* analysis
**************************************************************************************/
use "$outdir/temp1", clear
global year_ref = $year_start-1

// block 1 statistics
gen emp = (hoursworkedweekly>0.5)
gen emp_to_nemp = 0
gen nemp_to_emp = 0
gsort idperson time
replace emp_to_nemp = 1 if (idperson[_n-1]==idperson & time[_n-1]+1==time & emp[_n-1]==1 & emp==0)
replace nemp_to_emp = 1 if (idperson[_n-1]==idperson & time[_n-1]+1==time & emp[_n-1]==0 & emp==1)
order time idperson hoursworkedweekly emp emp_to_nemp
matrix store1 = J($year_end-$year_ref,1,.)
forvalues yy = $year_start/$year_end {
qui{
sum baby if (time==`yy' & dag>17 & dag<65), mean
mat store1[`yy'-${year_ref},1] = r(mean)
}
}
matlist store1
Binary file modified input/DatabaseCountryYear.xlsx
Binary file not shown.
Binary file modified input/EUROMODpolicySchedule.xlsx
Binary file not shown.
2 changes: 1 addition & 1 deletion input/InitialPopulations/compile/00_master.do
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ global dir_ukhls_data "D:\Dasha\UK-original-data\USoc\UKDA-6614-stata\stata\stat
*global dir_ukhls_data "C:\Users\Patryk\Documents\SP_prep_pop\ukhls\UKDA-6614-stata\stata\stata13_se\ukhls"

* Directory which contains WAS data
*global dir_was_data "J:\01 DATA\UK\was\wave7\stata\stata13_se"
*global dir_was_data "J:\01 DATA\UK\was\wave8\stata\stata13_se"
global dir_was_data "D:\Dasha\UK-original-data\WAS\UKDA-7215-stata\stata\stata13_se"
*global dir_was_data "C:\Users\Patryk\Documents\WAS\UKDA-7215-stata\stata\stata13_se"

Expand Down
31 changes: 30 additions & 1 deletion input/InitialPopulations/compile/02_create_UKHLS_variables.do
Original file line number Diff line number Diff line change
Expand Up @@ -1326,6 +1326,33 @@ egen yhhnb = rowtotal(ypnb ypnbsp) if dhhtp_c4 == 1 | dhhtp_c4 == 2 //Household
replace yhhnb = ypnb if dhhtp_c4 == 3 | dhhtp_c4 == 4 //If single, household income is equal to individual income


/*Disposable income */
sort hidp
gen ydisp = fimnnet_dv
recode ydisp (missing = 0)
by hidp: egen hhinc = sum(ydisp)
gen res = fihhmnnet1_dv - hhinc
gen mis = (fimnnet_dv>=.)*(age_dv>17.5)
by hidp: egen nmis = sum(mis)
replace ydisp = res / nmis if (res>0.1 & res<. & mis==1)

drop hhinc res mis nmis
by hidp: egen hhinc = sum(ydisp)
gen res = fihhmnnet1_dv - hhinc
gen mis = (fimnnet_dv>=.)*(age_dv>14.5)*(age_dv<17.5)
by hidp: egen nmis = sum(mis)
replace ydisp = res / nmis if (res>0.1 & res<. & mis==1)
recode ydisp (missing=0)
/* checks
by hidp: egen hhinc2 = sum(ydisp)
gen res2 = fihhmnnet1_dv - hhinc2
gen chk = (abs(res2) > 0.1)*(fihhmnnet1_dv<.)
order age_dv fihhmnnet1_dv fimnnet_dv ydisp hhinc res res2 mis nmis chk, a(hidp)
tab chk
drop hhinc2 res2 chk
*/
drop hhinc res mis nmis

*Income CPI
/*CPIH INDEX 00: ALL ITEMS 2015=100
CDID L522
Expand Down Expand Up @@ -1362,6 +1389,7 @@ replace ypnb = ypnb/CPI
replace yptc = yptc/CPI
replace yplgrs = yplgrs/CPI
replace ypnbsp = ypnbsp/CPI
replace ydisp = ydisp/CPI

*Inverse hyperbolic sine transformation:
/*This transformation is useful for data that exhibit highly skewed distributions,
Expand Down Expand Up @@ -1409,6 +1437,7 @@ la var ypnbihs_dv "Gross personal non-benefit income"
la var yptciihs_dv "Gross personal non-employment, non-benefit income"
la var yplgrs_dv "Gross personal employment income"
la var ynbcpdf_dv "Difference between own and spouse's gross personal non-benefit income"
la var ydisp "Disposable income (individual)"

*Gross-to-net ratio
gen gross_net_ratio = fimngrs_dv/fimnnet_dv
Expand Down Expand Up @@ -1601,7 +1630,7 @@ replace dwt = 0 if missing(dwt)
/***************************Keep required variables***************************/
keep ivfio idhh idperson idpartner idfather idmother dct drgn1 dwt dnc02 dnc dgn dgnsp dag dagsq dhe dhesp dcpst ///
ded deh_c3 der dehsp_c3 dehm_c3 dehf_c3 dehmf_c3 dcpen dcpyy dcpex dcpagdf dlltsd dlltsd01 dlrtrd drtren dlftphm dhhtp_c4 dhm dhm_ghq dimlwt disclwt ///
dimxwt dhhwt jbhrs jshrs j2hrs jbstat les_c3 les_c4 lessp_c3 lessp_c4 lesdf_c4 ydses_c5 month scghq2_dv ///
dimxwt dhhwt jbhrs jshrs j2hrs jbstat les_c3 les_c4 lessp_c3 lessp_c4 lesdf_c4 ydses_c5 month scghq2_dv ydisp ///
ypnbihs_dv yptciihs_dv yplgrs_dv ynbcpdf_dv ypncp ypnoab swv sedex ssscp sprfm sedag stm dagsp lhw l1_lhw pno ppno hgbioad1 hgbioad2 der adultchildflag ///
econ_benefits econ_benefits_nonuc econ_benefits_uc ///
sedcsmpl sedrsmpl scedsmpl dhh_owned dukfr dchpd dagpns dagpns_sp CPI lesnr_c2 dlltsd_sp dlltsd01_sp ypnoab_lvl *_flag Int_Date dhe_mcs dhe_pcs dhe_mcssp dhe_pcssp dls dot dot01 unemp financial_distress
Expand Down
10 changes: 7 additions & 3 deletions input/InitialPopulations/compile/09_finalise_input_data.do
Original file line number Diff line number Diff line change
Expand Up @@ -178,26 +178,30 @@ forvalues yy = $firstSimYear/$lastSimYear {
//sum of weights
cap gen one =1
sum one [w=dwt]

*evaluate disposable income at household level
gsort idhh idbenefitunit idperson
by idhh idbenefitunit: egen disp_inc = sum(ydisp)

*limit saved variables
keep idhh idbenefitunit idperson idpartner idmother idfather pno swv dgn dag dcpst dnc02 dnc ded deh_c3 sedex jbstat les_c3 dlltsd dlltsd01 dhe ydses_c5 ///
yplgrs_dv ypnbihs_dv yptciihs_dv dhhtp_c4 ssscp dcpen dcpyy dcpex dcpagdf ynbcpdf_dv der sedag sprfm dagsp dehsp_c3 dhesp lessp_c3 dehm_c3 dehf_c3 ///
stm lesdf_c4 ppno dhm scghq2_dv dhh_owned lhw l1_lhw drgn1 dct dwt_sampling les_c4 dhm_ghq lessp_c4 adultchildflag multiplier dwt ///
potential_earnings_hourly l1_potential_earnings_hourly liquid_wealth tot_pen nvmhome need_socare formal_socare_hrs partner_socare_hrs daughter_socare_hrs son_socare_hrs other_socare_hrs formal_socare_cost carehoursprovidedweekly ///
econ_benefits econ_benefits_nonuc econ_benefits_uc ///
ypncp ypnoab aidhrs carewho dhe_mcs dhe_pcs dhe_mcssp dhe_pcssp dls dot dot01 unemp financial_distress
disp_inc ypncp ypnoab aidhrs carewho dhe_mcs dhe_pcs dhe_mcssp dhe_pcssp dls dot dot01 unemp financial_distress

order idhh idbenefitunit idperson idpartner idmother idfather pno swv dgn dag dcpst dnc02 dnc ded deh_c3 sedex jbstat les_c3 dlltsd dlltsd01 dhe ydses_c5 yplgrs_dv ypnbihs_dv yptciihs_dv dhhtp_c4 ssscp dcpen ///
dcpyy dcpex dcpagdf ynbcpdf_dv der sedag sprfm dagsp dehsp_c3 dhesp lessp_c3 dehm_c3 dehf_c3 stm lesdf_c4 ppno dhm scghq2_dv dhh_owned lhw l1_lhw drgn1 dct dwt_sampling les_c4 dhm_ghq lessp_c4 adultchildflag ///
multiplier dwt potential_earnings_hourly l1_potential_earnings_hourly liquid_wealth tot_pen nvmhome need_socare formal_socare_hrs partner_socare_hrs daughter_socare_hrs son_socare_hrs other_socare_hrs formal_socare_cost carehoursprovidedweekly ///
econ_benefits econ_benefits_nonuc econ_benefits_uc ///
ypncp ypnoab aidhrs carewho dhe_mcs dhe_pcs dhe_mcssp dhe_pcssp dls dot dot01 unemp financial_distress
disp_inc ypncp ypnoab aidhrs carewho dhe_mcs dhe_pcs dhe_mcssp dhe_pcssp dls dot dot01 unemp financial_distress

recode idhh idbenefitunit idperson idpartner idmother idfather pno swv dgn dag dcpst dnc02 dnc ded deh_c3 sedex jbstat les_c3 dlltsd dlltsd01 dhe ydses_c5 yplgrs_dv ypnbihs_dv yptciihs_dv dhhtp_c4 ssscp ///
dcpen dcpyy dcpex dcpagdf ynbcpdf_dv der sedag sprfm dagsp dehsp_c3 dhesp lessp_c3 dehm_c3 dehf_c3 stm lesdf_c4 ppno dhm scghq2_dv dhh_owned lhw l1_lhw drgn1 dct dwt_sampling les_c4 dhm_ghq lessp_c4 ///
adultchildflag multiplier dwt potential_earnings_hourly l1_potential_earnings_hourly liquid_wealth tot_pen nvmhome need_socare formal_socare_hrs partner_socare_hrs daughter_socare_hrs son_socare_hrs other_socare_hrs carehoursprovidedweekly ///
econ_benefits econ_benefits_nonuc econ_benefits_uc ///
formal_socare_cost ypncp ypnoab aidhrs carewho dhe_mcs dhe_pcs dhe_mcssp dhe_pcssp dls dot dot01 unemp financial_distress (missing=-9)
formal_socare_cost disp_inc ypncp ypnoab aidhrs carewho dhe_mcs dhe_pcs dhe_mcssp dhe_pcssp dls dot dot01 unemp financial_distress (missing=-9)

gsort idhh idbenefitunit idperson
save "$dir_data/population_initial_UK_$year.dta", replace
Expand Down
12 changes: 7 additions & 5 deletions input/InitialPopulations/compile/10_check_yearly_data.do
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,8 @@ partner_socare_hrs
daughter_socare_hrs
son_socare_hrs
other_socare_hrs
formal_socare_cost
formal_socare_cost
disp_inc
ypncp
ypnoab
dhe_mcs
Expand Down Expand Up @@ -142,7 +143,8 @@ dnc
ded
sedex
dlltsd
dlltsd01
dlltsd01
disp_inc
ypncp
ypnoab
yplgrs_dv
Expand Down Expand Up @@ -365,17 +367,17 @@ insheet using "$dir_data/population_initial_UK_`year'.csv", clear
yplgrs_dv ypnbihs_dv yptciihs_dv dhhtp_c4 ssscp dcpen dcpyy dcpex dcpagdf ynbcpdf_dv der sedag sprfm dagsp dehsp_c3 dhesp lessp_c3 dehm_c3 dehf_c3 ///
stm lesdf_c4 ppno dhm scghq2_dv dhh_owned lhw drgn1 dct dwt_sampling les_c4 dhm_ghq lessp_c4 adultchildflag multiplier dwt ///
potential_earnings_hourly l1_potential_earnings_hourly liquid_wealth need_socare formal_socare_hrs partner_socare_hrs daughter_socare_hrs son_socare_hrs other_socare_hrs formal_socare_cost ///
ypncp ypnoab aidhrs carewho dhe_mcs dhe_pcs dot dot01 unemp dhe_mcssp dhe_pcssp
disp_inc ypncp ypnoab aidhrs carewho dhe_mcs dhe_pcs dot dot01 unemp dhe_mcssp dhe_pcssp

order idhh idbenefitunit idperson idpartner idmother idfather pno swv dgn dag dcpst dnc02 dnc ded deh_c3 sedex jbstat les_c3 dlltsd dlltsd01 dhe ydses_c5 yplgrs_dv ypnbihs_dv yptciihs_dv dhhtp_c4 ssscp dcpen ///
dcpyy dcpex dcpagdf ynbcpdf_dv der sedag sprfm dagsp dehsp_c3 dhesp lessp_c3 dehm_c3 dehf_c3 stm lesdf_c4 ppno dhm scghq2_dv dhh_owned lhw drgn1 dct dwt_sampling les_c4 dhm_ghq lessp_c4 adultchildflag ///
multiplier dwt potential_earnings_hourly l1_potential_earnings_hourly liquid_wealth need_socare formal_socare_hrs partner_socare_hrs daughter_socare_hrs son_socare_hrs other_socare_hrs formal_socare_cost ///
ypncp ypnoab aidhrs carewho dhe_mcs dhe_pcs dhe_mcssp dhe_pcssp dot dot01 unemp
disp_inc ypncp ypnoab aidhrs carewho dhe_mcs dhe_pcs dhe_mcssp dhe_pcssp dot dot01 unemp

recode idhh idbenefitunit idperson idpartner idmother idfather pno swv dgn dag dcpst dnc02 dnc ded deh_c3 sedex jbstat les_c3 dlltsd dlltsd01 dhe ydses_c5 yplgrs_dv ypnbihs_dv yptciihs_dv dhhtp_c4 ssscp ///
dcpen dcpyy dcpex dcpagdf ynbcpdf_dv der sedag sprfm dagsp dehsp_c3 dhesp lessp_c3 dehm_c3 dehf_c3 stm lesdf_c4 ppno dhm scghq2_dv dhh_owned lhw drgn1 dct dwt_sampling les_c4 dhm_ghq lessp_c4 ///
adultchildflag multiplier dwt potential_earnings_hourly l1_potential_earnings_hourly liquid_wealth need_socare formal_socare_hrs partner_socare_hrs daughter_socare_hrs son_socare_hrs other_socare_hrs ///
formal_socare_cost ypncp ypnoab aidhrs carewho dhe_mcs dhe_pcs dhe_mcssp dhe_pcssp dot dot01 unemp (missing=-9)
formal_socare_cost disp_inc ypncp ypnoab aidhrs carewho dhe_mcs dhe_pcs dhe_mcssp dhe_pcssp dot dot01 unemp (missing=-9)

gsort idhh idbenefitunit idperson
save "$dir_data/population_initial_UK_`year'.dta", replace
Expand Down
4 changes: 2 additions & 2 deletions input/InitialPopulations/compile/99_training_data.do
Original file line number Diff line number Diff line change
Expand Up @@ -185,7 +185,7 @@ rename dwt2 dwt
save "$dir_data/temp10", replace

// adjust continuous variables
foreach vv of varlist yplgrs_dv ypnbihs_dv yptciihs_dv ynbcpdf_dv liquid_wealth tot_pen nvmhome ypncp ypnoab formal_socare_hrs partner_socare_hrs daughter_socare_hrs son_socare_hrs other_socare_hrs formal_socare_cost aidhrs {
foreach vv of varlist yplgrs_dv ypnbihs_dv yptciihs_dv ynbcpdf_dv liquid_wealth tot_pen nvmhome disp_inc ypncp ypnoab formal_socare_hrs partner_socare_hrs daughter_socare_hrs son_socare_hrs other_socare_hrs formal_socare_cost aidhrs {
gen tmp = `vv'
order tmp, a(`vv')
recode tmp (0=.)
Expand All @@ -212,7 +212,7 @@ save "$dir_data/temp11", replace

// set benefit unit level variables
use "$dir_data/temp11", clear
foreach vv of varlist drgn1 ydses_c5 dhh_owned dwt liquid_wealth tot_pen nvmhome {
foreach vv of varlist drgn1 ydses_c5 dhh_owned dwt liquid_wealth tot_pen nvmhome disp_inc {

rename `vv' `vv'i
bys idbenefitunit: egen `vv' = mean(`vv'i)
Expand Down
Loading