TimeSeriesCatalog.DetectIidSpike 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
오버로드
DetectIidSpike(TransformsCatalog, String, String, Double, Int32, AnomalySide) |
적응형 커널 밀도 예측 및 martingale 점수를 기반으로 독립적으로 동일하게 분산된(즉, d.d.) 시계열의 급증을 예측하는 CreateIidSpikeEstimator. |
DetectIidSpike(TransformsCatalog, String, String, Int32, Int32, AnomalySide) |
사용되지 않음.
적응형 커널 밀도 예측 및 martingale 점수를 기반으로 독립적으로 동일하게 분산된(즉, d.d.) 시계열의 급증을 예측하는 CreateIidSpikeEstimator. |
DetectIidSpike(TransformsCatalog, String, String, Double, Int32, AnomalySide)
적응형 커널 밀도 예측 및 martingale 점수를 기반으로 독립적으로 동일하게 분산된(즉, d.d.) 시계열의 급증을 예측하는 CreateIidSpikeEstimator.
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
매개 변수
- catalog
- TransformsCatalog
변환의 카탈로그입니다.
- outputColumnName
- String
의 변환에서 생성된 열의 inputColumnName
이름입니다.
열 데이터는 벡터입니다 Double. 벡터에는 경고(0이 아닌 값은 스파이크를 의미함), 원시 점수 및 p-값의 3가지 요소가 포함됩니다.
- inputColumnName
- String
변환할 열의 이름입니다. 열 데이터는 이어야 Single합니다.
이 값으로 null
설정하면 해당 값이 outputColumnName
원본으로 사용됩니다.
- confidence
- Double
범위 [0, 100]의 스파이크 검색에 대한 신뢰도입니다.
- pvalueHistoryLength
- Int32
p-값을 계산하기 위한 슬라이딩 윈도우의 크기입니다.
- side
- AnomalySide
양수 또는 음수 변칙을 검색할지 또는 둘 다를 검색할지를 결정하는 인수입니다.
반환
예제
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; }
}
}
}
적용 대상
DetectIidSpike(TransformsCatalog, String, String, Int32, Int32, AnomalySide)
주의
This API method is deprecated, please use the overload with confidence parameter of type double.
적응형 커널 밀도 예측 및 martingale 점수를 기반으로 독립적으로 동일하게 분산된(즉, d.d.) 시계열의 급증을 예측하는 CreateIidSpikeEstimator.
[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
매개 변수
- catalog
- TransformsCatalog
변환의 카탈로그입니다.
- outputColumnName
- String
의 변환에서 생성된 열의 inputColumnName
이름입니다.
열 데이터는 벡터입니다 Double. 벡터에는 경고(0이 아닌 값은 스파이크를 의미함), 원시 점수 및 p-값의 3가지 요소가 포함됩니다.
- inputColumnName
- String
변환할 열의 이름입니다. 열 데이터는 이어야 Single합니다.
이 값으로 null
설정하면 해당 값이 outputColumnName
원본으로 사용됩니다.
- confidence
- Int32
범위 [0, 100]의 스파이크 검색에 대한 신뢰도입니다.
- pvalueHistoryLength
- Int32
p-값을 계산하기 위한 슬라이딩 윈도우의 크기입니다.
- side
- AnomalySide
양수 또는 음수 변칙을 검색할지 또는 둘 다를 검색할지를 결정하는 인수입니다.
반환
- 특성
예제
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; }
}
}
}