log_to_level: Translate estimated multiplicative (in logs) effects to level...

Description Usage Arguments Details Value Examples

View source: R/log_to_level.R

Description

After estimating treatment effects with the outcomes in logs, this helper function translates the effect back into a level effect. It also calculates the appropriate standard error for the in-sample effect using the delta method.

Usage

1
log_to_level(est_log, X_pop, Y_pop)

Arguments

est_log

a list of (at least) the two elements tau and se, for instance as returned by eif_additive or waq. It is assumed that the estimate is the (untransformed) estimate of an additive specification with the outcome variables in logs.

X_pop

numeric vector, the outcomes of the control observations in levels, or alternatively of a super-population of interest.

Y_pop

numeric vector, the outcomes of the treated observations in levels, or alternatively of a super-population of interest.

Details

If one assumes a multiplicative model Y(1) = θ Y(0), the specification is additive after taking the natural logarithm. Hence, one can use the function eif_additive or waq applied to outcomes in logs to estimate log(θ). However, one is often substantively interested in the average effect of the treatment rather than in the multiplicative parameter θ. This function therefore translates the effect into the sample average level effect for a sample of control observations X_pop and treated observations Y_pop.

In the multiplicative model, even if θ is known exactly, estimates of the population average effect, under the multiplicative model

Y(1) - Y(0) = (θ-1) Y(0)

can be noisy because they require estimating the population mean of the control (e.g. by the sample mean). The standard errors here are therefore calculate for a fixed sample of control X and treated Y. Under the assumption of the multiplicative model, outcomes can then be considered fixed, and the only variation comes from estimating θ

Value

list of four elements:

tau_level

the point estimate of the treatment effect in levels

se_level

the standard error for the treatment effect in levels

tau_log

the point estimate of the treatment effect with the outcome in logs (copied from the input list, est_log$tau)

se_log

the standard error for the treatment effect with the outcome in logs (copied from the input list, est_log$se)

Examples

1
2
3
4
5
6
7
8
9
# draw a random sample with multiplicative treatment effect
X <- rexp(n=1000, rate=2)
Y <- 1.1 * rexp(n=200, rate=2)
# estimate the treatment effect with an additive specification in logs, either waq or eif
est_waq_log <- waq(log(X),log(Y))
est_eif_log <- eif_additive(log(X),log(Y))
# translate the effects into level effects
log_to_level(est_waq_log,X,Y)
log_to_level(est_eif_log,X,Y)

michaelpollmann/parTreat documentation built on Dec. 21, 2021, 5:58 p.m.