xai4tsc.evaluation.timefrequency_perturbation

Time-frequency perturbation metrics (STFT pixel-flipping).

Like FrequencyEvaluator but in the time-frequency (STFT) domain. The plain variant (TimeFrequencyEvaluator) zeroes the most-important coefficients; the Gaussian variant (TimeFrequencyEvaluatorGaussian) smears each removed coefficient with a Gaussian kernel before blending toward the baseline (a softer, spectrogram-aware perturbation). Both are PerturbationEvaluator subclasses.

Classes

TimeFrequencyEvaluator

Time-frequency perturbation curve (STFT pixel-flipping).

TimeFrequencyEvaluatorGaussian

Time-frequency perturbation with a Gaussian-smeared baseline replacement.

Module Contents

class xai4tsc.evaluation.timefrequency_perturbation.TimeFrequencyEvaluator(transform: xai4tsc.utils.fourier_transforms.DomainTransform | None = None, features_in_step: int | None = None, perturb_baseline: float = 0.0, return_aoc_per_sample: bool = False)

Bases: xai4tsc.evaluation.frequency_evaluate.PerturbationEvaluator

Time-frequency perturbation curve (STFT pixel-flipping).

Like FrequencyEvaluator but in the time-frequency (STFT) domain: the most-important STFT coefficients are zeroed. See PerturbationEvaluator for the constructor parameters.

required_domains: ClassVar[set[xai4tsc.xai._types.Domain]]

Explanation domains this evaluator requires; empty means any domain.

class xai4tsc.evaluation.timefrequency_perturbation.TimeFrequencyEvaluatorGaussian(transform: xai4tsc.utils.fourier_transforms.DomainTransform | None = None, features_in_step: int | None = None, perturb_baseline: float = 0.0, return_aoc_per_sample: bool = False, sigma: collections.abc.Sequence[float] = (5.0, 1.0))

Bases: TimeFrequencyEvaluator

Time-frequency perturbation with a Gaussian-smeared baseline replacement.

Parameters:
sigma = (5.0, 1.0)