Last modified: December 2023

URL: https://cxc.cfa.harvard.edu/sherpa/ahelp/plot_pvalue.html
Jump to: Description · Examples · PARAMETERS · Notes · Bugs · See Also


AHELP for CIAO 4.16 Sherpa

plot_pvalue

Context: plotting

Synopsis

Compute and plot a histogram of likelihood ratios by simulating data.

Syntax

plot_pvalue(null_model, alt_model, conv_model=None, id=1, otherids=(),
num=500, bins=25, numcores=None, replot=False, overplot=False,
clearwindow=True, **kwargs)

conv_model - optional
id - int or str, optional
otherids - sequence of int or str, optional
num - int, optional
bins - int, optional
numcores - optional
replot - bool, optional
overplot - bool, optional
clearwindow - bool, optional

Description

Compare the likelihood of the null model to an alternative model by running a number of simulations to calibrate the likelihood ratio test statistics. The distribution of the simulated likelihood ratios is plotted and compared to the likelihoods of the two models fit to the observed data. The fit statistic must be set to a likelihood-based method, such as "cash" or "cstat". Screen output is created as well as the plot; these values can be retrieved with `get_pvalue_results` .

The algorithm is based on the description in Sec.5.2 in "Statistics, Handle with Care: Detecting Multiple Model Components with the Likelihood Ratio Test" by Protassov et al., 2002, The Astrophysical Journal, 571, 545; <doi:10.1086/339856>


Examples

Example 1

Use the likelihood ratio to see if the data in data set 1 has a statistically-significant gaussian component:

>>> create_model_component('powlaw1d', 'pl')
>>> create_model_component('gauss1d', 'gline')
>>> plot_pvalue(pl, pl + gline)

Example 2

Use 1000 simulations and use the data from data sets 'core', 'jet1', and 'jet2':

>>> mdl1 = pl
>>> mdl2 = pl + gline
>>> plot_pvalue(mdl1, mdl2, id='core', otherids=('jet1', 'jet2'),
...             num=1000)

Example 3

Apply a convolution to the models before fitting:

>>> rsp = get_psf()
>>> plot_pvalue(mdl1, mdl2, conv_model=rsp)

PARAMETERS

The parameters for this function are:

Parameter Definition
null_model The model expression for the null hypothesis.
alt_model The model expression for the alternative hypothesis.
conv_model An expression used to modify the model so that it can be compared to the data (e.g. a PSF or PHA response).
id The data set that provides the data. The default is 1.
otherids Other data sets to use in the calculation.
num The number of simulations to run. The default is 500.
bins The number of bins to use to create the histogram. The default is 25.
numcores The number of CPU cores to use. The default is to use all the cores on the machine.
replot Set to True to use the values calculated by the last call to `plot_pvalue` . The default is False .
overplot If True then add the data to an exsiting plot, otherwise create a new plot. The default is False .
clearwindow Should the existing plot area be cleared before creating this new plot (e.g. for multi-panel plots)?

Notes

Each simulation involves creating a data set using the observed data simulated with Poisson noise.

For the likelihood ratio test to be valid, the following conditions must hold:


Bugs

See the bugs pages on the Sherpa website for an up-to-date listing of known bugs.

See Also

contrib
get_data_prof, get_data_prof_prefs, get_delchi_prof, get_delchi_prof_prefs, get_fit_prof, get_model_prof, get_model_prof_prefs, get_resid_prof, get_resid_prof_prefs, get_source_prof, get_source_prof_prefs, plot_chart_spectrum, plot_marx_spectrum, prof_data, prof_delchi, prof_fit, prof_fit_delchi, prof_fit_resid, prof_model, prof_resid, prof_source
data
get_arf_plot, get_bkg_chisqr_plot, get_bkg_delchi_plot, get_bkg_fit_plot, get_bkg_model_plot, get_bkg_plot, get_bkg_ratio_plot, get_bkg_resid_plot, get_bkg_source_plot
info
list_model_ids, show_bkg_model, show_bkg_source
modeling
add_model, add_user_pars, clean, create_model_component, delete_bkg_model, delete_model, delete_model_component, get_model, get_model_autoassign_func, get_model_component, get_model_component_image, get_model_component_plot, get_model_plot, get_num_par, get_num_par_frozen, get_num_par_thawed, get_order_plot, get_par, get_pileup_model, get_source, get_source_component_image, get_source_component_plot, get_source_contour, get_source_image, get_source_plot, get_xsabund, get_xscosmo, get_xsxsect, get_xsxset, image_model, image_model_component, image_source, image_source_component, integrate, link, load_table_model, load_template_interpolator, load_template_model, load_user_model, normal_sample, reset, save_model, save_source, set_bkg_model, set_bkg_source, set_full_model, set_model, set_model_autoassign_func, set_pileup_model, set_source, set_xsabund, set_xscosmo, set_xsxsect, set_xsxset, t_sample, uniform_sample
plotting
get_cdf_plot, get_energy_flux_hist, get_pdf_plot, get_photon_flux_hist, get_pvalue_plot, get_pvalue_results, get_split_plot, plot, plot_arf, plot_bkg, plot_bkg_chisqr, plot_bkg_delchi, plot_bkg_fit, plot_bkg_fit_delchi, plot_bkg_fit_resid, plot_bkg_model, plot_bkg_ratio, plot_bkg_resid, plot_bkg_source, plot_cdf, plot_chisqr, plot_data, plot_delchi, plot_energy_flux, plot_fit, plot_fit_delchi, plot_fit_resid, plot_model, plot_model_component, plot_order, plot_pdf, plot_photon_flux, plot_ratio, plot_resid, plot_scatter, plot_source, plot_source_component, plot_trace, set_xlinear, set_xlog, set_ylinear, set_ylog
psfs
delete_psf, load_conv, plot_kernel
saving
save_delchi, save_resid
statistics
get_chisqr_plot, get_delchi_plot
utilities
calc_chisqr, calc_energy_flux, calc_model_sum, calc_photon_flux, calc_source_sum, calc_stat, eqwidth
visualization
contour_model, contour_ratio, contour_resid