The NadarayaWatson modified estimator
Description
This is a kernel based regression method that uses a kernel as a weighting function to estimate the ADRF. The normal kernel is weighted by the inverse of the estimated GPS. See Flores et al. (2012) for more details.
Usage
1 2 3 4 5 6 7 8 9 
Arguments
Y 
is the the name of the outcome variable contained in 
treat 
is the name of the treatment variable contained in

treat_formula 
an object of class "formula" (or one that can be
coerced to that class) that regresses 
data 
is a dataframe containing 
grid_val 
contains the treatment values to be evaluated. 
bandw 
is the bandwidth. Default is 1. 
treat_mod 
a description of the error distribution to be used in the
model for treatment. Options include: 
link_function 
is either "log", "inverse", or "identity" for the
"Gamma" 
... 
additional arguments to be passed to the treatment regression function. 
Details
This method is a version of the NadaryaWatson estimator Nadaraya (1964) which is a local constant regression but weighted by the inverse of the estimated GPS.
Value
nw_est
returns an object of class "causaldrf",
a list that contains the following components:
param 
parameter estimates for a nw fit. 
t_mod 
the result of the treatment model fit. 
call 
the matched call. 
References
Schafer, J.L., Galagate, D.L. (2015). Causal inference with a continuous treatment and outcome: alternative estimators for parametric doseresponse models. Manuscript in preparation.
Flores, Carlos A., et al. "Estimating the effects of length of exposure to instruction in a training program: the case of job corps." Review of Economics and Statistics 94.1 (2012): 153171.
Nadaraya, Elizbar A. "On estimating regression." Theory of Probability \& Its Applications 9.1 (1964): 141–142.
See Also
nw_est
, iw_est
, hi_est
, gam_est
,
add_spl_est
,
bart_est
, etc. for other estimates.
t_mod
, overlap_fun
to prepare the data
for use in the different estimates.
Examples
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35  ## Example from Schafer (2015).
example_data < sim_data
nw_list < nw_est(Y = Y,
treat = T,
treat_formula = T ~ B.1 + B.2 + B.3 + B.4 + B.5 + B.6 + B.7 + B.8,
data = example_data,
grid_val = seq(8, 16, by = 1),
bandw = bw.SJ(example_data$T),
treat_mod = "Normal")
sample_index < sample(1:1000, 100)
plot(example_data$T[sample_index],
example_data$Y[sample_index],
xlab = "T",
ylab = "Y",
main = "nw estimate")
lines(seq(8, 16, by = 1),
nw_list$param,
lty = 2,
lwd = 2,
col = "blue")
legend('bottomright',
"nw estimate",
lty=2,
lwd = 2,
col = "blue",
bty='Y',
cex=1)
rm(example_data, nw_list, sample_index)
