zhat and Background for Confidence Intervals
In this section, we provide some reference material useful for writing programs that compute confidence intervals.
xhat
Unless you are directly using mid-level functionality, your
code may need to write the root node nonanticipative variable values
(called xhat or xhat_one) to a file for later processing. This is
typically done using sputils.ef_ROOT_nonants_npy_serializer
, which
is shown in various examples, e.g., examples.farmer.farmer.py
zhat4xhat
The program zhat4xhat
estimates approximate confidence intervals
for the objective function value, zhat, given an xhat. See
examples.farmer.farmer_zhat.bash
for a bash script that first
creates the xhat file, then computes an out-of-sample confidence
interval for it. Note: this program does not compute a confidence
interval for zstar, which is done using software documented in
MMW confidence interval:.
Note: at the time of this writing, zhat4xhat does
not support a starting scenario other than the first scenario, so
some care might be needed if you want to avoid including scenarios
used to compute xhat.
seedoffset
Most of the confidence interval code assumes that is can pass in a
seed, particularly to the scenario_creator
function so that
replicates can be obtained. See examples.farmer.farmer.py
for an
example.
When only a small number of scenarios are available, the
scenario_creator
function may need to take care to avoid
attempting to access non-existent scenarios. If the data are provided
in files, then seedoffset is a bit of a misnomer, but it needs to be
added to scenarios numbers to get the scenario number. Note: to date,
there is no code in the confidence interval code-base that rescales
probabilities, so unlike the rest of mpi-sppy, present confidence
interval code assumes equally likely scenarios.