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


SsaChangePointEstimator Класс

Определение

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

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

Комментарии

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

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

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

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

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

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

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

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

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

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

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

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

Оценка P-значения

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

Обнаружение точек изменения на основе оценки martingale

Оценка мартингала является дополнительным уровнем оценки, который основан на оценках p-value. Идея основана на exchangeability Martingales , которые обнаруживают изменение распределения по потоку i.i.d. значений. Короче говоря, значение оценки martingale начинает значительно увеличиваться, когда последовательность небольших p-значений, обнаруженных в строке; Это означает изменение распределения базового процесса создания данных. Таким образом, оценка martingale используется для обнаружения точек изменения. Учитывая последовательность последних наблюдаемых p-значений, $p 1, \dots, p_n$, оценка martingale вычисляется следующим образом: $s(p1, \dots, p_n) = \prod_{i=1}^n \beta(p_i)$. Существует два варианта $\beta$: $\beta(p) = e p^{\epsilon - 1}$ для $0 < \epsilon < 1$ или $\beta(p) = \int_{0}^1 \epsilon p^{\epsilon - 1} d\epsilon$.

Если оценка martingle превышает $s(q_1, \dots, q_n)$, где $q_i=1 - \frac{\text{confidence}}${100}, связанная метка времени может получить ненулевое значение оповещения для обнаружения точек изменения. Обратите внимание, что $\text{confidence}$ определен в сигнатурах DetectChangePointBySsa или DetectIidChangePoint.

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

Методы

Fit(IDataView)

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

GetOutputSchema(SchemaShape)

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

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

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

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

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

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

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

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