-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
403d1c7
commit 6a804fb
Showing
1 changed file
with
45 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1,45 @@ | ||
# confounding-robust-policy-improvement | ||
# confounding-robust-policy-improvement | ||
|
||
|
||
|
||
```ConfoundingRobustPolicy``` is a wrapper object. The main choices are: | ||
- Optimizer | ||
- Gradient-based approaches | ||
- Global optimization | ||
- Uncertainty set and weight subproblem solution | ||
- This is passed to the gradient-based approach as a function callback for computing the optimal weights. | ||
- Performance Evaluation | ||
- simulation (known dgp) | ||
- observational data (pass in propensity scores, evaluate by IPW) | ||
- Type of treatment | ||
- binary treatment (we reparametrize with respect to the probability of assigning ```T=1```) | ||
- multiple treatments | ||
|
||
|
||
The ```.fit()``` method is specialized to handle various combinations of the above configurations. | ||
|
||
```ConfoundingRobustPolicy``` takes as input: | ||
- ```baseline_pol``` (function returning baseline policy) | ||
|
||
|
||
```ConfoundingRobustPolicy.fit()``` takes as input: | ||
- ```X``` data | ||
- ```T``` data (integer-coded) | ||
- ```Y``` | ||
- ```q0``` nominal propensities | ||
- ```log gamma``` series of sensitivity parameters to optimize over (some approaches leverage the nested structure of uncertainty sets | ||
- ```optimization params``` a dictionary of optimization parameters | ||
- ```eval_conf``` a dictionary of evaluation parameters. | ||
|
||
```optimization params``` is a dictionary with the following configuration parameters: | ||
-```optimizer```: function callback, e.g. ```get_opt_tree_policy``` | ||
-```pol_opt```: name of policy class | ||
- ```unc_set_type```: indicator of uncertainty set type (interval or budgeted) | ||
- ```opt_params```: method-specific parameters (e.g. step size for gradients; tree depth for optimal tree) | ||
- ```BASELINE_POL```: ctrl_p_1_mt, | ||
-```type```:'IPW' | ||
|
||
Performance Evaluation | ||
- For multiple treatments: ```oracle_risk``` is a function that takes in the ``` n x k ``` matrix of policy assignment probabilities (robust, and baseline), integer-coded treatments. ```oracle_risk``` sums over treatment partitions. | ||
|
||
## Algorithms for optimizing Policies |