Skip to content

Commit 1feb8aa

Browse files
committed
update webpage
1 parent 47ff7a1 commit 1feb8aa

10 files changed

Lines changed: 174 additions & 29 deletions

File tree

145 KB
Loading

docs/source/api/local.rst

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
Local Distribution Estimators
2+
==============================
3+
4+
This page documents local distribution treatment effect estimators that compute treatment effects weighted by treatment propensity within each stratum. These estimators are particularly useful for handling treatment assignment heterogeneity across strata.
5+
6+
SimpleLocalDistributionEstimator
7+
--------------------------------
8+
9+
.. autoclass:: dte_adj.SimpleLocalDistributionEstimator
10+
:members:
11+
:undoc-members:
12+
:show-inheritance:
13+
:no-index:
14+
15+
AdjustedLocalDistributionEstimator
16+
----------------------------------
17+
18+
.. autoclass:: dte_adj.AdjustedLocalDistributionEstimator
19+
:members:
20+
:undoc-members:
21+
:show-inheritance:
22+
:no-index:

docs/source/api/plot.rst

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
Plotting Utilities
2+
==================
3+
4+
This page documents plotting utilities for visualizing distribution treatment effects, confidence intervals, and other results.
5+
6+
.. automodule:: dte_adj.plot
7+
:members:
8+
:undoc-members:
9+
:show-inheritance:
10+
:no-index:

