Skip to content

Commit 28cfedd

Browse files
committed
Updated docs and readme
1 parent 98fb3f7 commit 28cfedd

File tree

6 files changed

+34
-32
lines changed

6 files changed

+34
-32
lines changed

README.md

+27-27
Original file line numberDiff line numberDiff line change
@@ -53,29 +53,29 @@ code.
5353
In some cases we would like to know the causal effect of some intervention but we do not
5454
have the counterfactual, making conventional methods of statistical analysis infeasible.
5555
However, it may still be possible to get an unbiased estimate of the causal effect (ATE,
56-
ATE, or ITT) by predicting the counterfactual and comparing it to the observed outcomes.
57-
This is the approach CausalELM takes to conduct interrupted time series analysis,
58-
G-Computation, double machine learning, and metalearning via S-Learners, T-Learners,
59-
X-Learners, R-learners, and doubly robust estimation. In interrupted time series analysis,
60-
we want to estimate the effect of some intervention on the outcome of a single unit that we
61-
observe during multiple time periods. For example, we might want to know how the
62-
announcement of a merger affected the price of Stock A. To do this, we need to know what the
63-
price of stock A would have been if the merger had not been announced, which we can predict
64-
with machine learning methods. Then, we can compare this predicted counterfactual to the
65-
observed price data to estimate the effect of the merger announcement. In another case, we
66-
might want to know the effect of medicine X on disease Y but the administration of X was not
67-
random and it might have also been administered at mulitiple time periods, which would
68-
produce biased estimates. To overcome this, G-computation models the observed data, uses the
69-
model to predict the outcomes if all patients recieved the treatment, and compares it to the
70-
predictions of the outcomes if none of the patients recieved the treatment. Double machine
71-
learning (DML) takes a similar approach but also models the treatment mechanism and uses it
72-
to adjust the initial estimates. This approach has three advantages. First, it is more
73-
efficient with high dimensional data than conventional methods. Metalearners take a similar
74-
approach to estimate the CATE. While all of these models are different, they have one thing
75-
in common: how well they perform depends on the underlying model they fit to the data. To
76-
that end, CausalELMs use bagged ensembles of extreme learning machines because they are
77-
simple yet flexible enough to be universal function approximators with lower varaince than
78-
single extreme learning machines.
56+
ATE, or ITT) by predicting the counterfactual and comparing it to the observed outcomes if
57+
we are able to observe all potential confounders. This is the approach CausalELM takes to
58+
conduct interrupted time series analysis, G-Computation, double machine learning, and
59+
metalearning via S-Learners, T-Learners, X-Learners, R-learners, and doubly robust
60+
estimation. In interrupted time series analysis, we want to estimate the effect of some
61+
intervention on the outcome of a single unit that we observe during multiple time periods.
62+
For example, we might want to know how the announcement of a merger affected the price of
63+
Stock A. To do this, we need to know what the price of stock A would have been if the merger
64+
had not been announced, which we can predict with machine learning methods. Then, we can
65+
compare this predicted counterfactual to the observed price data to estimate the effect of
66+
the merger announcement. In another case, we might want to know the effect of medicine X on
67+
disease Y but the administration of X was not random and it might have also been
68+
administered at mulitiple time periods, which would produce biased estimates. To overcome
69+
this, G-computation models the observed data, uses the model to predict the outcomes if all
70+
patients recieved the treatment, and compares it to the predictions of the outcomes if none
71+
of the patients recieved the treatment. Double machine learning (DML) takes a similar
72+
approach but also models the treatment mechanism and uses it to adjust the initial estimates.
73+
This approach has three advantages. First, it is more efficient with high dimensional data
74+
than conventional methods. Metalearners take a similar approach to estimate the CATE. While
75+
all of these models are different, they have one thing in common: how well they perform
76+
depends on the underlying model they fit to the data. To that end, CausalELMs use bagged
77+
ensembles of extreme learning machines because they are simple yet flexible enough to be
78+
universal function approximators with lower varaince than single extreme learning machines.
7979
</p>
8080

8181
<h2>CausalELM Features</h2>
@@ -92,20 +92,20 @@ single extreme learning machines.
9292

