DistributionCDF¶
Calculate the cumulative distribution function (CDF) of a provided (wired-in) probability distribution at the given point(s) in the event space.
For univariate distributions, this quantifies the probability that a value drawn from the distribution will be less than the given cutoff, or equivalently, the distribution's probability mass that lies to the left of the given "cutoff" value. For multivariate distributions, the cutoff is itself multivariate, and the result is the probability mass in the section of the event space where all axes are less than the corresponding value at that axis. The CDF is not implemented for all combinations of distributions and backends, and if not, you may opt to use the scipy backend to have the greatest chance of success. This is generally a scalar, but the value will be an array if the distribution itself is batched, as in, is parameterized by a batch of parameters (e.g., multiple sets of locations or scales) and/or if the given value is itself a batch. In these cases, the shape of the result is (sample_shape, batch_shape) where sample_shape is the shape of value without the last n dimension(s), if the distribution is multivariate (n=1) or matrix-variate (n=2). For the distributions defined in the distributions package, the CDF is generally the analytic, i.e. exact, result, but for sampling-based distributions (e.g., those output by one of the Inference nodes), this will be an approximation. For distributions defined over multiple named random variables (e.g., posterior distributions), the result will be of the same format as the value, i.e., either a Packet or a dictionary of arrays. More Info... Version 1.0.0
Ports/Properties¶
dist¶
Distribution to use.
- verbose name: Dist
- default value: None
- port type: DataPort
- value type: Distribution (can be None)
- data direction: IN
value¶
Cutoff value at which to evaluate the CDF, and result.
- verbose name: Value
- default value: None
- port type: DataPort
- value type: object (can be None)
- data direction: INOUT
set_breakpoint¶
Set a breakpoint on this node. If this is enabled, your debugger (if one is attached) will trigger a breakpoint.
- verbose name: Set Breakpoint (Debug Only)
- default value: False
- port type: BoolPort
- value type: bool (can be None)
metadata¶
User-definable meta-data associated with the node. Usually reserved for technical purposes.
- verbose name: Metadata
- default value: {}
- port type: DictPort
- value type: dict (can be None)
axis_pairing¶
How to pair axes of the distribution and the operand. In 'positional' mode, axes are paired by their position according to a right alignment, that is, the last axis of the first operand is paired with the last axis of the second operand, and so on, while any missing axes behave as if they were unnamed axes of length 1 (this is the same way plain n-dimensional arrays pair in Python/numpy). In 'matched' mode, axes are paired by their type and optionally label, where the axis order of the first operand is preserved in the output, optionally with additional axes that only occur in the subsequent operands prepended on the left. The other operands then have their axes reordered to match. In matched mode, the axes will also follow the order dictated by any ambient plate (With Stacked Variables) context if those contexts were set to pertain to an axis. All axis classes are treated as distinct, except for the plain axis, which is treated as a wildcard axis that can pair with any other axis. The 'default' value resolves to a value that may be overridden in special contexts (mainly the ambient Inference node) and otherwise resolves to the setting of the configuration variable default_axis_pairing, which is set to 'positional' in 2024.x. See also the 'label_handling' property for how labels are treated in this mode. Note that axis pairing can be subtle, and it is recommended to not blindly trust that the default behavior is always what the user intended.
- verbose name: Axis Pairing
- default value: default
- port type: EnumPort
- value type: str (can be None)
label_pairing¶
How to treat axis labels when pairing axes in 'matched' mode. In 'always' mode, labels are always considered significant, and axes with different labels are always considered distinct, which means that, if the two operands each have an axis of same type but with different labels, each operand will have a singleton axis inserted to pair with the respective axis in the other operand. In 'ignore' mode, labels are entirely ignored when pairing axes; this means that, if multiple axes of the same type occur in one or more operands, the last space axis in the first operand is paired with the last space axis in the second operand, etc. as in positional mode. In 'auto' mode, labels are only considered significant if they are necessary for distinguishing two or more axes of the same type in any of the operands, or if they occur on a plain axis.
- verbose name: Label Pairing
- default value: auto
- port type: EnumPort
- value type: str (can be None)