Predictors of vulnerability to natural disasters - Nepal Earthquake 2015

Published:

Summary Statistics

households %>% select(age_household_head, size_household, income,hh_mig, gender_household_head) %>%
  mutate(male_hh_head = case_when(gender_household_head == 'Male' ~ 1,
  TRUE ~ 0)) %>% select(-gender_household_head)->
  hhchars

households %>% select(
    has_death_occurred_last_12_months, asset_loss_flag,
    has_injury_loss_occurred_last_12_months,
    has_education_drop_occurred_last_12_months,
    has_pregnancy_treatment_drop_occurred_last_12_months,
    has_vaccination_drop_occurred_last_12_months,
    has_occupation_change_occurred_last_12_months
) -> shocks

Household Characteristics

knitr::kable(summary(hhchars))
 age_household_headsize_householdincomehh_migmale_hh_head
 Min. : 10.0Min. : 1.00Rs. 10 thousand :369121Min. :0.0000Min. :0.000
 1st Qu.: 34.01st Qu.: 3.00Rs. 10-20 thousand :2044171st Qu.:0.00001st Qu.:0.000
 Median : 46.0Median : 5.00Rs. 20-30 thousand : 67688Median :0.0000Median :1.000
 Mean : 46.7Mean : 4.92Rs. 30-50 thousand : 19671Mean :0.0614Mean :0.685
 3rd Qu.: 57.03rd Qu.: 6.00Rs. 50 thousand or more: 74903rd Qu.:0.00003rd Qu.:1.000
 Max. :122.0Max. :39.00NAMax. :1.0000Max. :1.000

Adverse Outcomes

stargazer(shocks,header=F,
  type='html'
  # type='text'
)
StatisticNMeanSt. Dev.MinMax
has_death_occurred_last_12_months668,3870.0240.15401
asset_loss_flag668,3870.0560.23101
has_injury_loss_occurred_last_12_months668,3870.0120.10801
has_education_drop_occurred_last_12_months668,3870.0110.10301
has_pregnancy_treatment_drop_occurred_last_12_months668,3870.0010.03501
has_vaccination_drop_occurred_last_12_months668,3870.0020.04201
has_occupation_change_occurred_last_12_months668,3870.0080.08601

Regressions

Linear Probability Model

Where $i$ indexes households in village $j$. $Y_{i,j}$ is an adverse outcome, $X_{i,j}$ is a vector of predictors, $\gamma_j$ is a vector of village fixed-effects and caste fixed-effects, and $\epsilon$ is the error term. So, coefficients $\beta$ are identified using within-village (and, in the appendix, within-caste) variation in X and Y. Coefficients are to be interpreted as $\beta \times 100$ percentage points increase in probability of adverse event Y.

Estimation

All regressions include village fixed effects. Robust standard errors are clustered at the district level.

lm1 = robustify(felm(has_death_occurred_last_12_months ~
    age_household_head + size_household + hh_mig +
    + factor(income) + factor(gender_household_head) +
    hh_mig:factor(income)
    | vdcmun_id | 0 | district_id, data = households))

# lm1_logit = glm(
#   has_death_occurred_last_12_months ~
#     age_household_head + size_household + hh_mig +
#     + factor(income) + factor(gender_household_head) +
#     hh_mig:factor(income) + factor(vdcmun_id),
#   data = households , family=binomial)

lm6 = robustify(felm(has_death_occurred_last_12_months ~
    age_household_head + size_household + hh_mig +
    + factor(income) + factor(gender_household_head) +
    hh_mig:factor(income)
    | vdcmun_id + caste_household | 0 | district_id , data = households))

lm2 = robustify(felm(has_injury_loss_occurred_last_12_months ~
    age_household_head + size_household + hh_mig +
    + factor(income) + factor(gender_household_head) +
    hh_mig:factor(income)
    | vdcmun_id | 0 | district_id, data = households))

lm7 = robustify(felm(has_injury_loss_occurred_last_12_months ~
    age_household_head + size_household + hh_mig +
    + factor(income) + factor(gender_household_head) +
    hh_mig:factor(income)
    | vdcmun_id + caste_household | 0 | district_id , data = households))

lm3 = robustify(felm(has_education_drop_occurred_last_12_months ~
    age_household_head + size_household + hh_mig +
    + factor(income) + factor(gender_household_head) +
    hh_mig:factor(income)
    | vdcmun_id | 0 | district_id, data = households))

lm8 = robustify(felm(has_education_drop_occurred_last_12_months ~
    age_household_head + size_household + hh_mig +
    + factor(income) + factor(gender_household_head) +
    hh_mig:factor(income)
    | vdcmun_id + caste_household | 0 | district_id , data = households))

lm4 = robustify(felm(has_pregnancy_treatment_drop_occurred_last_12_months ~
    age_household_head + size_household +  hh_mig +
    + factor(income) + factor(gender_household_head) +
    hh_mig:factor(income)
    | vdcmun_id | 0 | district_id, data = households))

