Comments (6)
Thanks @emrekiciman and @akelleh for the thoughtful discussion.
Agree, focusing on (1) and (2) as the main abstractions we support sounds good!
from dowhy.
from dowhy.
Hi @emrekiciman !
This computational model can support weighting by allowing you instead to draw a weighted random sample. It's certainly true that not all approaches (e.g. regression) will yield a sampling approach
(though regression can be adapted into this, which does: https://gist.github.com/akelleh/7a31184ce88453599188c568b09e062d )
but for those we can raise a NotImplemented
exception, with some extra logging to inform the user that the operation isn't supported. What do you think?
from dowhy.
from dowhy.
@emrekiciman It looks like there's some good potential to support lots of workflows and philosophies with the package. In particular
(1) a "high abstraction" interface, where the user interacts with the lower-level inference tools via the pandas dataframe API. It's more do-operation oriented ("Pearlian") in philosophy, and still does all the checks an warnings be operating on top of the lower-level abstractions. It builds on top of all of the abstractions you've all built the package around, and is a thin layer on top of the final DoSampler
s. It allows kwargs to pass through to the underlying chain of object creation.
(2) A "lower-abstraction" do operation that requires explicit calls to identify
, etc. It's less user friendly due to the chain of explicit object creation, but is a more flexible and powerful workflow for the power users.
(3) A "lower-abstraction" effect estimator that operates in a similar fashion to (2). That works in a more similar vein as the existing estimators and demos.
Your everyday data science workflow would more likely be built around (1). Social scientists with methodological interests, or power users in quantitative fields might be more interested in (2) and (3). Methodological researchers focused on the statistics of effect estimators might be more interested in (3), with some interest in (2) as well.
from dowhy.
from dowhy.
Related Issues (20)
- Evaluation Metrics for Causal Graphs HOT 4
- Inconsistent encoding with pandas get_dummies causes prediction and effect estimation errors HOT 6
- Falsification of given DAG: not working on simulated data? HOT 4
- Causal Graph not provided. DoWhy will construct a graph based on data inputs. HOT 1
- how to use the function of estimate_effect of CausalModel class? HOT 4
- gcm.arrow_strength providing different ranking HOT 6
- conda release 0.11.1 is missing HOT 1
- File Not Found error in Jupyter Notebook when i use auto.assign_causal_mechnism HOT 8
- buggidy giggidy
- Counterfactual Reasoning with Categorical Variables HOT 3
- Time complexity of constructing cause-and-effect diagram HOT 3
- Support polars data frames HOT 2
- What is the purpose of providing observation data in gcm.conventional_samples()?
- Python 3.12 support HOT 3
- Clarify the differences among refute methods HOT 8
- Feature relevance/Influence HOT 19
- Graphviz installation : --include-path not recognized anymore HOT 4
- Does this package support non-English languages? HOT 2
- Question about Dummy Outcome Refuter HOT 1
- Inconsistency in the placebo_treatment_refuter when using estimate_effect of IV HOT 1
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 dowhy.