ridgeplot._kde module

Kernel density estimation (KDE) utilities.

ridgeplot._kde.KDEPoints: TypeAlias = int | collections.abc.Collection[int | numpy.integer[typing_extensions.Any] | float | numpy.floating[typing_extensions.Any]]

The ridgeplot.ridgeplot.kde_points parameter.

ridgeplot._kde.KDEBandwidth: TypeAlias = str | float | collections.abc.Callable[[collections.abc.Collection[int | numpy.integer[typing_extensions.Any] | float | numpy.floating[typing_extensions.Any]], statsmodels.sandbox.nonparametric.kernels.CustomKernel], float]

The ridgeplot.ridgeplot.bandwidth parameter.

ridgeplot._kde._is_sample_weights(obj)[source]

Type guard for SampleWeights.

Examples

>>> _is_sample_weights("definitely not")
False
>>> _is_sample_weights([1, 2, 3.14])
True
>>> _is_sample_weights([1, 2, "3"])
False
>>> _is_sample_weights(None)
True
ridgeplot._kde._is_shallow_sample_weights(obj)[source]

Type guard for ShallowSampleWeightsArray.

Examples

>>> _is_shallow_sample_weights("definitely not")
False
>>> _is_shallow_sample_weights([1, 2, 3])
False
>>> _is_shallow_sample_weights([[1, 2, 3], [4, 5, 6]])
True
>>> _is_shallow_sample_weights([[1, 2, "3"], [4, 5, None]])
False
>>> _is_shallow_sample_weights([[1, 2, 3], None])
True
ridgeplot._kde.normalize_sample_weights(sample_weights, samples)[source]

Normalize the sample weights to the correct shape.

Examples

>>> samples = [[[1, 2], [3, 4]], [[5, 6]]]
>>> normalize_sample_weights(None, samples)
[[None, None], [None]]
>>> normalize_sample_weights([8, 9], samples)
[[[8, 9], [8, 9]], [[8, 9]]]
>>> weights = [[[0, 1], None], [[2, 3]]]
>>> normalize_sample_weights(weights, samples) == weights
True
>>> normalize_sample_weights([None, [0, 1]], samples)
[[None, None], [[0, 1]]]
ridgeplot._kde.estimate_density_trace(trace_samples, points, kernel, bandwidth, weights=None)[source]

Estimates a density trace from a set of samples.

For a given set of sample values, computes the kernel densities (KDE) at the given points.

ridgeplot._kde._validate_densities(x, y, kernel)[source]
ridgeplot._kde.estimate_densities(samples, points, kernel, bandwidth, sample_weights=None)[source]

Perform KDE for a set of samples.