lm9 = robustify(felm(has_pregnancy_treatment_drop_occurred_last_12_months ~
    age_household_head + size_household +  hh_mig +
    + factor(income) + factor(gender_household_head) +
    hh_mig:factor(income)
    | vdcmun_id + caste_household | 0 | district_id , data = households))

lm5 = robustify(felm(asset_loss_flag ~
    age_household_head + size_household +  hh_mig +
    + factor(income) + factor(gender_household_head) +
    hh_mig:factor(income)
    | vdcmun_id | 0 | district_id , data = households))

lm10 = robustify(felm(asset_loss_flag ~
    age_household_head + size_household +  hh_mig +
    + factor(income) + factor(gender_household_head) +
    hh_mig:factor(income)
    | vdcmun_id + caste_household | 0 | district_id , data = households))

Results

#%%
stargazer(
  lm1,
  lm2,
  lm3,
  lm4,
  lm5,
  dep.var.caption = 'adverse effects',
  dep.var.labels   = c('death','injury','school',
    'pregnancy', 'major assets loss'),
  header=F,
  add.lines = list(
        c('Village FEs','X','X','X','X','X')),
  covariate.labels = c('Age of Household Head',
    'Size of Household','Household has Migrant',
    'income: 10-20k','income: 20-30k', 'income: 30-50k', 'income: 50k+',
    'male household head',
    'Migrant X income: 10-20k','Migrant X income: 20-30k',
    'Migrant X income: 30-50k', 'Migrant X income: 50k+'),
  # type='text'
  type='html'
)
adverse effects
deathinjuryschoolpregnancymajor assets loss
(1)(2)(3)(4)(5)
Age of Household Head0.0001***0.0001***-0.0002***-0.00004***-0.0002***
(0.00003)(0.00002)(0.00004)(0.00001)(0.0001)
Size of Household0.00020.001***0.002***0.0003***0.004***
(0.0001)(0.0003)(0.0003)(0.0001)(0.001)
Household has Migrant-0.005***-0.003***-0.005***-0.001***0.004
(0.001)(0.001)(0.001)(0.0003)(0.002)
income: 10-20k-0.005***-0.001***-0.002-0.0003**0.012***
(0.001)(0.0004)(0.002)(0.0002)(0.003)
income: 20-30k-0.006***-0.002***-0.004-0.001***0.014***
(0.001)(0.001)(0.002)(0.0002)(0.003)
income: 30-50k-0.007***-0.004***-0.005***-0.0005***0.014***
(0.002)(0.001)(0.002)(0.0002)(0.002)
income: 50k+-0.005***-0.003***-0.006**-0.001**0.003
(0.001)(0.001)(0.002)(0.0004)(0.005)
male household head-0.007***0.001***-0.00010.0002*0.004***
(0.001)(0.0002)(0.001)(0.0001)(0.001)
Migrant X income: 10-20k0.0010.0010.0020.0004-0.005***
(0.002)(0.001)(0.001)(0.0003)(0.002)
Migrant X income: 20-30k0.0020.0010.006**0.001**-0.009**
(0.003)(0.002)(0.002)(0.0003)(0.004)
Migrant X income: 30-50k0.0050.0020.007***0.002-0.0003
(0.005)(0.003)(0.002)(0.001)(0.005)
Migrant X income: 50k+0.007-0.0010.002**0.0010.001
(0.005)(0.002)(0.001)(0.001)(0.007)
Village FEsXXXXX
Observations668,387668,387668,387668,387668,387
R20.0160.0170.1610.0500.071
Adjusted R20.0150.0170.1610.0490.070
Residual Std. Error (df = 667810)0.1520.1070.0950.0340.222
Note:*p<0.1; **p<0.05; ***p<0.01

Each coefficient is to be interpreted as a $\beta \times 100$ percentage point change in the probability of the outcome relative to its base probability. For example, the probability of death in a household is 0.0242, and the change in probability in a household with a migrant is -0.0048, which represents a 19.8218 percent decrease. So, even though the coefficients look small, given the low base probabilities, they are in fact quite large effects.

As expected, richer households have fewer adverse outcomes in the medium run. A surprising / notable finding, however, is that the coefficient on Migrant $\times$ incomes $\in {20-30k, 30-50k}$ for the education and pregnancy outcomes is positive and larger than the base effect for the same income bracket, which suggests that households that have migrants abroad (as a likely source of their income) are more vulnerable than similar households without migrants (which suggests that the absence of the breadwinner of the household adversely affects recovery).

Appendix

Estimation with and without caste-fixed effects. The caste-fes don’t do much (and the adjusted r-squared doesn’t budge).

