-
Notifications
You must be signed in to change notification settings - Fork 987
Doubly Robust Estimator #1346
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
base: main
Are you sure you want to change the base?
Doubly Robust Estimator #1346
Conversation
Signed-off-by: Nicholas Parente <[email protected]>
Signed-off-by: Nicholas Parente <[email protected]>
Signed-off-by: Nicholas Parente <[email protected]>
Signed-off-by: Nicholas Parente <[email protected]>
Signed-off-by: Nicholas Parente <[email protected]>
Signed-off-by: Nicholas Parente <[email protected]>
Signed-off-by: Nicholas Parente <[email protected]>
Signed-off-by: Nicholas Parente <[email protected]>
Signed-off-by: Nicholas Parente <[email protected]>
Signed-off-by: Nicholas Parente <[email protected]>
tagging @amit-sharma or @bloebp for review! |
Signed-off-by: Nicholas Parente <[email protected]>
Signed-off-by: Nicholas Parente <[email protected]>
Signed-off-by: Nicholas Parente <[email protected]>
:param propensity_score_model: Model used to compute propensity score. | ||
Can be any classification model that supports fit() and | ||
predict_proba() methods. If None, LogisticRegression is used | ||
:param propensity_score_column: Column name that stores the |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Note the 'regression_estimator' argument accepts a RegressionEstimator, whereas the 'propensity_score_model' argument accepts a propensity score model directly.
This is because it seemed more natural to let the user pass in a propensity score model directly, rather than a PropensityScoreEstimator, given most of the arguments, and all of the subclasses of the PropensityScoreEstimator class would be unneeded here (there would be no reason to pass in a PropensityScoreMatchingEstimator vs a PropensityScoreWeightingEstimator; the underlying propensity score model is working the same in all subclasses). Thus, it seemed more straightforward to just have the user pass in directly here the arguments that would be sufficient to handle the propensity score stage.
On the other hand, it seemed fair to use an argument of type RegressionEstimator for the regression stage, since a user may want to use a linear model, a glm, or some other future sub-class of the RegressionEstimator. In other words, the subclasses of RegressionEstimator may actually have their own constructors, that we wouldn't want to generalize here.
Hello! Gentle bump that this PR is ready for review. Let me know if there is someone else I should tag! |
PR to add support for the doubly robust estimator, with an example notebook. This PR addresses issue #407.
References:
Michele Jonsson Funk, Daniel Westreich, Chris Wiesen, Til Stürmer, M. Alan Brookhart, Marie Davidian, Doubly Robust Estimation of Causa Effects, American Journal of Epidemiology, Volume 173, Issue 1 April 2011, Pages 761-767, https://doi.org/10.1093/aje/kwq439