Calculate analytical and numerical bounds on a conditional expectation function
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


Calculates analytical and numerical bounds on a conditional expectation function when underlying data are interval censored on the x axis.

Code for Partial Identification of Expectations with Interval Data

This is a set of programs that bounds a conditional expectation function E(y|x), when x is uniformly distributed but only observed in a discrete set of non-overlapping intervals. The bounds are described in the paper above.

The method is valid for any conditional expectation function with uniformly distributed x. For extensions to other known distributions, see the paper.

The current setup calculates bounds under structural assumptions of monotonicity and a curvature constraint, but is flexible to arbitrary restrictions.

  • get_cef_bounds.m -- Numerically calculate bounds on E(y|x) given interval censored data on x, under a monotonicity and smoothness restriction.

  • Analytically calculate E(y|x) or E(y|x in (a,b)).

  • bound_generic_fun.m Numerically calculate E(y|x), E(y|x in (a,b)) or any arbitrary function of the CEF, given a curvature constraint.

  • Helper functions when E(y|x) = E(child outcome | parent outcome).

  • Helper functions when E(y|x) = E(Prob(death) | education rank).

The Stata files calculate analytical bounds on E(y|x in (a, b)) for an arbitrary interval (a, b). The Matlab files calculate numerical bounds on the conditional expectation function, as well as on an arbitrary function of the CEF (Proposition 1, and Equations 2.3 and 2.4).

Usage is described in the code files.