-
Notifications
You must be signed in to change notification settings - Fork 73
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add GATE and CATE for IRM models #169
Conversation
Best linear Predictor to construct CATEs and GATEs
Use the DoubleMLIRMBLP class to create CATE and GATE estimates for DoubleMLIRM objects.
add unit tests restructure unit tests for blp, cate and gate
Hi @SvenKlaassen , thanks for opening the PR and I think overall it looks really good. I believe, this is a very nice and useful feature. Except for my comments I posted in my review, there's a little (minor) thing I wonder whether it would make the usage a bit nicer, i.e.
However, this is not crucial as it's not related to the major functionality of the new feature. I guess adding examples that explain proper usage will make things clear, too. Btw I also dropped the |
Hi @PhilippBach, thanks for the review. I have incorporated the changes, extenden the documentation and added a summary. |
Hey @SvenKlaassen , I just updated the test jobs and merged them into this branch (➡️ a7263a4) to let the jobs run The changes look good to me, so in general, this PR is ready to be merged. If all checks are passed, you can merge it 👍 |
Description
Adding estimation of CATE and GATE for the IRM models based on the Semenova et al..
Implementation of a best linear predictor class DoubleMLBLP, which estimates an ols model for a given orthogonal signal and basis. The estimation is done via statsmodels.OLS, which implements the correct variance estimation.
The DoubleMLBLP includes a
fit()
method which estimates the coefficients and aconfint()
method, which creates the corresponding confidence intervals (and can be applied to a new basis vector to evaluate the best linear predictor on different values).Additionally, the DoubleMLIRM class has been extended with the
cate()
andgate()
methods.Both,
cate()
andgate()
create a DoubleMLIRMBLP object by obtaining the orthogonal signal from the DoubleMLIRM model and fitting the linear projection for the supplied basis. To obtain confidence intervals theconfint()
method has to be called.For the
gate()
methodconfint()
without supplying new values for the basis outputs the confidence interval reduced to the different groups.Comments
Additional examples for the GATE and CATE estimation are available here and can be added to the documentation (maybe the DGPs can be changed).
PR Checklist