SrCnnAnomalyEstimator Класс

Определение

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

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

Комментарии

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

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

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

Историческая справка

Корпорация Майкрософт разработала службу обнаружения аномалий временных рядов, которая помогает клиентам непрерывно отслеживать временные ряды и своевременно оповещать о потенциальных инцидентах. Для решения проблемы обнаружения аномалий временных рядов мы предлагаем новый алгоритм, основанный на спектральных остатках (SR) и сверточной нейронной сети (CNN). Модель sr позаимствована из области обнаружения визуальной салиентности в обнаружение аномалий временных рядов. И здесь мы в первую очередь добавили этот алгоритм SR.

Алгоритм спектральных остатков (SR) неконтролируется, что означает, что шаг обучения не требуется при использовании SR. Он состоит из трех основных этапов: (1) преобразование Фурье для получения спектра амплитуды журнала; (2) вычисление спектральных остатков; (3) Обратное преобразование Фурье, которое преобразует последовательность обратно в пространственный домен. Математически, если задана последовательность $\mathbf{x}$, у нас есть $$A(f) = Amplitude(\mathfrak{F}(\mathbf{x})\P(f) = Phrase(\mathfrak{F}(\mathbf{x}))\L(f) = log(A(f)\AL(f) = h_n(f) \cdot L(f))\R(f) = L(f) - AL(f)\S(\mathbf{x}) = \mathfrak{F}^{-1}(exp(R(f) + P(f))^{2})$$ где $\mathfrak{F}$ и $\mathfrak{F}^{-1}$ обозначает Преобразование Фурье и Обратное преобразование Фурье соответственно. $\mathbf{x}$ — это входная последовательность с фигурой $n × 1$; $A(f)$ — это спектр амплитуд последовательности $\mathbf{x}$; $P(f)$ — соответствующий спектр фаз последовательности $\mathbf{x}$; $L(f)$ — это представление журнала $A(f)$; и $AL(f)$ — это средний спектр $L(f)$, который можно приблизить путем свертки входной последовательности $h_n(f)$, где $h_n(f)$ — матрица n$ $n ×, определенная как $$n_f(f) = \begin{bmatrix}1&1&1&\cdots&1\1&1&1&\cdots&1\\vdots&\vdots&\vdots&\ddots&\vdots\1&1&1&\cdots&1\ end{bmatrix}$$ $R(f)$ является спектральным остатком, т. е. спектр журнала $L(f)$, вычитающий усредненный спектр журналов $AL(f)$. Спектральный остаток служит сжатым представлением последовательности, в то время как инновационная часть исходной последовательности становится более значительной. Наконец, мы передаем последовательность обратно в пространственный домен с помощью обратного преобразования Фурье. Результирующий $S(\mathbf{x})$ называется картой салиентности. Учитывая $S карты сальности(\mathbf{x})$, выходная последовательность $O(\mathbf{x})$ вычисляется следующим образом: $$O(x_i) = \begin{cases}1, if \frac{S(x_i)-\overline{S(x_i)}}{S(x_i)} > \tau\0,\end{cases}$$ где $x_i$ представляет произвольную точку в последовательности $\mathbf{x}$; $S(x_i)$is соответствующую точку на карте сальности; а $\overline{S(x_i)}$ — локальное среднее для предыдущих точек $S(x_i)$.

Существует несколько параметров для алгоритма SR. Чтобы получить модель с хорошей производительностью, мы рекомендуем сначала настроить windowSize и threshold , это наиболее важные параметры sr. Затем можно найти соответствующее решениеWindowSize , размер которого не превышает значение windowSize. А для остальных параметров можно использовать значение по умолчанию напрямую.

Дополнительные сведения см. в статье Служба обнаружения аномалий временных рядов на сайте Майкрософт .

Методы

Fit(IDataView)

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

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

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

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

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

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

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

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

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

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