stargazer(
  lm1, lm6 ,
  lm2, lm7 ,
  lm3, lm8 ,
  lm4, lm9 ,
  lm5, lm10 ,
  dep.var.caption = 'adverse effects',
  dep.var.labels   = c('death','injury','school',
    'pregnancy', 'major assets loss'),
  header=F,
  add.lines = list(
        c('Village FEs','X','X','X','X','X', 'X','X','X','X','X'),
        c('Caste FEs',  ' ','X',' ','X',' ' ,'X',' ','X',' ','X')),
  covariate.labels = c('Age of Household Head',
    'Size of Household','Household has Migrant',
    'income: 10-20k','income: 20-30k', 'income: 30-50k', 'income: 50k+',
    'male household head',
    'Migrant X income: 10-20k','Migrant X income: 20-30k',
    'Migrant X income: 30-50k', 'Migrant X income: 50k+'),
  # type='text'
  type='html'
  )
adverse effects
deathinjuryschoolpregnancymajor assets loss
(1)(2)(3)(4)(5)(6)(7)(8)(9)(10)
Age of Household Head0.0001***0.0001***0.0001***0.0001***-0.0002***-0.0002***-0.00004***-0.00004***-0.0002***-0.0003***
(0.00003)(0.00003)(0.00002)(0.00002)(0.00004)(0.00003)(0.00001)(0.00001)(0.0001)(0.0001)
Size of Household0.00020.00010.001***0.001***0.002***0.002***0.0003***0.0003***0.004***0.004***
(0.0001)(0.0001)(0.0003)(0.0003)(0.0003)(0.0003)(0.0001)(0.0001)(0.001)(0.001)
Household has Migrant-0.005***-0.005***-0.003***-0.003***-0.005***-0.005***-0.001***-0.001***0.0040.004
(0.001)(0.001)(0.001)(0.001)(0.001)(0.001)(0.0003)(0.0003)(0.002)(0.002)
income: 10-20k-0.005***-0.005***-0.001***-0.002***-0.002-0.002-0.0003**-0.0003*0.012***0.010***
(0.001)(0.001)(0.0004)(0.0004)(0.002)(0.002)(0.0002)(0.0002)(0.003)(0.002)
income: 20-30k-0.006***-0.006***-0.002***-0.002***-0.004-0.004-0.001***-0.001***0.014***0.010***
(0.001)(0.001)(0.001)(0.001)(0.002)(0.002)(0.0002)(0.0002)(0.003)(0.003)
income: 30-50k-0.007***-0.007***-0.004***-0.004***-0.005***-0.006***-0.0005***-0.0005**0.014***0.010***
(0.002)(0.002)(0.001)(0.001)(0.002)(0.002)(0.0002)(0.0002)(0.002)(0.002)
income: 50k+-0.005***-0.005***-0.003***-0.004***-0.006**-0.006**-0.001**-0.001**0.003-0.001
(0.001)(0.001)(0.001)(0.001)(0.002)(0.002)(0.0004)(0.0004)(0.005)(0.006)
male household head-0.007***-0.007***0.001***0.001***-0.0001-0.00020.0002*0.0002*0.004***0.003***
(0.001)(0.001)(0.0002)(0.0002)(0.001)(0.001)(0.0001)(0.0001)(0.001)(0.001)
Migrant X income: 10-20k0.0010.0010.0010.0010.0020.0020.00040.0004-0.005***-0.004**
(0.002)(0.002)(0.001)(0.001)(0.001)(0.001)(0.0003)(0.0003)(0.002)(0.002)
Migrant X income: 20-30k0.0020.0020.0010.0020.006**0.006***0.001**0.001**-0.009**-0.008*
(0.003)(0.003)(0.002)(0.002)(0.002)(0.002)(0.0003)(0.0003)(0.004)(0.004)
Migrant X income: 30-50k0.0050.0050.0020.0020.007***0.007***0.0020.002-0.00030.001
(0.005)(0.005)(0.003)(0.003)(0.002)(0.002)(0.001)(0.001)(0.005)(0.005)
Migrant X income: 50k+0.0070.007-0.001-0.0010.002**0.001*0.0010.0010.0010.001
(0.005)(0.005)(0.002)(0.002)(0.001)(0.001)(0.001)(0.001)(0.007)(0.007)
Village FEsXXXXXXXXXX
Caste FEsXXXXX
Observations668,387668,387668,387668,387668,387668,387668,387668,387668,387668,387
R20.0160.0160.0170.0180.1610.1620.0500.0500.0710.072
Adjusted R20.0150.0150.0170.0170.1610.1610.0490.0490.0700.071
Residual Std. Error0.152 (df = 667810)0.152 (df = 667714)0.107 (df = 667810)0.107 (df = 667714)0.095 (df = 667810)0.095 (df = 667714)0.034 (df = 667810)0.034 (df = 667714)0.222 (df = 667810)0.222 (df = 667714)
Note:*p<0.1; **p<0.05; ***p<0.01