9393
<h2>What's New?</h2>
9494
<ul>
95+
<li>See the JuliaCon 2024 CausalELM demonstration <a href="https://www.youtube.com/watch?v=hh_cyj8feu8&t=26s">here.
96+
<li>Model summaries include confidence intervals and marginal effects<li>
9597
<li>Now includes doubly robust estimator for CATE estimation</li>
9698
<li>All estimators now implement bagging to reduce predictive performance and reduce variance</li>
9799
<li>Counterfactual consistency validation simulates more realistic violations of the counterfactual consistency assumption</li>
98100
<li>Uses a simple heuristic to choose the number of neurons, which reduces training time and still works well in practice</li>
99101
<li>Probability clipping for classifier predictions and residuals is no longer necessary due to the bagging procedure</li>
100-
<li>CausalELM talk has been accepted to JuliaCon 2024!</li>
101102
</ul>
102103

103104
<h2>What's Next?</h2>
104105
<p>
105106
Newer versions of CausalELM will hopefully support using GPUs and provide interpretations of
106-
the results of calling validate on a model that has been estimated. In addition, some
107-
estimators will also support using instrumental variables. However, these priorities could
108-
also change depending on feedback recieved at JuliaCon.
107+
the results of calling validate on a model that has been estimated. We may also add some other
108+
features depending on demand and feedback.
109109
</p>
110110

111111
<h2>Disclaimer</h2>

docs/src/guide/doublemachinelearning.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ We can get a summary of the model by pasing the model to the summarize method.
5454

5555
!!!note
5656
To calculate the p-value, standard error, and confidence interval for the treatment
57-
effect, you can set the inference keyword to false. However, these values are calculated
57+
effect, you can set the inference keyword to true. However, these values are calculated
5858
via randomization inference, which will take a long time. This can be greatly sped up by
5959
launching Julia with more threads and lowering the number of iterations using the n
6060
keyword (at the expense of accuracy).

docs/src/guide/gcomputation.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ We can get a summary of the model by pasing the model to the summarize method.
5555

5656
!!!note
5757
To calculate the p-value, standard error, and confidence interval for the treatment
58-
effect, you can set the inference keyword to false. However, these values are calculated
58+
effect, you can set the inference keyword to true. However, these values are calculated
5959
via randomization inference, which will take a long time. This can be greatly sped up by
6060
launching Julia with more threads and lowering the number of iterations using the n
6161
keyword (at the expense of accuracy).

docs/src/guide/its.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ We can get a summary of the model by pasing the model to the summarize method.
7070

7171
!!!note
7272
To calculate the p-value, standard error, and confidence interval for the treatment
73-
effect, you can set the inference keyword to false. However, these values are calculated
73+
effect, you can set the inference keyword to true. However, these values are calculated
7474
via randomization inference, which will take a long time. This can be greatly sped up by
7575
launching Julia with more threads and lowering the number of iterations using the n
7676
keyword (at the expense of accuracy).

docs/src/guide/metalearners.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ We can get a summary of the model by pasing the model to the summarize method.
7979

8080
!!!note
8181
To calculate the p-value, standard error, and confidence interval for the treatment
82-
effect, you can set the inference keyword to false. However, these values are calculated
82+
effect, you can set the inference keyword to true. However, these values are calculated
8383
via randomization inference, which will take a long time. This can be greatly sped up by
8484
launching Julia with more threads and lowering the number of iterations using the n
8585
keyword (at the expense of accuracy).

docs/src/index.md

+3-1
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,8 @@ weights and provides a form of regularization that does not have to be tuned thr
2727
validation. These attributes make CausalELM a very simple and powerful package for
2828
estimating treatment effects.
2929

30+
For a more interactive overview, see our JuliaCon 2024 talk[here](https://www.youtube.com/watch?v=hh_cyj8feu8&t=26s)
31+
3032
### Features
3133
* Estimate a causal effect, get a summary, and validate assumptions in just four lines of code
3234
* Bagging improves performance and reduces variance without the need to tune a regularization parameter
@@ -38,12 +40,12 @@ estimating treatment effects.
3840
* Codebase is high-quality, well tested, and regularly updated
3941

4042
### What's New?
43+
* Model summaries contain confidence intervals and marginal effects
4144
* Now includes doubly robust estimator for CATE estimation
4245
* All estimators now implement bagging to reduce predictive performance and reduce variance
4346
* Counterfactual consistency validation simulates more realistic violations of the counterfactual consistency assumption
4447
* Uses a simple heuristic to choose the number of neurons, which reduces training time and still works well in practice
4548
* Probability clipping for classifier predictions and residuals is no longer necessary due to the bagging procedure
46-
* CausalELM talk has been accepted to JuliaCon 2024!
4749

4850
### What makes CausalELM different?
4951
Other packages, mainly EconML, DoWhy, CausalAI, and CausalML, have similar funcitonality.

0 commit comments

Comments
 (0)