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