Skip to content
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 new knowledge base page on causal DAGS for quasi-experiments #321

Merged
merged 12 commits into from
May 5, 2024

Conversation

drbenvincent
Copy link
Collaborator

@drbenvincent drbenvincent commented Apr 25, 2024

  • This PR adds a new knowledge base page which runs through the causal DAGs for quasi-experiments.
  • The goal with this PR is to be a first iteration. So the level of detail and explanation is relatively light, nowhere close to textbook level depth. Over time more detail could potentially be added (e.g. adding SCM equations, or covering more variations such as fuzzy regression discontinuity).
  • Move 'daft' into optional (docs) dependencies

FYI: Recommended way to review is to build the docs locally and read the new page that way.

@drbenvincent drbenvincent added the documentation Improvements or additions to documentation label Apr 25, 2024
Copy link

Check out this pull request on  ReviewNB

See visual diffs & provide feedback on Jupyter Notebooks.


Powered by ReviewNB

@drbenvincent drbenvincent changed the title [WIP] Add new knowledge base page on causal DAGS for quasi-experiments Add new knowledge base page on causal DAGS for quasi-experiments Apr 30, 2024
@@ -0,0 +1,457 @@
{
Copy link
Contributor

@NathanielF NathanielF May 2, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Optional: But you might want to mention that IV and RCT allow unconfounded inference for slightly different estimands. You can refer to the paper for details, but you might also want to distinguish ATE, ATT, ATC, and LATE kinds of estimands and how they relate to different DAGs?


Reply via ReviewNB

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1

And maybe comment about the need of a 'strong' instrument. Becausee a weak relationship IV -> Z can lead to high variance (right?)

Also, add an example. My favorite on is https://matheusfacure.github.io/python-causality-handbook/09-Non-Compliance-and-LATE.html Maybee we can borrow it (with the proper citation)

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this is all fair enough. For the moment I've bundled this points into #327 so that they are definitely acted on. But feel free to let me know if you think these points need to be addressed in the first iteration.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we can merge this one and then create an issue to add examples.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Agreed

@@ -0,0 +1,457 @@
{
Copy link
Contributor

@NathanielF NathanielF May 2, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good this is clear and I think useful. I think it's concise and we may want to avoid cluttering it with the discussion of ATE and LATE and ATC etc...


Reply via ReviewNB

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍🏻

@@ -0,0 +1,457 @@
{
Copy link
Collaborator

@juanitorduz juanitorduz May 5, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For a next iteration we can show the problem with Bambi or PyMC with the do operator (maybe create a follow up issue?)

Also, it would be nice to give a concrete example for readers that see this for the same time.


Reply via ReviewNB

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I was thinking exactly this. I've created issue #327 to keep track of this.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great!

@@ -0,0 +1,457 @@
{
Copy link
Collaborator

@juanitorduz juanitorduz May 5, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If we add an example above, it would be nice to see how a RCT actually help us. Again, just to gain some intuition.


Reply via ReviewNB

Copy link
Collaborator Author

@drbenvincent drbenvincent May 5, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Exactly, and this would also allow some discussion of the do operator as being an intervention on the causal graph.

docs/source/quasi_dags.ipynb Show resolved Hide resolved
@@ -0,0 +1,457 @@
{
Copy link
Collaborator

@juanitorduz juanitorduz May 5, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Mention something about parallel trends assumption?


Reply via ReviewNB

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good idea. I've added an admonition box about parallel trends and also added it as a glossary term.

@juanitorduz
Copy link
Collaborator

@drbenvincent, this looks very nice! I agree we should work on iterations. I suggest adding some examples for users who are new to the topic. This can be overwhelming at first (it was/is for me)

@drbenvincent
Copy link
Collaborator Author

Thanks for the comments @NathanielF + @juanitorduz. I've created #327 to keep track of some of your ideas for the second iteration. Hopefully you think the current changes are ok to merge for this first iteration, but let me know.

Copy link
Collaborator

@juanitorduz juanitorduz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great! Let's work on iterations!

@drbenvincent drbenvincent merged commit 2d3472e into main May 5, 2024
4 of 6 checks passed
@drbenvincent drbenvincent deleted the quasi-dags branch May 5, 2024 09:47
@juanitorduz
Copy link
Collaborator

@drbenvincent can you put the good first issue to #327 ? We can share it and expect people to contribute :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants