Counterfactuals

Read this page as horizon-specific reward transfer. The same recovered reward is re-solved under interventions, but the behavioral interpretation still depends on the planning horizon.

The public RHIP wrapper exposes the recovered policy, reward matrix, and value function. It does not yet provide a one-call counterfactual method like the structural likelihood wrappers.

RHIP recovers a linear reward under the additive-linear-reward assumption (\(r_\theta(s, a) = \phi(s,a)^\top \theta\)). That parametric form supports re-solve counterfactuals: change the environment primitives, re-solve the dynamic program under the recovered reward, and compare the resulting policy.

The counterfactual results come from the simulation harness. The harness reruns the dynamic program under controlled changes and compares the recovered-reward policy with the oracle policy. See the simulation study page for the generator script, table source, and results file.

Counterfactual Families

Type

Intervention

Purpose

Type A

Shift rewards and hold transitions fixed.

Payoff counterfactual.

Type B

Change transitions and hold rewards fixed.

State-dynamics counterfactual.

Type C

Disable one non-anchor action.

Action-set or design counterfactual.

Reported Results

These rows come from the high-dimensional route-choice study, averaged over two replications at \(H = 3\).

Counterfactual

Regret

Baseline

0.0201

Type A

0.0197

Type B

0.0136

Type C

0.0205

Regret reports how the policy induced by the recovered reward compares with the oracle counterfactual policy. Numbers for other horizons are in the simulation study table.

IRL Caveat

RHIP is an IRL estimator. The reward is identified only up to behavior-preserving transformations, including additive constants and reward shaping. Counterfactual predictions are in the same normalization as the recovered reward. For predictions that require the true cardinal reward level, a structural estimator that reports standard errors for \(\theta\) is the right choice.

API Boundary

For package users, the stable public objects are the fitted reward, policy, and value arrays (model.reward_matrix_, model.policy_, model.value_). For controlled payoff, transition, or action-set interventions, use the simulation and evaluation utilities with an explicit problem and transition environment.