Skip to content

Commit 94bd8ba

Browse files
authored
Merge pull request #59 from pbronka/develop-update-ls-estimates
Update labour supply estimates
2 parents 0f22e67 + cd31a06 commit 94bd8ba

3 files changed

Lines changed: 176 additions & 3 deletions

File tree

input/reg_labourSupplyUtility.xlsx

53.7 KB
Binary file not shown.

src/main/java/simpaths/data/Parameters.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1061,13 +1061,13 @@ else if(country.equals(Country.UK)) {
10611061
columnsEmploymentSelectionMalesE = 29;
10621062
columnsEmploymentSelectionFemalesNE = 30;
10631063
columnsEmploymentSelectionFemalesE = 29;
1064-
columnsLabourSupplyUtilityMales = 18;
1064+
columnsLabourSupplyUtilityMales = 19;
10651065
columnsLabourSupplyUtilityFemales = 12;
10661066
columnsLabourSupplyUtilityMalesWithDependent = 23;
10671067
columnsLabourSupplyUtilityFemalesWithDependent = 23;
10681068
columnsLabourSupplyUtilityACMales = 17;
10691069
columnsLabourSupplyUtilityACFemales = 17;
1070-
columnsLabourSupplyUtilityCouples = 14;
1070+
columnsLabourSupplyUtilityCouples = 64;
10711071
columnsLabourCovid19_SE = 1;
10721072
columnsLabourCovid19_2a_processes = 1;
10731073
columnsHealthH1a = 28;

src/main/java/simpaths/model/BenefitUnit.java

Lines changed: 174 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1938,6 +1938,7 @@ public enum Regressors {
19381938

19391939
// Additional variables for re-estimated LS processes
19401940
FixedCost_Male,
1941+
FixedCost_Female,
19411942
IncomeDiv100_MaleAgeDiv100,
19421943
IncomeDiv100_MaleAgeSqDiv10000,
19431944
IncomeDiv100_dnc,
@@ -1950,6 +1951,62 @@ public enum Regressors {
19501951
L1_lhw_30,
19511952
L1_lhw_4,
19521953
L1_lhw_40,
1954+
L1_lhw_Male_1,
1955+
L1_lhw_Female_1,
1956+
L1_lhw_Male_2,
1957+
L1_lhw_Female_2,
1958+
L1_lhw_Male_3,
1959+
L1_lhw_Female_3,
1960+
L1_lhw_Male_4,
1961+
L1_lhw_Female_4,
1962+
L1_lhw_Male_10,
1963+
L1_lhw_Female_10,
1964+
L1_lhw_Male_11,
1965+
L1_lhw_Female_11,
1966+
L1_lhw_Male_12,
1967+
L1_lhw_Female_12,
1968+
L1_lhw_Male_13,
1969+
L1_lhw_Female_13,
1970+
L1_lhw_Male_14,
1971+
L1_lhw_Female_14,
1972+
L1_lhw_Male_20,
1973+
L1_lhw_Female_20,
1974+
L1_lhw_Male_21,
1975+
L1_lhw_Female_21,
1976+
L1_lhw_Male_22,
1977+
L1_lhw_Female_22,
1978+
L1_lhw_Male_23,
1979+
L1_lhw_Female_23,
1980+
L1_lhw_Male_24,
1981+
L1_lhw_Female_24,
1982+
L1_lhw_Male_30,
1983+
L1_lhw_Female_30,
1984+
L1_lhw_Male_31,
1985+
L1_lhw_Female_31,
1986+
L1_lhw_Male_32,
1987+
L1_lhw_Female_32,
1988+
L1_lhw_Male_33,
1989+
L1_lhw_Female_33,
1990+
L1_lhw_Male_34,
1991+
L1_lhw_Female_34,
1992+
L1_lhw_Male_40,
1993+
L1_lhw_Female_40,
1994+
L1_lhw_Male_41,
1995+
L1_lhw_Female_41,
1996+
L1_lhw_Male_42,
1997+
L1_lhw_Female_42,
1998+
L1_lhw_Male_43,
1999+
L1_lhw_Female_43,
2000+
L1_lhw_Male_44,
2001+
L1_lhw_Female_44,
2002+
MaleEduM_10,
2003+
MaleEduH_10,
2004+
MaleEduM_20,
2005+
MaleEduH_20,
2006+
MaleEduM_30,
2007+
MaleEduH_30,
2008+
MaleEduM_40,
2009+
MaleEduH_40,
19532010
MaleLeisure_dnc,
19542011
FemaleLeisure_dnc,
19552012
MaleLeisure_dnc02,
@@ -2299,6 +2356,10 @@ public double getDoubleValue(Enum<?> variableID) {
22992356
if(male != null && male.getLabourSupplyHoursWeekly() > 0) {
23002357
return 1.;
23012358
} else return 0.;
2359+
case FixedCost_Female:
2360+
if(female != null && female.getLabourSupplyHoursWeekly() > 0) {
2361+
return 1.;
2362+
} else return 0.;
23022363
case FixedCostMale_NorthernRegions:
23032364
if(male.getLabourSupplyHoursWeekly() > 0 && (region.equals(Region.ITC) || region.equals(Region.ITH))) {
23042365
return 1.;
@@ -2547,7 +2608,119 @@ public double getDoubleValue(Enum<?> variableID) {
25472608
return (female != null && female.getLabourSupplyWeekly().equals(Labour.FORTY)) ? female.getL1LabourSupplyHoursWeekly() : 0.;
25482609
case L1_lhw_40:
25492610
return (male != null && male.getLabourSupplyWeekly().equals(Labour.FORTY)) ? male.getL1LabourSupplyHoursWeekly() : 0.;
2550-
case MaleLeisure_dnc02:
2611+
case L1_lhw_Male_1:
2612+
return (male != null && female != null && male.getLabourSupplyWeekly().equals(Labour.ZERO) && female.getLabourSupplyWeekly().equals(Labour.TEN)) ? male.getL1LabourSupplyHoursWeekly() : 0.;
2613+
case L1_lhw_Female_1:
2614+
return (male != null && female != null && male.getLabourSupplyWeekly().equals(Labour.ZERO) && female.getLabourSupplyWeekly().equals(Labour.TEN)) ? female.getL1LabourSupplyHoursWeekly() : 0.;
2615+
case L1_lhw_Male_2:
2616+
return (male != null && female != null && male.getLabourSupplyWeekly().equals(Labour.ZERO) && female.getLabourSupplyWeekly().equals(Labour.TWENTY)) ? male.getL1LabourSupplyHoursWeekly() : 0.;
2617+
case L1_lhw_Female_2:
2618+
return (male != null && female != null && male.getLabourSupplyWeekly().equals(Labour.ZERO) && female.getLabourSupplyWeekly().equals(Labour.TWENTY)) ? female.getL1LabourSupplyHoursWeekly() : 0.;
2619+
case L1_lhw_Male_3:
2620+
return (male != null && female != null && male.getLabourSupplyWeekly().equals(Labour.ZERO) && female.getLabourSupplyWeekly().equals(Labour.THIRTY)) ? male.getL1LabourSupplyHoursWeekly() : 0.;
2621+
case L1_lhw_Female_3:
2622+
return (male != null && female != null && male.getLabourSupplyWeekly().equals(Labour.ZERO) && female.getLabourSupplyWeekly().equals(Labour.THIRTY)) ? female.getL1LabourSupplyHoursWeekly() : 0.;
2623+
case L1_lhw_Male_4:
2624+
return (male != null && female != null && male.getLabourSupplyWeekly().equals(Labour.ZERO) && female.getLabourSupplyWeekly().equals(Labour.FORTY)) ? male.getL1LabourSupplyHoursWeekly() : 0.;
2625+
case L1_lhw_Female_4:
2626+
return (male != null && female != null && male.getLabourSupplyWeekly().equals(Labour.ZERO) && female.getLabourSupplyWeekly().equals(Labour.FORTY)) ? female.getL1LabourSupplyHoursWeekly() : 0.;
2627+
case L1_lhw_Male_10:
2628+
return (male != null && female != null && male.getLabourSupplyWeekly().equals(Labour.TEN) && female.getLabourSupplyWeekly().equals(Labour.ZERO)) ? male.getL1LabourSupplyHoursWeekly() : 0.;
2629+
case L1_lhw_Female_10:
2630+
return (male != null && female != null && male.getLabourSupplyWeekly().equals(Labour.TEN) && female.getLabourSupplyWeekly().equals(Labour.ZERO)) ? female.getL1LabourSupplyHoursWeekly() : 0.;
2631+
case L1_lhw_Male_11:
2632+
return (male != null && female != null && male.getLabourSupplyWeekly().equals(Labour.TEN) && female.getLabourSupplyWeekly().equals(Labour.TEN)) ? male.getL1LabourSupplyHoursWeekly() : 0.;
2633+
case L1_lhw_Female_11:
2634+
return (male != null && female != null && male.getLabourSupplyWeekly().equals(Labour.TEN) && female.getLabourSupplyWeekly().equals(Labour.TEN)) ? female.getL1LabourSupplyHoursWeekly() : 0.;
2635+
case L1_lhw_Male_12:
2636+
return (male != null && female != null && male.getLabourSupplyWeekly().equals(Labour.TEN) && female.getLabourSupplyWeekly().equals(Labour.TWENTY)) ? male.getL1LabourSupplyHoursWeekly() : 0.;
2637+
case L1_lhw_Female_12:
2638+
return (male != null && female != null && male.getLabourSupplyWeekly().equals(Labour.TEN) && female.getLabourSupplyWeekly().equals(Labour.TWENTY)) ? female.getL1LabourSupplyHoursWeekly() : 0.;
2639+
case L1_lhw_Male_13:
2640+
return (male != null && female != null && male.getLabourSupplyWeekly().equals(Labour.TEN) && female.getLabourSupplyWeekly().equals(Labour.THIRTY)) ? male.getL1LabourSupplyHoursWeekly() : 0.;
2641+
case L1_lhw_Female_13:
2642+
return (male != null && female != null && male.getLabourSupplyWeekly().equals(Labour.TEN) && female.getLabourSupplyWeekly().equals(Labour.THIRTY)) ? female.getL1LabourSupplyHoursWeekly() : 0.;
2643+
case L1_lhw_Male_14:
2644+
return (male != null && female != null && male.getLabourSupplyWeekly().equals(Labour.TEN) && female.getLabourSupplyWeekly().equals(Labour.FORTY)) ? male.getL1LabourSupplyHoursWeekly() : 0.;
2645+
case L1_lhw_Female_14:
2646+
return (male != null && female != null && male.getLabourSupplyWeekly().equals(Labour.TEN) && female.getLabourSupplyWeekly().equals(Labour.FORTY)) ? female.getL1LabourSupplyHoursWeekly() : 0.;
2647+
case L1_lhw_Male_20:
2648+
return (male != null && female != null && male.getLabourSupplyWeekly().equals(Labour.TWENTY) && female.getLabourSupplyWeekly().equals(Labour.ZERO)) ? male.getL1LabourSupplyHoursWeekly() : 0.;
2649+
case L1_lhw_Female_20:
2650+
return (male != null && female != null && male.getLabourSupplyWeekly().equals(Labour.TWENTY) && female.getLabourSupplyWeekly().equals(Labour.ZERO)) ? female.getL1LabourSupplyHoursWeekly() : 0.;
2651+
case L1_lhw_Male_21:
2652+
return (male != null && female != null && male.getLabourSupplyWeekly().equals(Labour.TWENTY) && female.getLabourSupplyWeekly().equals(Labour.TEN)) ? male.getL1LabourSupplyHoursWeekly() : 0.;
2653+
case L1_lhw_Female_21:
2654+
return (male != null && female != null && male.getLabourSupplyWeekly().equals(Labour.TWENTY) && female.getLabourSupplyWeekly().equals(Labour.TEN)) ? female.getL1LabourSupplyHoursWeekly() : 0.;
2655+
case L1_lhw_Male_22:
2656+
return (male != null && female != null && male.getLabourSupplyWeekly().equals(Labour.TWENTY) && female.getLabourSupplyWeekly().equals(Labour.TWENTY)) ? male.getL1LabourSupplyHoursWeekly() : 0.;
2657+
case L1_lhw_Female_22:
2658+
return (male != null && female != null && male.getLabourSupplyWeekly().equals(Labour.TWENTY) && female.getLabourSupplyWeekly().equals(Labour.TWENTY)) ? female.getL1LabourSupplyHoursWeekly() : 0.;
2659+
case L1_lhw_Male_23:
2660+
return (male != null && female != null && male.getLabourSupplyWeekly().equals(Labour.TWENTY) && female.getLabourSupplyWeekly().equals(Labour.THIRTY)) ? male.getL1LabourSupplyHoursWeekly() : 0.;
2661+
case L1_lhw_Female_23:
2662+
return (male != null && female != null && male.getLabourSupplyWeekly().equals(Labour.TWENTY) && female.getLabourSupplyWeekly().equals(Labour.THIRTY)) ? female.getL1LabourSupplyHoursWeekly() : 0.;
2663+
case L1_lhw_Male_24:
2664+
return (male != null && female != null && male.getLabourSupplyWeekly().equals(Labour.TWENTY) && female.getLabourSupplyWeekly().equals(Labour.FORTY)) ? male.getL1LabourSupplyHoursWeekly() : 0.;
2665+
case L1_lhw_Female_24:
2666+
return (male != null && female != null && male.getLabourSupplyWeekly().equals(Labour.TWENTY) && female.getLabourSupplyWeekly().equals(Labour.FORTY)) ? female.getL1LabourSupplyHoursWeekly() : 0.;
2667+
case L1_lhw_Male_30:
2668+
return (male != null && female != null && male.getLabourSupplyWeekly().equals(Labour.THIRTY) && female.getLabourSupplyWeekly().equals(Labour.ZERO)) ? male.getL1LabourSupplyHoursWeekly() : 0.;
2669+
case L1_lhw_Female_30:
2670+
return (male != null && female != null && male.getLabourSupplyWeekly().equals(Labour.THIRTY) && female.getLabourSupplyWeekly().equals(Labour.ZERO)) ? female.getL1LabourSupplyHoursWeekly() : 0.;
2671+
case L1_lhw_Male_31:
2672+
return (male != null && female != null && male.getLabourSupplyWeekly().equals(Labour.THIRTY) && female.getLabourSupplyWeekly().equals(Labour.TEN)) ? male.getL1LabourSupplyHoursWeekly() : 0.;
2673+
case L1_lhw_Female_31:
2674+
return (male != null && female != null && male.getLabourSupplyWeekly().equals(Labour.THIRTY) && female.getLabourSupplyWeekly().equals(Labour.TEN)) ? female.getL1LabourSupplyHoursWeekly() : 0.;
2675+
case L1_lhw_Male_32:
2676+
return (male != null && female != null && male.getLabourSupplyWeekly().equals(Labour.THIRTY) && female.getLabourSupplyWeekly().equals(Labour.TWENTY)) ? male.getL1LabourSupplyHoursWeekly() : 0.;
2677+
case L1_lhw_Female_32:
2678+
return (male != null && female != null && male.getLabourSupplyWeekly().equals(Labour.THIRTY) && female.getLabourSupplyWeekly().equals(Labour.TWENTY)) ? female.getL1LabourSupplyHoursWeekly() : 0.;
2679+
case L1_lhw_Male_33:
2680+
return (male != null && female != null && male.getLabourSupplyWeekly().equals(Labour.THIRTY) && female.getLabourSupplyWeekly().equals(Labour.THIRTY)) ? male.getL1LabourSupplyHoursWeekly() : 0.;
2681+
case L1_lhw_Female_33:
2682+
return (male != null && female != null && male.getLabourSupplyWeekly().equals(Labour.THIRTY) && female.getLabourSupplyWeekly().equals(Labour.THIRTY)) ? female.getL1LabourSupplyHoursWeekly() : 0.;
2683+
case L1_lhw_Male_34:
2684+
return (male != null && female != null && male.getLabourSupplyWeekly().equals(Labour.THIRTY) && female.getLabourSupplyWeekly().equals(Labour.FORTY)) ? male.getL1LabourSupplyHoursWeekly() : 0.;
2685+
case L1_lhw_Female_34:
2686+
return (male != null && female != null && male.getLabourSupplyWeekly().equals(Labour.THIRTY) && female.getLabourSupplyWeekly().equals(Labour.FORTY)) ? female.getL1LabourSupplyHoursWeekly() : 0.;
2687+
case L1_lhw_Male_40:
2688+
return (male != null && female != null && male.getLabourSupplyWeekly().equals(Labour.FORTY) && female.getLabourSupplyWeekly().equals(Labour.ZERO)) ? male.getL1LabourSupplyHoursWeekly() : 0.;
2689+
case L1_lhw_Female_40:
2690+
return (male != null && female != null && male.getLabourSupplyWeekly().equals(Labour.FORTY) && female.getLabourSupplyWeekly().equals(Labour.ZERO)) ? female.getL1LabourSupplyHoursWeekly() : 0.;
2691+
case L1_lhw_Male_41:
2692+
return (male != null && female != null && male.getLabourSupplyWeekly().equals(Labour.FORTY) && female.getLabourSupplyWeekly().equals(Labour.TEN)) ? male.getL1LabourSupplyHoursWeekly() : 0.;
2693+
case L1_lhw_Female_41:
2694+
return (male != null && female != null && male.getLabourSupplyWeekly().equals(Labour.FORTY) && female.getLabourSupplyWeekly().equals(Labour.TEN)) ? female.getL1LabourSupplyHoursWeekly() : 0.;
2695+
case L1_lhw_Male_42:
2696+
return (male != null && female != null && male.getLabourSupplyWeekly().equals(Labour.FORTY) && female.getLabourSupplyWeekly().equals(Labour.TWENTY)) ? male.getL1LabourSupplyHoursWeekly() : 0.;
2697+
case L1_lhw_Female_42:
2698+
return (male != null && female != null && male.getLabourSupplyWeekly().equals(Labour.FORTY) && female.getLabourSupplyWeekly().equals(Labour.TWENTY)) ? female.getL1LabourSupplyHoursWeekly() : 0.;
2699+
case L1_lhw_Male_43:
2700+
return (male != null && female != null && male.getLabourSupplyWeekly().equals(Labour.FORTY) && female.getLabourSupplyWeekly().equals(Labour.THIRTY)) ? male.getL1LabourSupplyHoursWeekly() : 0.;
2701+
case L1_lhw_Female_43:
2702+
return (male != null && female != null && male.getLabourSupplyWeekly().equals(Labour.FORTY) && female.getLabourSupplyWeekly().equals(Labour.THIRTY)) ? female.getL1LabourSupplyHoursWeekly() : 0.;
2703+
case L1_lhw_Male_44:
2704+
return (male != null && female != null && male.getLabourSupplyWeekly().equals(Labour.FORTY) && female.getLabourSupplyWeekly().equals(Labour.FORTY)) ? male.getL1LabourSupplyHoursWeekly() : 0.;
2705+
case L1_lhw_Female_44:
2706+
return (male != null && female != null && male.getLabourSupplyWeekly().equals(Labour.FORTY) && female.getLabourSupplyWeekly().equals(Labour.FORTY)) ? female.getL1LabourSupplyHoursWeekly() : 0.;
2707+
case MaleEduM_10:
2708+
return (male != null && male.getLabourSupplyWeekly().equals(Labour.TEN) && male.getDeh_c3().equals(Education.Medium)) ? 1. : 0.;
2709+
case MaleEduH_10:
2710+
return (male != null && male.getLabourSupplyWeekly().equals(Labour.TEN) && male.getDeh_c3().equals(Education.High)) ? 1. : 0.;
2711+
case MaleEduM_20:
2712+
return (male != null && male.getLabourSupplyWeekly().equals(Labour.TWENTY) && male.getDeh_c3().equals(Education.Medium)) ? 1. : 0.;
2713+
case MaleEduH_20:
2714+
return (male != null && male.getLabourSupplyWeekly().equals(Labour.TWENTY) && male.getDeh_c3().equals(Education.High)) ? 1. : 0.;
2715+
case MaleEduM_30:
2716+
return (male != null && male.getLabourSupplyWeekly().equals(Labour.THIRTY) && male.getDeh_c3().equals(Education.Medium)) ? 1. : 0.;
2717+
case MaleEduH_30:
2718+
return (male != null && male.getLabourSupplyWeekly().equals(Labour.THIRTY) && male.getDeh_c3().equals(Education.High)) ? 1. : 0.;
2719+
case MaleEduM_40:
2720+
return (male != null && male.getLabourSupplyWeekly().equals(Labour.FORTY) && male.getDeh_c3().equals(Education.Medium)) ? 1. : 0.;
2721+
case MaleEduH_40:
2722+
return (male != null && male.getLabourSupplyWeekly().equals(Labour.FORTY) && male.getDeh_c3().equals(Education.High)) ? 1. : 0.;
2723+
case MaleLeisure_dnc02:
25512724
return (Parameters.HOURS_IN_WEEK - male.getLabourSupplyHoursWeekly()) * getIndicatorChildren(0,1).ordinal();
25522725
case FemaleLeisure_dnc02:
25532726
return (Parameters.HOURS_IN_WEEK - female.getLabourSupplyHoursWeekly()) * getIndicatorChildren(0,1).ordinal();

0 commit comments

Comments
 (0)