Поделиться через


SsaSpikeEstimator Класс

Определение

Обнаружение пиков временных рядов с помощью анализа сингулярного спектра.

public sealed class SsaSpikeEstimator : Microsoft.ML.IEstimator<Microsoft.ML.Transforms.TimeSeries.SsaSpikeDetector>
type SsaSpikeEstimator = class
    interface IEstimator<SsaSpikeDetector>
Public NotInheritable Class SsaSpikeEstimator
Implements IEstimator(Of SsaSpikeDetector)
Наследование
SsaSpikeEstimator
Реализации

Комментарии

Чтобы создать этот оценщик, используйте DetectSpikeBySsa

Входные и выходные столбцы

Существует только один входной столбец. Входной столбец должен содержать SingleSingle значение, указывающее значение в метке времени в временных рядах.

Он создает столбец, который является вектором с 3 элементами. Выходной вектор последовательно содержит уровень оповещений (ненулевое значение означает точку изменения), оценку и p-значение.

Характеристики оценщика

Должен ли этот оценщик просмотреть данные для обучения его параметров? Да
Тип данных входного столбца Single
Тип данных выходного столбца Вектор из 3 элементов Double
Экспортируемый в ONNX Нет

Характеристики оценщика

Задача машинного обучения Обнаружение аномалий
Требуется ли нормализация? Нет
Требуется ли кэширование? Нет
Требуется NuGet в дополнение к Microsoft.ML Microsoft.ML.TimeSeries

Сведения об алгоритме обучения

Этот класс реализует общее преобразование обнаружения аномалий на основе анализа сингулярного спектра (SSA). SSA — это мощная платформа для разложения временных рядов на компоненты тренда, сезонности и шума, а также прогнозирования будущих значений временных рядов. В принципе SSA выполняет спектральный анализ входных временных рядов, где каждый компонент в спектре соответствует тренду, сезонному или шумному компоненту в временных рядах. Дополнительные сведения об анализе сингулярного спектра (SSA) см. в этом документе.

Оценка аномалий

После вычисления необработанной оценки в метке времени он будет отправляться компоненту оценки аномалий, чтобы вычислить окончательную оценку аномалий на этой метке времени.

Обнаружение пиков на основе p-значения

Оценка p-значения указывает, является ли текущая точка выбросом (также известной как пик). Чем ниже его значение, тем более вероятно, что это всплеск. Оценка p-value всегда находится в $[0, 1]$.

Эта оценка представляет собой p-значение текущей вычисляемой необработанной оценки в соответствии с распределением необработанных оценок. Здесь распределение оценивается на основе последних необработанных значений оценки до определенной глубины в истории. В частности, это распределение оценивается с помощью оценки плотности ядра с гаусскими ядрами адаптивной пропускной способности.

Если оценка p-значения превышает $1 – \frac{\text{достоверность}}{100}$, связанная метка времени может получить ненулевое значение оповещения при обнаружении пиков, что означает обнаружение точки пиков. Обратите внимание, что $\text{confidence}$ определен в сигнатурах DetectIidSpike и DetectSpikeBySsa.

Ссылки на примеры использования см. в разделе "См. также".

Методы

Fit(IDataView)

Обучить и вернуть преобразователь.

GetOutputSchema(SchemaShape)

Распространение схемы для преобразователей. Возвращает схему вывода данных, если входная схема похожа на указанную.

Методы расширения

AppendCacheCheckpoint<TTrans>(IEstimator<TTrans>, IHostEnvironment)

Добавьте "контрольную точку кэширования" в цепочку оценщика. Это гарантирует, что подчиненные оценщики будут обучены на основе кэшированных данных. Рекомендуется использовать контрольную точку кэширования перед обучением, которые принимают несколько данных.

WithOnFitDelegate<TTransformer>(IEstimator<TTransformer>, Action<TTransformer>)

Учитывая оценщик, верните объект-оболочку, который будет вызывать делегат один раз Fit(IDataView) . Часто важно, чтобы оценщик возвращал сведения о том, что было положено, поэтому Fit(IDataView) метод возвращает специально типизированный объект, а не просто общий ITransformer. Однако в то же время часто IEstimator<TTransformer> формируются в конвейеры со многими объектами, поэтому нам может потребоваться создать цепочку оценщиков, где EstimatorChain<TLastTransformer> оценщик, для которого мы хотим получить преобразователь, похоронен где-то в этой цепочке. В этом сценарии мы можем подключить делегат, который будет вызываться после вызова соответствия.

Применяется к

См. также раздел