Freigeben über


TimeSeriesCatalog.DetectIidSpike Methode

Definition

Überlädt

DetectIidSpike(TransformsCatalog, String, String, Double, Int32, AnomalySide)

Erstellen Sie IidSpikeEstimator, die Spitzen in unabhängig verteilten (i.i.d.) Zeitreihen basierend auf adaptiven Kerneldichteschätzungen und Martingale-Bewertungen vorhersagt.

DetectIidSpike(TransformsCatalog, String, String, Int32, Int32, AnomalySide)
Veraltet.

Erstellen Sie IidSpikeEstimator, die Spitzen in unabhängig verteilten (i.i.d.) Zeitreihen basierend auf adaptiven Kerneldichteschätzungen und Martingale-Bewertungen vorhersagt.

DetectIidSpike(TransformsCatalog, String, String, Double, Int32, AnomalySide)

Erstellen Sie IidSpikeEstimator, die Spitzen in unabhängig verteilten (i.i.d.) Zeitreihen basierend auf adaptiven Kerneldichteschätzungen und Martingale-Bewertungen vorhersagt.

public static Microsoft.ML.Transforms.TimeSeries.IidSpikeEstimator DetectIidSpike (this Microsoft.ML.TransformsCatalog catalog, string outputColumnName, string inputColumnName, double confidence, int pvalueHistoryLength, Microsoft.ML.Transforms.TimeSeries.AnomalySide side = Microsoft.ML.Transforms.TimeSeries.AnomalySide.TwoSided);
static member DetectIidSpike : Microsoft.ML.TransformsCatalog * string * string * double * int * Microsoft.ML.Transforms.TimeSeries.AnomalySide -> Microsoft.ML.Transforms.TimeSeries.IidSpikeEstimator
<Extension()>
Public Function DetectIidSpike (catalog As TransformsCatalog, outputColumnName As String, inputColumnName As String, confidence As Double, pvalueHistoryLength As Integer, Optional side As AnomalySide = Microsoft.ML.Transforms.TimeSeries.AnomalySide.TwoSided) As IidSpikeEstimator

Parameter

catalog
TransformsCatalog

Der Katalog der Transformation.

outputColumnName
String

Name der Spalte, die aus der Transformation von inputColumnName. Die Spaltendaten sind ein Vektor von Double. Der Vektor enthält 3 Elemente: Warnung (Nicht-Null-Wert bedeutet einen Spitzenwert), unformatierte Bewertung und p-Wert.

inputColumnName
String

Name der Spalte, die transformiert werden soll. Die Spaltendaten müssen Singlesein. nullWenn festgelegt auf , wird der Wert des outputColumnName Werts als Quelle verwendet.

confidence
Double

Die Vertrauenswürdigkeit für die Spitzenerkennung im Bereich [0, 100].

pvalueHistoryLength
Int32

Die Größe des gleitenden Fensters für das Berechnen des P-Werts.

side
AnomalySide

Das Argument, das bestimmt, ob positive oder negative Anomalien oder beides erkannt werden sollen.

Gibt zurück

Beispiele

using System;
using System.Collections.Generic;
using Microsoft.ML;
using Microsoft.ML.Data;