docs/source/api/simple.rst

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
Simple Randomization Estimators
2+
===============================
3+
4+
This page documents estimators that work with simple randomized experimental designs where treatment assignment is completely randomized.
5+
6+
These estimators leverage pre-treatment covariates through distributional regression frameworks to improve the precision of distributional treatment effect estimates. The key methodological contribution is using machine learning techniques for variance reduction while maintaining validity as long as nuisance components are reasonably well estimated.
7+
8+
Byambadalai et al. (2024) [#simple2024]_ propose a regression adjustment method that incorporates covariates into distributional regression, enabling deeper insights beyond average treatment effects by estimating full distributional treatment effects in randomized experiments.
9+
10+
.. [#simple2024] Byambadalai, U., Oka, T., & Yasui, S. (2024). Estimating Distributional Treatment Effects in Randomized Experiments: Machine Learning for Variance Reduction. arXiv preprint `arXiv:2407.16037 <https://arxiv.org/abs/2407.16037>`_.
11+
12+
SimpleDistributionEstimator
13+
---------------------------
14+
15+
.. autoclass:: dte_adj.SimpleDistributionEstimator
16+
:members:
17+
:inherited-members:
18+
:undoc-members:
19+
:show-inheritance:
20+
:no-index:
21+
22+
AdjustedDistributionEstimator
23+
-----------------------------
24+
25+
.. autoclass:: dte_adj.AdjustedDistributionEstimator
26+
:members:
27+
:inherited-members:
28+
:undoc-members:
29+
:show-inheritance:
30+
:no-index:

docs/source/api/stratified.rst

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
Covariate Adaptive Randomization Estimators
2+
===========================================
3+
4+
This page documents estimators that work with stratified experimental designs, particularly for covariate-adaptive randomization (CAR) within strata.
5+
6+
These estimators are designed to handle stratified block randomization where participants are grouped into strata based on baseline covariates before treatment assignment. The key methodological contribution is leveraging additional covariates beyond strata indicators using machine learning methods to enhance the precision of distributional treatment effect estimates.
7+
8+
Byambadalai et al. (2025) [#car2025]_ propose a flexible distribution regression framework that achieves the semiparametric efficiency bound for distributional treatment effects under CAR, demonstrating that regression-adjusted estimators can optimally utilize covariate information in stratified designs.
9+
10+
.. [#car2025] Byambadalai, U., Hirata, T., Oka, T., & Yasui, S. (2025). On Efficient Estimation of Distributional Treatment Effects under Covariate-Adaptive Randomization. arXiv preprint `arXiv:2506.05945 <https://arxiv.org/abs/2506.05945>`_.
11+
12+
SimpleStratifiedDistributionEstimator
13+
-------------------------------------
14+
15+
.. autoclass:: dte_adj.SimpleStratifiedDistributionEstimator
16+
:members:
17+
:inherited-members:
18+
:undoc-members:
19+
:show-inheritance:
20+
:no-index:
21+
22+
AdjustedStratifiedDistributionEstimator
23+
---------------------------------------
24+
25+
.. autoclass:: dte_adj.AdjustedStratifiedDistributionEstimator
26+
:members:
27+
:inherited-members:
28+
:undoc-members:
29+
:show-inheritance:
30+
:no-index:

docs/source/api_reference.rst

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
API Reference
2+
=============
3+
4+
This section provides comprehensive documentation for all classes and functions in the dte_adj package. The API is organized into logical groups based on functionality and use cases.
5+
6+
Overview
7+
--------
8+
9+
The dte_adj package provides several types of estimators for computing distribution treatment effects:
10+
11+
* **Simple Randomization Estimators**: For estimating distributional effects in simple randomized experiments where treatment assignment is independent of all covariates
12+
* **Covariate Adaptive Randomization Estimators**: For estimating distributional effects under covariate-adaptive randomization (CAR) designs, including stratified block randomization and other adaptive schemes
13+
* **Local Distribution Estimators**: For estimating local distribution treatment effects weighted by treatment propensity within strata
14+
* **Utility Functions**: Helper functions for confidence intervals and statistical computations
15+
* **Plotting Utilities**: Visualization tools for treatment effects and distributions
16+
17+
For theoretical foundations, see Byambadalai et al. (2024) [#simple2024]_ for simple randomization and Byambadalai et al. (2025) [#car2025]_ for covariate-adaptive randomization.
18+
19+
For multi-task learning approaches that train models for all locations simultaneously (using ``is_multi_task=True``), see the neural network framework in [#multitask2024]_.
20+
21+
.. [#simple2024] Byambadalai, U., Oka, T., & Yasui, S. (2024). Estimating Distributional Treatment Effects in Randomized Experiments: Machine Learning for Variance Reduction. arXiv preprint `arXiv:2407.16037 <https://arxiv.org/abs/2407.16037>`_.
22+
23+
.. [#car2025] Byambadalai, U., Hirata, T., Oka, T., & Yasui, S. (2025). On Efficient Estimation of Distributional Treatment Effects under Covariate-Adaptive Randomization. arXiv preprint `arXiv:2506.05945 <https://arxiv.org/abs/2506.05945>`_.
24+
25+
.. [#multitask2024] Byambadalai, U., Hirata, T., Oka, T., & Yasui, S. (2024). Efficient and Scalable Estimation of Distributional Treatment Effects with Multi-Task Neural Networks. arXiv preprint `arXiv:2507.07738 <https://arxiv.org/abs/2507.07738>`_.
26+
27+
Detailed Documentation
28+
----------------------
29+
30+
.. toctree::
31+
:maxdepth: 2
32+
33+
api/simple
34+
api/stratified
35+
api/local
36+
api/plot

docs/source/get_started.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
Get Started with dte_adj
2-
========================
1+
Get Started
2+
===========
33

44
This page contains basic usage of dte_adj library.
55

docs/source/index.rst

Lines changed: 36 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,49 @@
11
dte_adj
22
=======
33

4-
`dte_adj` is a Python package for estimating distribution treatment effects.
5-
It provides APIs for conducting regression adjustment to estimate precise distribution functions as well as convenient utils.
4+
A Python Package for Estimating Distribution Treatment Effects
5+
--------------------------------------------------------------
6+
7+
`dte_adj` is a Python package for estimating distribution treatment effects in randomized experiments.
8+
It provides APIs for conducting regression adjustment to estimate precise distribution functions, enabling deeper insights beyond average treatment effects through machine learning-enhanced estimation methods.
9+
10+
.. image:: _static/distributional_effect.png
11+
:alt: distributional effect
12+
:height: 400px
13+
:width: 700px
14+
:align: center
15+
16+
Estimator Types
17+
---------------
18+
19+
The package provides several types of estimators for computing distribution treatment effects:
20+
21+
* **Simple Randomization Estimators**: For estimating distributional effects in simple randomized experiments where treatment assignment is independent of all covariates
22+
* **Covariate Adaptive Randomization Estimators**: For estimating distributional effects under covariate-adaptive randomization (CAR) designs, including stratified block randomization and other adaptive schemes
23+
* **Local Distribution Estimators**: For estimating local distribution treatment effects weighted by treatment propensity within strata
24+
25+
Theoretical Foundations
26+
-----------------------
27+
28+
For theoretical foundations, see:
29+
30+
* **Simple randomization**: Byambadalai et al. (2024) [#simple2024]_
31+
* **Covariate-adaptive randomization**: Byambadalai et al. (2025) [#car2025]_
32+
* **Multi-task learning**: Byambadalai et al. (2024) [#multitask2024]_
33+
34+
.. [#simple2024] Byambadalai, U., Oka, T., & Yasui, S. (2024). Estimating Distributional Treatment Effects in Randomized Experiments: Machine Learning for Variance Reduction. arXiv preprint `arXiv:2407.16037 <https://arxiv.org/abs/2407.16037>`_.
35+
36+
.. [#car2025] Byambadalai, U., Hirata, T., Oka, T., & Yasui, S. (2025). On Efficient Estimation of Distributional Treatment Effects under Covariate-Adaptive Randomization. arXiv preprint `arXiv:2506.05945 <https://arxiv.org/abs/2506.05945>`_.
37+
38+
.. [#multitask2024] Byambadalai, U., Hirata, T., Oka, T., & Yasui, S. (2024). Efficient and Scalable Estimation of Distributional Treatment Effects with Multi-Task Neural Networks. arXiv preprint `arXiv:2507.07738 <https://arxiv.org/abs/2507.07738>`_.
639
740
.. toctree::
841
:maxdepth: 1
942
:caption: Contents:
1043

1144
installation
1245
get_started
13-
modules
46+
api_reference
1447
contributing
1548

1649
Indices and tables

docs/source/modules.rst

Lines changed: 0 additions & 16 deletions
This file was deleted.

dte_adj/__init__.py

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -200,17 +200,17 @@ def predict_qte(
200200
201201
import numpy as np
202202
from dte_adj import SimpleStratifiedDistributionEstimator
203-
203+
204204
# Generate stratified sample data
205205
X = np.random.randn(1000, 5)
206206
strata = np.random.choice([0, 1, 2], size=1000)
207207
D = np.random.binomial(1, 0.5, 1000)
208208
Y = X[:, 0] + 2 * D + 0.5 * strata + np.random.randn(1000)
209-
209+
210210
# Fit stratified estimator
211211
estimator = SimpleStratifiedDistributionEstimator()
212212
estimator.fit(X, D, Y, strata)
213-
213+
214214
# Compute QTE at specific quantiles
215215
quantiles = np.array([0.25, 0.5, 0.75]) # 25th, 50th, 75th percentiles
216216
qte, lower, upper = estimator.predict_qte(
@@ -219,7 +219,7 @@ def predict_qte(
219219
quantiles=quantiles,
220220
n_bootstrap=100
221221
)
222-
222+
223223
print(f"QTE at quantiles {quantiles}: {qte}")
224224
print(f"Median effect (50th percentile): {qte[1]:.3f}")
225225
"""
@@ -238,7 +238,7 @@ def predict_qte(
238238
qtes = np.zeros((n_bootstrap, qte.shape[0]))
239239
for b in range(n_bootstrap):
240240
bootstrap_indexes = np.random.choice(indexes, size=n_obs, replace=True)
241-
241+
242242
qtes[b] = self._compute_qtes(
243243
target_treatment_arm,
244244
control_treatment_arm,
@@ -381,18 +381,18 @@ def find_quantile(quantile, arm):
381381
# Temporarily store original strata and use the provided strata
382382
original_strata = self.strata
383383
self.strata = strata
384-
384+
385385
val, _, _ = self._compute_cumulative_distribution(
386386
arm,
387387
np.full((1), locations[mid]),
388388
covariates,
389389
treatment_arms,
390390
outcomes,
391391
)
392-
392+
393393
# Restore original strata
394394
self.strata = original_strata
395-
395+
396396
if val[0] <= quantile:
397397
result = locations[mid]
398398
low = mid + 1

0 commit comments

Comments
 (0)