Keith Battocchi
Keith Battocchi
@AnthonyCampbell208 @ShrutiRM97 I've updated main with the fixes to our build system (although there's one flaky notebook test that I'm still investigating) - please merge main into this branch and...
This was merged via a separate branch/PR
If you can provide a fully self-contained repro, that would help. However, internally we're using sklearn's `OneHotEncoder` to transform the treatment when it is discrete, and I suspect that this...
I've renamed the documentation section as suggested.
If the probabilities are the same for every instance, then I'd just use `sklearn.dummy.DummyClassifier()`, which uses the `'prior'` strategy by default and thus will output the empirical probability as the...
The `ate` method returns just the point estimate of the ATE while the `ate_inference` method returns an "inference results" object which contains not only the point estimate but methods for...
Mathematically, it's the limit of ate(X,T,T+dT)/dT as dT gets arbitrarily small (this only literally makes sense for continuous treatments, but for discrete treatments you could think of it as incrementing...
Could you include the entire output of `pip list`? I suspect there's an incompatibility between the version of econml you're using and one of the dependencies.
If you want to use your variable as a control (W), then as long as your first-stage nuisance models can deal with categoricals in this form (like XGBoost, as you...
A near-zero const_marginal_ate doesn't seem inherently problematic - maybe there's just very little impact of treatment (and also, you should look at the confidence intervals to get some sense of...