namespace Samples.Dynamic
{
    public static class DetectIidSpikeBatchPrediction
    {
        // This example creates a time series (list of Data with the i-th element
        // corresponding to the i-th time slot). The estimator is applied then to
        // identify spiking points in the series.
        public static void Example()
        {
            // Create a new ML context, for ML.NET operations. It can be used for
            // exception tracking and logging, as well as the source of randomness.
            var ml = new MLContext();

            // Generate sample series data with a spike
            const int Size = 10;
            var data = new List<TimeSeriesData>(Size + 1)
            {
                new TimeSeriesData(5),
                new TimeSeriesData(5),
                new TimeSeriesData(5),
                new TimeSeriesData(5),
                new TimeSeriesData(5),

                // This is a spike.
                new TimeSeriesData(10),

                new TimeSeriesData(5),
                new TimeSeriesData(5),
                new TimeSeriesData(5),
                new TimeSeriesData(5),
                new TimeSeriesData(5),
            };

            // Convert data to IDataView.
            var dataView = ml.Data.LoadFromEnumerable(data);

            // Setup the estimator arguments
            string outputColumnName = nameof(IidSpikePrediction.Prediction);
            string inputColumnName = nameof(TimeSeriesData.Value);

            // The transformed data.
            var transformedData = ml.Transforms.DetectIidSpike(outputColumnName,
                inputColumnName, 95.0d, Size / 4).Fit(dataView).Transform(dataView);

            // Getting the data of the newly created column as an IEnumerable of
            // IidSpikePrediction.
            var predictionColumn = ml.Data.CreateEnumerable<IidSpikePrediction>(
                transformedData, reuseRowObject: false);

            Console.WriteLine($"{outputColumnName} column obtained " +
                $"post-transformation.");

            Console.WriteLine("Data\tAlert\tScore\tP-Value");

            int k = 0;
            foreach (var prediction in predictionColumn)
                PrintPrediction(data[k++].Value, prediction);

            // Prediction column obtained post-transformation.
            // Data    Alert   Score P-Value
            // 5       0       5.00    0.50
            // 5       0       5.00    0.50
            // 5       0       5.00    0.50
            // 5       0       5.00    0.50
            // 5       0       5.00    0.50
            // 10      1       10.00   0.00   <-- alert is on, predicted spike
            // 5       0       5.00    0.26
            // 5       0       5.00    0.26
            // 5       0       5.00    0.50
            // 5       0       5.00    0.50
            // 5       0       5.00    0.50
        }

        private static void PrintPrediction(float value, IidSpikePrediction
            prediction) =>
            Console.WriteLine("{0}\t{1}\t{2:0.00}\t{3:0.00}", value,
            prediction.Prediction[0], prediction.Prediction[1],
            prediction.Prediction[2]);

        class TimeSeriesData
        {
            public float Value;

            public TimeSeriesData(float value)
            {
                Value = value;
            }
        }

        class IidSpikePrediction
        {
            [VectorType(3)]
            public double[] Prediction { get; set; }
        }
    }
}

Gilt für:

DetectIidSpike(TransformsCatalog, String, String, Int32, Int32, AnomalySide)

Achtung

This API method is deprecated, please use the overload with confidence parameter of type double.

Erstellen Sie IidSpikeEstimator, die Spitzen in unabhängig verteilten (i.i.d.) Zeitreihen basierend auf adaptiven Kerneldichteschätzungen und Martingale-Bewertungen vorhersagt.

[System.Obsolete("This API method is deprecated, please use the overload with confidence parameter of type double.")]
public static Microsoft.ML.Transforms.TimeSeries.IidSpikeEstimator DetectIidSpike (this Microsoft.ML.TransformsCatalog catalog, string outputColumnName, string inputColumnName, int confidence, int pvalueHistoryLength, Microsoft.ML.Transforms.TimeSeries.AnomalySide side = Microsoft.ML.Transforms.TimeSeries.AnomalySide.TwoSided);
public static Microsoft.ML.Transforms.TimeSeries.IidSpikeEstimator DetectIidSpike (this Microsoft.ML.TransformsCatalog catalog, string outputColumnName, string inputColumnName, int confidence, int pvalueHistoryLength, Microsoft.ML.Transforms.TimeSeries.AnomalySide side = Microsoft.ML.Transforms.TimeSeries.AnomalySide.TwoSided);
[<System.Obsolete("This API method is deprecated, please use the overload with confidence parameter of type double.")>]
static member DetectIidSpike : Microsoft.ML.TransformsCatalog * string * string * int * int * Microsoft.ML.Transforms.TimeSeries.AnomalySide -> Microsoft.ML.Transforms.TimeSeries.IidSpikeEstimator
static member DetectIidSpike : Microsoft.ML.TransformsCatalog * string * string * int * int * Microsoft.ML.Transforms.TimeSeries.AnomalySide -> Microsoft.ML.Transforms.TimeSeries.IidSpikeEstimator
<Extension()>
Public Function DetectIidSpike (catalog As TransformsCatalog, outputColumnName As String, inputColumnName As String, confidence As Integer, pvalueHistoryLength As Integer, Optional side As AnomalySide = Microsoft.ML.Transforms.TimeSeries.AnomalySide.TwoSided) As IidSpikeEstimator

