# 3. Estimate causal effect based on the identified estimand

DoWhy supports methods based on both back-door criterion and instrumental variables. It also provides a non-parametric confidence intervals and a permutation test for testing the statistical significance of obtained estimate.

## 3.1. Supported estimation methods

- Methods based on estimating the treatment assignment
Propensity-based Stratification

Propensity Score Matching

Inverse Propensity Weighting

- Methods based on estimating the outcome model
Linear Regression

Generalized Linear Models

- Methods based on the instrumental variable equation
Binary Instrument/Wald Estimator

Two-stage least squares

Regression discontinuity

- Methods for front-door criterion and general mediation
Two-stage linear regression

Examples of using these methods are in the Estimation methods notebook.

## 3.2. Using EconML and CausalML estimation methods in DoWhy

It is easy to call external estimation methods using DoWhy. Currently we support integrations with the EconML and CausalML packages. Here’s an example of estimating conditional treatment effects using EconML’s double machine learning estimator.

```
from sklearn.preprocessing import PolynomialFeatures
from sklearn.linear_model import LassoCV
from sklearn.ensemble import GradientBoostingRegressor
dml_estimate = model.estimate_effect(identified_estimand, method_name="backdoor.econml.dml.DML",
control_value = 0,
treatment_value = 1,
target_units = lambda df: df["X0"]>1,
confidence_intervals=False,
method_params={
"init_params":{'model_y':GradientBoostingRegressor(),
'model_t': GradientBoostingRegressor(),
'model_final':LassoCV(),
'featurizer':PolynomialFeatures(degree=1, include_bias=True)},
"fit_params":{}}
)
```

More examples are in the Conditional Treatment Effects with DoWhy notebook.