{smcl} {* *! version 30aug2024}{...} {smcl} {pstd}{ul:ddml overlap utility - Overlap plots with interactive models (ATE etc.)}{p_end} {pstd}We use the default of 5 cross-fit folds and specify 2 resamplings with 2 supervised learners: linear regression and gradient boosted trees, stacked using {help pystacked}. Note that we use gradient boosted regression trees for E[Y|X,D], but gradient boosted classification trees for E[D|X].{p_end} {phang2}. {stata "webuse cattaneo2, clear"}{p_end} {phang2}. {stata "global Y bweight"}{p_end} {phang2}. {stata "global D mbsmoke"}{p_end} {phang2}. {stata "global X prenatal1 mmarried fbaby mage medu"}{p_end} {phang2}. {stata "set seed 42"}{p_end} {phang2}. {stata "ddml init interactive, reps(2)"}{p_end} {phang2}. {stata "ddml E[Y|X,D]: pystacked $Y $X || method(ols) || method(gradboost) || , type(reg)"}{p_end} {phang2}. {stata "ddml E[D|X]: pystacked $D $X || method(logit) || method(gradboost) || , type(class)"}{p_end} {phang2}. {stata "ddml crossfit"}{p_end} {phang2}. {stata "ddml estimate"}{p_end} {pstd}Default behavior of {opt ddml overlap} is to use all cross-fit resamples and plot the stacked (ensemble) learner generated by {help pystacked}:{p_end} {phang2}. {stata "ddml overlap"}{p_end} {pstd}Use just resample 1:{p_end} {phang2}. {stata "ddml overlap, replist(1)"}{p_end} {pstd}Overlap plots for the predicted values of the separate logit (#1) and gradboost (#2) learners:{p_end} {phang2}. {stata "ddml overlap, pslist(D1_pystacked_L1 D1_pystacked_L2)"}{p_end} {pstd}Save the overlap plot using the default triangle kernel, generate an overlap plot using the Epanechnikov, kernal, and combine the two into a single graph:{p_end} {phang2}. {stata "ddml overlap, name(triangle, replace) title(Propensity score - triangle kernel)"}{p_end} {phang2}. {stata "ddml overlap, kernel(epanechnikov) name(epanechnikov, replace) title(Propensity score - epanechnikov kernel)"}{p_end} {phang2}. {stata "graph combine triangle epanechnikov"}{p_end}