# Probability¶

class Probability(outcome, alpha_prior=0.5, validate=True)[source]

Compute the mean probability of a single measurement outcome from counts.

This node returns the mean and standard deviation of a single measurement outcome probability $$p$$ estimated from the observed counts. The mean and variance are computed from the posterior Beta distribution $$B(\alpha_0^\prime,\alpha_1^\prime)$$ estimated from a Bayesian update of a prior Beta distribution $$B(\alpha_0, \alpha_1)$$ given the observed counts.

The mean and variance of the Beta distribution $$B(\alpha_0, \alpha_1)$$ are:

$\text{E}[p] = \frac{\alpha_0}{\alpha_0 + \alpha_1}, \quad \text{Var}[p] = \frac{\text{E}[p] (1 - \text{E}[p])}{\alpha_0 + \alpha_1 + 1}$

Given a prior Beta distribution $$B(\alpha_0, \alpha_1)$$, the posterior distribution for the observation of $$F$$ counts of a given outcome out of $$N$$ total shots is a $$B(\alpha_0^\prime,\alpha_1^\prime):math:$$ with

$\alpha_0^\prime = \alpha_0 + F, \quad \alpha_1^\prime = \alpha_1 + N - F.$

Note

The default value for the prior distribution is Jeffery’s Prior $$\alpha_0 = \alpha_1 = 0.5$$ which represents ignorance about the true probability value. Note that for this prior the mean probability estimate from a finite number of counts can never be exactly 0 or 1. The estimated mean and variance are given by

$\text{E}[p] = \frac{F + 0.5}{N + 1}, \quad \text{Var}[p] = \frac{\text{E}[p] (1 - \text{E}[p])}{N + 2}$

This node will deprecate standard error provided by the previous node.

Initialize a counts to probability data conversion.

Parameters:
• outcome (str) – The bitstring for which to return the probability and variance.

• alpha_prior (float | Sequence[float]) – A prior Beta distribution parameter [alpha0, alpha1]. If specified as float this will use the same value for alpha0 and alpha1 (Default: 0.5).

• validate (bool) – If set to False the DataAction will not validate its input.

Raises:

DataProcessorError – When the dimension of the prior and expected parameter vector do not match.

Methods

__call__(data)

Call the data action of this node on the data.

Parameters:

data (ndarray) – A numpy array with arbitrary dtype. If the elements are ufloat objects consisting of a nominal value and a standard error, then the error propagation is done automatically.

Returns:

The processed data.

Return type:

ndarray