TimeSeriesCatalog.DetectIidSpike Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Overload
DetectIidSpike(TransformsCatalog, String, String, Double, Int32, AnomalySide) |
Buat IidSpikeEstimator, yang memprediksi lonjakan seri waktu independen yang didistribusikan secara identik (i.i.d.) berdasarkan estimasi kepadatan kernel adaptif dan skor martingale. |
DetectIidSpike(TransformsCatalog, String, String, Int32, Int32, AnomalySide) |
Kedaluwarsa.
Buat IidSpikeEstimator, yang memprediksi lonjakan seri waktu independen yang didistribusikan secara identik (i.i.d.) berdasarkan estimasi kepadatan kernel adaptif dan skor martingale. |
DetectIidSpike(TransformsCatalog, String, String, Double, Int32, AnomalySide)
Buat IidSpikeEstimator, yang memprediksi lonjakan seri waktu independen yang didistribusikan secara identik (i.i.d.) berdasarkan estimasi kepadatan kernel adaptif dan skor martingale.
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
Katalog transformasi.
- outputColumnName
- String
Nama kolom yang dihasilkan dari transformasi inputColumnName
.
Data kolom adalah vektor dari Double. Vektor berisi 3 elemen: pemberitahuan (nilai bukan nol berarti lonjakan), skor mentah, dan nilai p.
- inputColumnName
- String
Nama kolom yang akan diubah. Data kolom harus Single.
Jika diatur ke null
, nilai outputColumnName
akan digunakan sebagai sumber.
- confidence
- Double
Keyakinan untuk deteksi lonjakan dalam rentang [0, 100].
- pvalueHistoryLength
- Int32
Ukuran jendela geser untuk menghitung nilai p.
- side
- AnomalySide
Argumen yang menentukan apakah akan mendeteksi anomali positif atau negatif, atau keduanya.
Mengembalikan
Contoh
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; }
}
}
}
Berlaku untuk
DetectIidSpike(TransformsCatalog, String, String, Int32, Int32, AnomalySide)
Perhatian
This API method is deprecated, please use the overload with confidence parameter of type double.
Buat IidSpikeEstimator, yang memprediksi lonjakan seri waktu independen yang didistribusikan secara identik (i.i.d.) berdasarkan estimasi kepadatan kernel adaptif dan skor martingale.
[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
Katalog transformasi.
- outputColumnName
- String
Nama kolom yang dihasilkan dari transformasi inputColumnName
.
Data kolom adalah vektor dari Double. Vektor berisi 3 elemen: pemberitahuan (nilai bukan nol berarti lonjakan), skor mentah, dan nilai p.
- inputColumnName
- String
Nama kolom yang akan diubah. Data kolom harus Single.
Jika diatur ke null
, nilai outputColumnName
akan digunakan sebagai sumber.
- confidence
- Int32
Keyakinan untuk deteksi lonjakan dalam rentang [0, 100].
- pvalueHistoryLength
- Int32
Ukuran jendela geser untuk menghitung nilai p.
- side
- AnomalySide
Argumen yang menentukan apakah akan mendeteksi anomali positif atau negatif, atau keduanya.
Mengembalikan
- Atribut
Contoh
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; }
}
}
}