Parameter

catalog
TransformsCatalog

Der Katalog der Transformation.

outputColumnName
String

Name der Spalte, die aus der Transformation von inputColumnName. Die Spaltendaten sind ein Vektor von Double. Der Vektor enthält 3 Elemente: Warnung (Nicht-Null-Wert bedeutet einen Spitzenwert), unformatierte Bewertung und p-Wert.

inputColumnName
String

Name der Spalte, die transformiert werden soll. Die Spaltendaten müssen Singlesein. nullWenn festgelegt auf , wird der Wert des outputColumnName Werts als Quelle verwendet.

confidence
Int32

Die Vertrauenswürdigkeit für die Spitzenerkennung im Bereich [0, 100].

pvalueHistoryLength
Int32

Die Größe des gleitenden Fensters für das Berechnen des P-Werts.

side
AnomalySide

Das Argument, das bestimmt, ob positive oder negative Anomalien oder beides erkannt werden sollen.

Gibt zurück

Attribute

Beispiele

using System;
using System.Collections.Generic;
using Microsoft.ML;
using Microsoft.ML.Data;

namespace Samples.Dynamic
{
    public static class DetectIidSpikeBatchPrediction
    {
        // This example creates a time series (list of Data with the i-th element
        // corresponding to the i-th time slot). The estimator is applied then to
        // identify spiking points in the series.
        public static void Example()
        {
            // Create a new ML context, for ML.NET operations. It can be used for
            // exception tracking and logging, as well as the source of randomness.
            var ml = new MLContext();

            // Generate sample series data with a spike
            const int Size = 10;
            var data = new List<TimeSeriesData>(Size + 1)
            {
                new TimeSeriesData(5),
                new TimeSeriesData(5),
                new TimeSeriesData(5),
                new TimeSeriesData(5),
                new TimeSeriesData(5),

                // This is a spike.
                new TimeSeriesData(10),

                new TimeSeriesData(5),
                new TimeSeriesData(5),
                new TimeSeriesData(5),
                new TimeSeriesData(5),
                new TimeSeriesData(5),
            };

            // Convert data to IDataView.
            var dataView = ml.Data.LoadFromEnumerable(data);

            // Setup the estimator arguments
            string outputColumnName = nameof(IidSpikePrediction.Prediction);
            string inputColumnName = nameof(TimeSeriesData.Value);

            // The transformed data.
            var transformedData = ml.Transforms.DetectIidSpike(outputColumnName,
                inputColumnName, 95.0d, Size / 4).Fit(dataView).Transform(dataView);

            // Getting the data of the newly created column as an IEnumerable of
            // IidSpikePrediction.
            var predictionColumn = ml.Data.CreateEnumerable<IidSpikePrediction>(
                transformedData, reuseRowObject: false);

            Console.WriteLine($"{outputColumnName} column obtained " +
                $"post-transformation.");

            Console.WriteLine("Data\tAlert\tScore\tP-Value");

            int k = 0;
            foreach (var prediction in predictionColumn)
                PrintPrediction(data[k++].Value, prediction);

            // Prediction column obtained post-transformation.
            // Data    Alert   Score P-Value
            // 5       0       5.00    0.50
            // 5       0       5.00    0.50
            // 5       0       5.00    0.50
            // 5       0       5.00    0.50
            // 5       0       5.00    0.50
            // 10      1       10.00   0.00   <-- alert is on, predicted spike
            // 5       0       5.00    0.26
            // 5       0       5.00    0.26
            // 5       0       5.00    0.50
            // 5       0       5.00    0.50
            // 5       0       5.00    0.50
        }

        private static void PrintPrediction(float value, IidSpikePrediction
            prediction) =>
            Console.WriteLine("{0}\t{1}\t{2:0.00}\t{3:0.00}", value,
            prediction.Prediction[0], prediction.Prediction[1],
            prediction.Prediction[2]);

        class TimeSeriesData
        {
            public float Value;

            public TimeSeriesData(float value)
            {
                Value = value;
            }
        }

        class IidSpikePrediction
        {
            [VectorType(3)]
            public double[] Prediction { get; set; }
        }
    }
}

Gilt für: