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. |