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


IidChangePointEstimator Класс

Определение

Обнаружение изменения сигнала на независимо распределенных (i.i.d.) временных рядах на основе адаптивной оценки плотности ядра и мартингалов.

public sealed class IidChangePointEstimator : Microsoft.ML.Data.TrivialEstimator<Microsoft.ML.Transforms.TimeSeries.IidChangePointDetector>
type IidChangePointEstimator = class
    inherit TrivialEstimator<IidChangePointDetector>
Public NotInheritable Class IidChangePointEstimator
Inherits TrivialEstimator(Of IidChangePointDetector)
Наследование

Комментарии

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

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

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

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

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

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

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

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

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

Этот обучающий объект предполагает, что точки данных, собранные в временных рядах, независимо отбираются из одного распределения (независимо распределенного одинаково). Таким образом, значение в текущей метке времени можно рассматривать как значение в следующей метке времени в ожидании. Если наблюдаемое значение в метке времени $t-1$ равно $p$, прогнозируемое значение с меткой времени $t$ будет также $p$.

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

После вычисления необработанной оценки в метке времени он будет отправляться компоненту оценки аномалий, чтобы вычислить окончательную оценку аномалий на этой метке времени. Есть две статистические данные, участвующие в этом бомбардире, 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)

Обнаружение изменения сигнала на независимо распределенных (i.i.d.) временных рядах на основе адаптивной оценки плотности ядра и мартингалов.

(Унаследовано от TrivialEstimator<TTransformer>)
GetOutputSchema(SchemaShape)

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

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

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

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

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

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

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

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