Comments (3)
Generally, these plots are for diagnosing gross positivity violations. So if you look at a density plot like here, the overlap seems generally acceptable.
For an extreme violation, you can imagine the same plot as above but instead there is a bump in the blue plot around 0.7. Essentially, what this would tell me is that there is something fundamentally different about a subgroup of the treated versus the untreated. Once you identify that, you can dive into the issue. For example, maybe that subgroup was all age >50, but there were no individuals in the untreated group above age < 45. The plot is particularly useful for diagnostics in high dimensional models, since the subgroup maybe something more complicated (e.g., males, age > 50, and white were always treated).
I haven't thought too deeply about propensity vs logit plots, so these are my first thoughts. Your examples provided raise an issue more for propensity score matching (PSM), not the diagnostic necessarily. So the diagnostics purpose is to identify these positivity violations within our data (like above). Not necessarily distinguishing between 0.998 and 0.999. There is another diagnostic for this issue (it looks at the weights, rather that the probabilities).
As I currently see it:
positivity violations - IPTW.plot_kde()
IPTW.plot_boxplot()
weight behavior - IPTW.positivity()
...although maybe these labels are not ideal since the positivity()
is misleading. I chose that name based on Cole Hernan 2008.
However, your example does demonstrate one of the reasons to use IPTW over PSM. PSM may match 0.500 to 0.501 and 0.998 to 0.999, despite there being substantial differences between the probablities. IPTW allows these substantial differences ot occur (much like the coin flip examples you provided).
Much of my understanding comes from Cole Hernan 2008 but they don't specifically address this issue. I will ask around
from zepid.
Having said all that, I don't have an issue with allowing users to specify a log-odds plot instead. I would advocate for the default to be predicted probabilities though
If you want further discussion on positivity, I highly recommend the following; Westreich Cole 2010
from zepid.
I've added this to the v0.4.1 branch. It will be part of that release (should be complete sometime soon)
from zepid.
Related Issues (20)
- IPTW handle PerfectSeparationErrors in the marginal structural model better
- AIPW for survival analysis ? HOT 1
- Dual treatments
- ValueError better pytest strategy
- Package compatibility? HOT 2
- Update documentation (and possibly re-organize) HOT 2
- MonteCarloGFormula
- Add Odds Ratio and other estimands for AIPTW and TMLE
- Addition of meta-analysis tools
- add p-value column in a forrest plot/ effectmeasureplot HOT 2
- Enhancement in graphics.py to change odds text size HOT 1
- Saving DAGs programatically HOT 11
- sklearn dependancy in setup.py should be scikit-learn HOT 1
- AIPW formula equivalent to what's in the literature? HOT 2
- Perfect separation error for using `SingleCrossfitTMLE` HOT 2
- Superlearn check weights HOT 2
- SingleCrossFit `invalid value encountered in log` HOT 8
- Unable to install latest 0.9.0 version through pip HOT 7
- Risk Ratio Summary HOT 1
- The default regression argument of zepid.base.interaction_contrast_ratio differs from the description in the documentation. HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from zepid.